1с постоянно зависает отладка
В любой организации, временами случается проблема с «подвисанием» компьютерных программ. Пожалуй, самая неприятная ситуация, это когда зависает 1С Бухгалтерия. Программа теряет свое главное преимущество в глазах пользователей — «Быстродействие».
Так как, практически вся финансовая деятельность организаций завязывается на этом программном продукте, эффект от неприятного торможения обязательно скажется на всей инфраструктуре компании. Сделки не осуществляются, работа стоит, продажи падают, клиенты недовольны. Поэтому, устранение неприятности становится самой приоритетной задачей.
Чтобы разрешить проблему, в первую очередь, необходимо зафиксировать те участки программы, пользователей и виды операций, которые зависают. Нужно постараться составить наиболее точную картину ситуации: время происшествия, характер затруднения, разница в скорости выполнения требуемой операции. Все это поможет более точно описать возникшие проблемы, во время обращения к программистам за помощью.
В любой организации, временами случается проблема с «подвисанием» компьютерных программ. Пожалуй, самая неприятная ситуация, это когда из-за слабой работоспособности компьютера зависает 1С Бухгалтерия. Программа теряет свое главное преимущество в глазах пользователей — «Быстродействие».
Так как, практически вся финансовая деятельность организаций завязывается на этом программном продукте, эффект от неприятного торможения обязательно скажется на всей инфраструктуре компании. Сделки не осуществляются, работа стоит, продажи падают, клиенты недовольны. Поэтому, устранение неприятности становится самой приоритетной задачей.
Чтобы разрешить проблему, в первую очередь, необходимо зафиксировать те участки программы, пользователей и виды операций, которые зависают. Нужно постараться составить наиболее точную картину ситуации: время происшествия, характер затруднения, разница в скорости выполнения требуемой операции. Все это поможет более точно описать возникшие проблемы, во время обращения к программистам за помощью.
Общие причины зависаний 1C:
- Нехватка мощности рабочего компьютера;
- Слишком большой объем информации;
- Не целевое использование программного продукта;
- Излишек дополнительных, второстепенных функций;
- Ошибки в установленных настройках.
Наиболее распространенные виды проблем, возникающих при эксплуатации:
Очень долгий запуск системы
Причины замедления запуска 1С могут быть различны. Распространенные факторы, мешающие программе правильно запуститься:
При сложной конфигурации, первый запуск программы действительно может занять некоторое время. Замедление, является результатом обязательного стандартного кэширования. Этот процесс проводится один раз, при первом запуске и в дальнейшем старт будет проходить более оперативно.
Причиной медленного запуска 1С может быть массовое обращение к различным модулям, большое количество обработок.
- Скорость компиляции и исполнение второстепенных задач
В процессе отсылки к тексту какого-нибудь модуля может замедлиться компиляция. Значительное количество модулей вызывает заметное торможение.
На заметку! Эта проблема может быть разрешена проведением своевременной модификации—оптимизации. В итоге отключится исполнение многих второстепенных задач подключенных к старту системы, тем самым «облегчив» сам запуск.
- Разрешение на авто подключение к интернету, автообновление, автопоиск информации.
Возможно, программа при запуске автоматически обращается в интернет для считывания необходимой информации. Это тоже весомый повод для зависания.
Очень долгое открытие форм
Причиной очень долгого открывания форм может быть:
Большое количество элементов управления требует значительного времени на создание форм, и их взаимной увязки с компонентами. Для решения этой проблемы желательно упростить сами формы. Оставить только необходимые компоненты, а второстепенным элементам создать новую форму.
Количество алгоритмов при инициализации влияет на скорость автоматической проверки условий или считыванию необходимой информации из базы. Облегчить процесс можно оптимизировав создание и открытие формы. Отключить неактуальные алгоритмы и упростить инициализацию.
Очень долгая реакция на интерактивные действия пользователя
Если программа медленно реагирует на действия пользователя при попытке выбрать значение в элементе формы, то «виновников» возникновения проблемы необходимо искать:
Каждый раз при выполнении данного действия, алгоритмами производится проверка или просчитывание сведений, влияющих на режим выбора значения. Применив «Замер производительности» можно отыскать проблемные алгоритмы, изучить затруднения, созданные ими и оптимизировать процесс.
Формы выбора настроены на погрузку всего ассортимента элементов из базы. Устранить это недоразумение можно, тоже тщательным изучением реализации формы выбора. Проверить установленные свойства, настройки и отключить «тяжелые» алгоритмы.
Очень долгая реакция на обновления
Еще одна существенная проблема при использовании 1С Бухгалтерия — это зависание программы во время стандартного обновления. Как правило, сбои возникают во время запуска резервного копирования. В основном, такое случается в момент обновления программы через интернет. Поводом для возникновения внештатной ситуации бывает:
- Не соблюдение установленных сроков обновления.
Несвоевременные обновления, в результате чего релизы вынужденно устанавливаются друг на друга в хаотичном порядке, создадут в итоге ошибку. Для предупреждения таких обстоятельств, желательно вовремя проводить обновления или установить автоматическое обновление программы.
Кстати! Фоновое обновление программного обеспечения тоже может стать причиной для замедления некоторых процессов во время работы. Этот фактор нужно обязательно учитывать, при выяснении причин зависаний 1С.
Возможно, программе попросту не хватает оперативной памяти компьютера, и добавление объема может положительно отразиться в динамике работы.
Долгая запись объектов/проведение документов
Для выявления точной причины долгой записи или блокировки, желательно провести статистический анализ. Опция «Замер производительности» поможет проанализировать журнал регистрации, где зафиксированы и идентифицированы все транзакции. Итоги анализа могут указать на закономерные причины зависаний 1С:
Если по результатам анализа на зависание влияет не количество пользователей, а определенное время суток, вполне вероятно, что в момент произведения записи сервер в фоновом режиме проводит процедуры, установленные регламентом.
Причина монопольных блокировок интуитивно понятна — количество пользователей. Кто-то из сослуживцев занял что-то для проведения какой-то операции. Оставшимся специалистам остается только ждать, когда получится продолжить свой рабочий процесс. Причем блокировка будет длиться до конца транзакции. Например, чтобы не создавать подобных «пробок», лучше выбирать запрос — для чтения и объектную модель — при записи.
Одна из возможных причин может крыться в состоянии оборудования, которое имеет низкую пропускную способность.
Квалифицированное решение
Зависание 1С может возникнуть не только от вышеуказанных проблем. Чаще всего торможение может быть результатом неудачной установки самой платформы на компьютер. Как бы то ни было, разбираться в ситуации самостоятельно, без знания технических основ программы очень рискованно. Даже самый лучший бухгалтер с многолетним стажем и уверенный пользователь программы, не всегда сможет правильно оценить причины возникшей проблемы. Поэтому, лучше всего доверить разрешение конфликта с квалифицированным специалистам. Техническая услуга «Оптимизация производительности 1С» поможет разом решить все наболевшие проблемы.
Проведение оптимизации по повышению производительности включает в себя: поиск и устранение блокировок в коде, включение управляемых блокировок, настройку СУБД, подбор подходящего сервера и необходимых составляющих для 1С.
Мы имеем обширный опыт в оптимизации программы 1С, и оказываем комплексные услуги «скорой» технической помощи. Чтобы связаться с нами и узнать условия сотрудничества:
- Оставьте заявку на нашем сайте или позвоните нам по телефону;
- Менеджер уточнит причины обращения и зафиксирует проблему;
- Наши специалисты проведут технический аудит и экспертизу;
- Проведут полную оптимизацию 1С.
После проведения оптимизации производительности 1С, значительно повысится производительность программы. Улучшится работа систем, что в свою очередь, повысит эффективность работы всего персонала. Вы сможете, наконец, спокойно заниматься своим любимым и важным делом.
Передача параметров из управляемой формы обработки в управляемую форму другой обработки
Есть 2 обработки, в одной из них(Назовём её первой) есть кнопка, при нажатии на которую открывается.
Вы называете число. Я возвращаю результат обработки этого числа. Вы отгадываете принцип обработки
Давненько не разминали мозги по-серьёзному. Вот вспомнил детскую забаву опять же 50-летней давности.
Моделирование обработки сигналов с датчиков. Ускорение обработки сигнала
Нужна помощь по лабораторной: Сигналы от датчиков поступают на вход системы обработки информации.
Дана матрица целых чисел размером 4x3. Отсортировать каждую строку матрицы по убыванию. Вывести содержимое матрицы до обработки и после обработки
Дана матрица целых чисел размером 4x3. Отсортировать каждую строку матрицы по убыванию. Вывести.
sergeevna_khm, еще раз говорю что нужно анализировать код. Такое встречается на разных ПК из за алгоритма (простой пример: нет паузы в алгоритме на запись файла, на одном ПК файл успевает записаться до передачи управления назад в 1С, на более медленном ПК управление 1С возвращается раньше чем был записан файл, программа зависает так как не знает что делать без файла)
Добавлено через 1 минуту
соответственно и при отладке (ты тормозишь алгоритм) и что то успевает отрабатывать (а без отладки не успевает)
Добавлено через 2 минуты
Случайно не КомандаСистемы() или ЗапуститьПриложение() используется ?
компонента следит за каталогом, при изменении каталога просто открывает форму, и следит себе дальше.
На следующих этапах все действия никак не связанны с компонентой.
На форме есть возможность получить данные с сайта. мы их получаем, создаем документ, записываем документ и все. Получается на одном компе формочка открывается. данные с сайта отлично считываются. документ проводится.
На втором - формочка открывается, данные с сайта получаются, (Данные записываются в ТЧ обработки, никаких файлов), и на основании этих данных, когда нажимаем на кнопочку, грубо говоря создать документ, зависает 1с полностью. В пошаговом режиме, сори за повторение, документик на ура создается.
А, считать данные с сайта и создать документ - две отдельных команды, это я к тому что без отладки они в двух случаях отрабатывают хорошо.
Я прошу прощение за столь разжеванную интерпретацию проблемы, просто пытаюсь убедится действительно ли приведенный вами аргумент может относится к моему случаю, кода при себе нету, могу алгоритм примерный только изложить. просто хочется найти решение до утра, или несколько возможно подходящих решений =) с теми данными что есть.
sergeevna_khm, ну я привел самый простой пример и никак не имел ввиду конкретно ваш случай!
Еще раз повторюсь, ошибка может быть не так тривиальна как в моем примере и в большинстве случаев (из моей практики) трудно уловима, нужно анализировать код, без кода как гадание на кофейной гуще
Использовать режим отладки в 1С необходимо при проектировании и тестировании типовых и самостоятельно разработанных конфигураций любой сложности. Данный механизм помогает разработчикам не только устранить выявленные ошибки, но и предусмотреть многие узкие места до запуска системы в эксплуатацию. Чтобы использовать все возможности этого режима платформы 1С:Предприятие 8.3, надо не только включить его, но и знать предназначение его основных инструментов.
Включение режима отладки на сервере 1С
Если вы работаете в клиент-серверном варианте, то надо, чтобы пользоваться всеми функциями отладчика 1С, пройти процедуру включения отладки на сервере. Она не занимает много времени и не требует обширных знаний, но аккуратным быть все-таки придется, ведь процесс затронет изменение реестра на сервере.
Включить отладку в 1С вы сможете по следующему алгоритму:
- Перейдите на сервер 1С и откройте регистр через функцию «Выполнить» из меню «Пуск». Также можно воспользоваться одновременным нажатием клавиш Windows и R на клавиатуре. Введите команду открытия регистра - «regedit»;
- В открывшемся окне в дереве слева пройдите по пути: «HKEY_LOCAL_MACHINE», «SYSTEM», «ControlSet001», «services», «1С:Enterprise 8.3 Server Agent»;
- Выделив нижний пункт, в правой части находим реквизит с именем «ImagePath» и меняем его с помощью контекстного меню. Чтобы подключить отладку на сервере, к существующему пути добавляем строку « -debug»;
- Осталось лишь перезапустить агент сервера 1С и можно использовать режим отладки на сервере.
Чтобы запустить отладку через клиентское приложение, заходим в 1С в режиме конфигуратора и выбираем в меню «Отладка» нужный режим. Большинство современных конфигураций работают в режиме тонкого клиента, соответственно, и отлаживать работоспособность лучше в данном виде клиента. Если в вашей конфигурации используются различные виды клиентов, то для большего спокойствия протестировать функционал можно во всех режимах. В момент запуска режима отладки 1С открывает режим «Предприятие».
Как только запуск 1С в режиме отладки произошел, вы увидите практически аналогичное окно программы. Единственное отличие будет снизу – 1С показывает статистику по количествам вызовов на сером фоне. Но если вы переключитесь в этот момент в конфигуратор, то заметите, что верхняя панель изменилась. Появились новые кнопки, с помощью которых вы и будете управлять режимом отладки.
Чтобы получить максимум пользы от отладки серверных процедур, нужно знать основные возможности этого режима, их назначение и способы применения. Конечно, невозможно все понять на теоретическом уровне, но когда вы ознакомитесь с основами, то на практике вам будет намного легче. К тому же, большинство особенностей отладки используется редко, поэтому глубокие знания этого механизма могут пригодиться только через несколько лет работы.
Среди тех возможностей режима отладки «Предприятия», которыми разработчики 1С пользуются регулярно, можно выделить следующие:
- Точки останова;
- Пошаговая отладка кода;
- Просмотр значений;
- Стек вызовов.
Функции отладки 1С
Основная возможность отладки заключается в том, чтобы при работе в режиме Предприятия 1С запустить отладку и проверить, как отрабатывает код. Для этого разработчики 1С устанавливают точку останова на строке алгоритма. Чтобы это сделать, необходимо выделить мышкой строку и нажать кнопку с изображением красного круга. Также вы можете щелкнуть дважды на полосе слева от текста модуля или воспользоваться «горячей» клавишей F9.
Чтобы увидеть установленные точки останова, воспользуйтесь меню «Отладка». Там вы сможете убрать все точки, отключить их, добавить новую и ознакомиться с «горячими» клавишами. Также в этом меню можно установить точку останова с условием (в виде синего круга). Она пригодится в ситуациях, когда вам нужно проверять код при выполнении условия, которое вам придется прописать при установке точки.
Еще один полезный механизм из этого меню – «Остановка по ошибке», позволяющий останавливаться только в недопустимых ситуациях. После остановки вы попадаете в конфигуратор и можете использовать другие возможности отладки. К примеру, перемещаться по строкам кода с помощью специальных клавиш, описанных в меню «Отладка», где сверху выведены более популярные функции. Разница между F10 и F11 заключается в том, что в первом случае вы будете попадать во вложенные функции и процедуры.
Серверная отладка в 1С хороша еще и тем, что вы можете посмотреть значение переменных после выполнения каждой строки кода. Простейший вариант – просто навести курсор мыши, и 1С высветит значение в выплывающем окне. Но в платформе, в меню «Отладка», встроены еще два инструмента:
- Табло. При вызове открывается окно, в котором можно перетащить переменные, выделив их двойным нажатием в коде. В окне показывается их значение и тип на протяжении всей отладки – можно следить за изменением в процессе выполнения алгоритма;
- Вычислить выражение. Механизм для ситуаций, когда разработчик хочет смоделировать, какие данные он может получить на текущем ходе алгоритма. Позволяет писать любые выражения и показывает их значение.
Иногда разработчикам необходимо узнать последовательность вызова процедур в алгоритме. Для этого им пригодится механизм стека вызовов из меню «Отладка». При его вызове открывается окно, в котором вы можете увидеть, из какой процедуры была вызвана та, где находится курсор отладки.
Знать и применять все эти инструменты важно для проведения тестов, перед тем как перенести свои доработки на рабочую базу. Вышеперечисленного набора механизмов более чем достаточно для успешной продуктивной работы разработчика в 1С. Но также важно следить за новым функционалом, так как отладка на сервере 1С 8.3 через несколько лет может приобрести новые возможности.
Разберем основные случаи когда и почему не работает отладка 1С.
1. В списке предметов отладки не видны серверные сеансы
Возможно сервер 1С запущен не в режиме отладки. Для того чтобы включить режим отладки, службу сервера 1С нужно запустить с ключом -debug. Пошаговый разбор как это сделать тут.
2. В списке предметов отладки не видны ни клиентские ни серверные сеансы.
Еще одной причиной отсутствия предметов отладки в списке является то, что предметы отладки находится не на том компьютере где запущен отладчик 1С. Актуально как для серверных так и для клиентских сеансов. Для решения проблемы обычно достаточно указать имя удаленного компьютера для поиска предметов отладки и обновить список.
Если и после этого список пустой, то нужно вбить вместо имени IP-адрес удалённого компьютера. В случае если это помогло, то рекомендуется прописать привязки имен и IP-адресов компьютеров в файле hosts. Если и это не помогло то необходимо проверить настройку фаервола, разрешены ли на сервере 1С (или удаленном клиенте) входящие соединения с компьютера где запущен отладчик на порты 1560-1591.
3. В списке предметов отладки не видны клиентские сеансы.
4. Предмет отладки виден в конфигураторе и подключается, но точка останова все равно не срабатывает на строке кода.
Данная проблема актуальна при отладке по протоколу TCP. Причина в том что отладчик не может принимать входящие соединение из-за того что брандмауер или фаервол блокируют сетевое взаимодействие между отладчиком и предметом отладки. Тут нужно понимать, что отладчик не только устанавливает исходящее соединение с предметом отладки, но также должен иметь возможность принимать входящее соединение. Проблема решается отключением фаервола на компьютере где запущен отладчик либо открытием входящих соединений на портах 1560-1591 для исполняемого файла 1cv8.exe.
5. Программный код выполняется в сеансе фонового задания.
В типовых конфигурациях 1С широко использует запуск длительных процедур в фоновом режиме. Для этого на сервере запускается отдельный фоновый сеанс помимо основного серверного сеанса пользователя. Проблема решается включением автоматического подключения отладчика к фоновым сеансам. После этого как правило отладка начинает работать, если нет проблем с фаерволом описанных выше.
Подводим итоги
Напоследок стоит отметить, что как правило отладка производиться на тестовом сервере 1С, который запускается на портах отличных от типового диапазона 1560-1561. Поэтому, все изложенное выше в части номеров портов, следует рассматривать в контексте ваших реально используемых диапазонов портов.
Читайте также: