1с как работает таблово

Обновлено: 05.07.2024

В этой статье я разберу пять интересных, нужных и, самое главное, эффективных инструментов по отладке кода в конфигураторе 1С, которые существенно облегчат жизнь 1С программисту.

Очень часто, особенно когда возникает ошибка в непонятном куске кода, нужно понять каким путем программа пришла именно в этот кусок кода. В этом поможет нужный инструмент – стек вызовов. Данный инструмент необходимо запустить, когда сработала точка останова. Стек вызовов запускается, или через главное меню

 Стек вызова запуск через главное меню

Или, используя панель «Отладка конфигурации»

Стек вызова запуск через панель отладка конфигурации

После запуска, откроется окно, в котором будет показан путь к текущему методу снизу вверх. В самом верху списка будет процедура (функция), где сработала точка останова.

Стек вызова

Если кликнуть по какой-нибудь строке стека вызова, то произойдет открытее модуля, в котором находится процедура или функция, указанная в этой строке. Причем курсор установится на то место кода, где произошел переход на метод более верхнего уровня.

Переход на метод в строке стека вызова

На этом рисунке мы кликнули на вторую сверху строку стека вызова, и открылось место в модуле, где произошел вызов процедуры «ПечатнаяФорма», в которой сработала точка останова.

Работайте со стеком вызова всегда, когда программа имеет разветвленную структуру процедур и функций, это существенно облегчит Вашу жизнь.

Обычно, разработчики запускают отладку кода в конфигураторе 1С, используя кнопку «Начать отладку».

Кнопка Начать отладку

Этот метод очень удобен, и, конечно же, имеет право на жизнь. Но очень часто могут возникать следующие ситуации:

  • 1С: Предприятие уже запущенно и в нем выполняется какой-то процесс, остановить Вы его не можете
  • Нужно отладить работу программы под пользователем, у которого нет прав на работу с конфигуратором

В этом случае, после открытия конфигуратора 1С необходимо подключить отладку к уже запущенному сеансу. Сделать это можно при помощи команды «Подключение» меню «Отладка».

Команда подключение меню отладка

После выполнения команды выйдет окно «Предметы отладки», где в верхней таблице будут перечислены пользователи, к которым можно подключиться, а так же типы подключения (тонкий клиент, сервер), в том случае, когда отлаживаете управляемое приложение.

Окно предметы отладки

Чтобы начать отлаживать нужный тип подключения, достаточно выделить соответствующую строку и нажать на кнопку «Подключить» (дважды кликнуть левой кнопкой мышки).

Заметьте, если Вы подключите отладку только на сервере, как на рисунке выше, то сможете работать только с кодом, который выполняется в серверном контексте. Если же код в клиентском контексте, то точка останова в этом месте кода не сработает.

Справедливо и наоборот: если подключена отладка только на клиенте, то можно работать только с клиентским контекстом формы. Отлаживать код в серверном контексте формы, в также в процедурах и функциях модулей объектов, менеджеров и т.д. не будет возможно.

Подключение отладки в серверном контексте

Подробно о клиентском и серверном контексте формы читайте в моей книге: Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов

Обычно, нельзя подключиться к пользовательскому сеансу. Чтобы это стало возможным, необходимо в параметрах пользовательского приложения 1С включить возможность отладки. Установить в параметр «Откладка в текущем сеансе» значение «Разрешена (протокол TCP/IP)» , когда отлаживаем работу по локальной сети.

Параметры пользовательского сеанса

Включение отладки в сеансе пользователя по протоколу TCP/IP

В этом случае отладка будет включена единовременно. Если мы хотим, чтобы под этим пользователем всегда была включена отладка, то нужно в параметр «Отладка при перезапуске» установить значение «Разрешена (протокол TCP/IP)»

Включение отладки при перезапуске TCP/IP

Очень часто нужно остановиться в каком-то месте кода не просто так, а когда какая-нибудь переменная принимает определенное значение. В этом нам поможет точка останова с условием.

Точка останова с условием

При установке точки останова с условием, в условие необходимо указать какое-либо булево выражение.

Точка останова с условием булево выражение

Можно задать различные комбинации условий

Точка останова с условием булево выражение комбинация

Остановка программы в точке останова с условием произойдет тогда, когда переменные программы примут такие значения, при которых булево выражение в точке останова вернет истину.

Очень часто в процессе отладки программист может поставить так много точек останова, что сам забудет, где и что ставил. Быстро сориентироваться во всех поставленных точках останова поможет список точек останова. Открыть его можно через главное меню: Главное меню – Отладка – Список точек останова.

Главное меню – Отладка – Список точек останова

Или с помощью комбинации клавиш Alt + F9

Список точек останова

В этом списке можно как включить-выключить нужную точку останова, так и перейти в модуль, где эта точка находится. Достаточно просто дважды кликнуть по нужной строке.

У формы списка точек останова есть очень интересные возможности сохранения и последующей загрузки сохраненных точек останова, которые осуществляются при помощи кнопок «Сохранить» и «Открыть файл»

Кнопки сохранения и загрузки точек останова

И последний в этой статье инструмент отладки, который мы рассмотрим, это возможность останавливать выполнение программы, в случае возникновения ошибки.

Эту функцию отладки очень удобно применять, когда у Вас в процессе работы программы возникает ошибка, и Вы не знаете, что к ней приводит, и не понимаете её природу.

Включить остановку по ошибке достаточно просто: Главное меню – Отладка- Остановка по ошибке.

Главное меню – Отладка- Остановка по ошибке

В открывшемся окне нужно установить флаг «Остановка по ошибке» и нажать на кнопку «Ок».

Остановка по ошибке

Теперь, если в процессе выполнения программы платформой будет сгенерирована ошибка, то программа остановиться на той строке модуля, код которой приводит к ошибке.

Остановка по ошибке в модуле

Остановка по ошибке в модуле


Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

На прошлых уроках программирования 1С мы изучили примитивные типы данных Число, Строка и Дата ознакомьтесь с этими материалами, прежде чем приступить к изучению этого.

Программирование 1С: примитивный тип данных Булево

Булево – один из базовых типов данных логических выражений.

Значения типа Булево имеют два значения Истина и Ложь, задаваемых соответствующими литералами. Часто применяется в различных логических вычислениях.

Для демонстрации работы с типом данных мы разработаем простой логический вычислитель Светофор.

Программирование 1С: логический вычислитель Светофор

Идея проста – мы имеем 3 реквизита типа «Булево»:

Соответственно каждый этот реквизит может быть либо «активен» (то есть иметь значение Истина), либо «отключен» (то есть иметь значение Ложь).

Перенесем реквизиты на форму обработки.


Далее создадим реквизит типа Строка, который назовем Реакция пешехода и также перенесем его на форму. Задача нашей обработки – при вводе определенной комбинации «цветов светофора», выводить в стоке результат – ожидаемое действие пешехода.

Для чистоты процедуры мы создадим обработчик события, который будет обнулять булевы реквизиты при открытии обработки. Создаем обработчик &НаКлиенте, который запускается ПриОткрытии через контекстное меню по щелчку на форме.


Конфигуратор автоматически подставил часть кода, которая задает условие запуска обработчика..


Задаем содержимое обработчика:

Красный=Ложь;Желтый=Ложь;Зеленый=Ложь;

Обратите внимание, что значение булева реквизита «Ложь» нельзя брать в кавычки, иначе программа прочитает его как Строку.

Полный курс программиста 1С – с нуля до разработчика, способного решать практические учетные задачи в любой области.

Программирование 1С: составление кода

Далее определимся с логической частью нашей обработки, которую мы позднее преобразуем в код.

  1. Если горит Красный, а Зеленый и Желтый не горят - пешеход должен стоять.
  2. Если Вместе с Красным загорелся Желтый , а Зеленый не горит-пешеход должен приготовиться к движению.
  3. Если горит Зеленый, а Красный и Желтый не горят – пешеход должен переходить проезжую часть.
  4. Если горит Зеленый и Желтый, а Красный не горит - Пешеход должен поторопиться закончить движение.

Мы ранее ознакомились с универсальным хранилищем данных Массив, которая хранит данные и позволяет их вызвать по порядковому номеру. Попробуем реализовать хранение ситуаций через эту функцию. Создаем новую процедуру Ситуации (НомерСитуации), задача которой – возвращать порядковый номер ситуации из массива.


Другой вариант – использовать универсальное хранилище значений Соответствие, которое устанавливает связь между двумя данными – в данном случае Числом и Строкой. В данном примере мы используем синтаксис Вставить (записывает данные в хранилище) и Получить (получает из хранилища значение). Этот синтаксис также можно использовать с хранилищем Массив.


Далее мы приступаем к созданию логических выражений. Сначала смоделируем их обычным языком.

  • Если включился Красный, то Желтый и Зеленый должны быть выключены, команда «Стой».
  • Если включился Желтый, то возможно 2 варианта:
  • Если включился Зеленый, то Желтый и Красный должны быть выключены, команда «Иди».

Теперь необходимо перевести логические выражения в код. Задача упрощается понятным синтаксисом: Команда Если открывает логическое выражение, КонецЕсли – закрывает. Команды И, Тогда и Иначе используются внутри обработчика Если.

Пишем первый обработчик «Если включился Красный, то Желтый и Зеленый должны быть выключены, команда «Стой»:

  1. «Если включился Красный» – создаем обработчик события ПриИзменении реквизита Красный. Внутри открываем логическое выражение Если, и задаем условие Красный=Истина
  2. «То Желтый и Зеленый должны быть выключены» – используем выражение Тогда и задаем условия Желтый=Ложь;Зеленый=Ложь;
  3. «Команда «Стой» – мы задаем номер ситуации и запускаем процедуру получения данных из массива НомерСитуации=0;Ситуации(НомерСитуации);
  4. Логическое выражение не может закончился без команды Иначе, поскольку процедура должна выполнить какое-либо действие и в том случае, когда условия не выполнены. Иначе РеакцияПешехода=Неопределено; КонецЕсли; КонецПроцедуры.

В итоге у нас получился вот такой код:


Следующий обработчик будет состоять из 2-х частей: когда с желтым работает красный, и когда с желтым работает зеленый. Создаем обработчик ПриИзменении реквизита Желтый. Код будем писать аналогично, за тем исключением, что внутри обработчика мы опишем процедуру Если 2 раза.


Последний обработчик для Зеленого сигнала светофора будет выглядеть аналогично.


Проверим работу Светофора в режиме 1С:Предприятие, включая последовательно флажки реквизитов Красный, Желтый, Зеленый, Желтый, Красный и получая в соответствии с ситуацией строковые значения реквизита РеакцияПешехода.

Освойте навыки разработчика 1С на очных специализированных курсах от крупнейшей компании-франчайзи 1С.

Оптимизация программы 1С необходима, когда данный софт начинает спустя некоторое время пользования тормозить. Это проявляется в долгом запуске, медленной работе и периодических зависаниях. Причин этого может быть множество, поэтому существует несколько решений данной проблемы. Можно прибегнуть к определенным действиям, которые позволят оптимизировать программу, улучшить производительность и скорость работы.

Оптимизация с помощью обновления

Ускор1.jpg

Каждое новое обновление программы 1С сопровождается оптимизацией, совершенствованием и модернизацией. Добавляются новые функции, улучшаются работоспособные системы всей платформы и появляются новые возможности, которые повышают производительность программы, что позволяет уменьшать восприятие от различных внешних факторов (объем хранимой памяти, количество подключаемых пользователей и прочее).

Следует учесть, что программа сама по себе не обновляется, поэтому необходимо самому следить за наличием обновлений или обратиться за помощью к нашим профессионалам. Обновление может выполняться для определенной конфигурации программы или самой платформы в целом.

Настройка регламентных и фоновых заданий

Конфигурация программы 1С отличается обилием большого количества фоновых заданий. К ним можно отнести постоянное обновление курса валют, классификаторов банков, новостной ленты, задач бухгалтера и многое другое. Каждый выполняемый программой процесс отбирает ресурсы, как данного софта, так и компьютера. Некоторые из них можно отключить, так как они не особо нужны.

Одним из простых и эффективных решений, чтобы оптимизировать 1С и улучшить производительность, является настройка всех этих процессов, которые выполняются в фоновом режиме. Имеется в виду их полное отключение.

Для этого следует выполнить следующее:

  1. Поиск пункта «Администрирование» в главном разделе меню, которое перекинет в окно настройки программы. Появится перечень переходов, среди которых необходимо выбрать «Обслуживание».
  2. В появившемся новом окне необходимо перейти в раздел «Регламентные операции». Здесь будет располагаться ссылка «Регламентные и фоновые задания», по которой следует нажать.
  3. Будет предоставлен список всех доступных фоновых заданий для ознакомления, большинство которых будет находиться в рабочем состоянии. Об этом свидетельствует галочка, которая стоит слева.
  4. Выполнить полный просмотр данного списка, чтобы определить для себя ненужные процессы. Чтобы отключить ненужные задания, следует нажать на каждое из них. Появится отдельное окно, где следует снять галочку с пункта «Включено».
  5. Нажать «Записать и закрыть», чтобы выбранная задача больше не запускалась.

Ускор2.jpg

Данные простые, но достаточно эффективные, действия позволят повысить производительность и скорость программы 1С. Она будет шустрее работать и не будет терять драгоценные ресурсы. При необходимости выключенные задания можно повторно включить.

Отключение неиспользованных модулей программы

Программное обеспечение от 1С отличается не только обилием различных процессов, но и функциональных модулей. Как и фоновые процессы, ненужные модули можно отключать. Это необходимо выполнить с теми, которые не используются. Они также расходуют ресурсы программы и компьютера, от чего 1С становиться более "тяжелой" и не такой производительной.

Чтобы перейти в меню используемых модулей, необходимо войти в раздел «Администрирование». В появившемся окне «Настройки программы» следует выбрать вкладку «Функциональность». Перед пользователем откроется новое окно «Функциональность программы», которое имеет в своем распоряжении большое количество вкладок. Необходимо пройтись по каждой и отключить ненужные модули. Для этого достаточно просто снять галочки.

Ускор3.jpg

Параметры компьютера и сети

Бывает так, что отключение ненужных модулей и фоновых процессов может быть недостаточно, чтобы повысить производительность программы 1С. Всему виной могут быть характеристики компьютера. Если они слабые и их недостаточно для минимальных требований программы, то это может повлиять за собой значительное замедление работоспособности софта. Это касается не всех составляющих ПК. Особое внимание следует уделить процессору и оперативной памяти.

Системные требования программы 1С можно посмотреть на странице официального сайта 1С. Чтобы посмотреть параметры компьютера, необходимо при помощи кнопки «Пуск» выбрать правой кнопкой мыши пункт «Компьютер». Появиться небольшое меню, где следует выбрать «Свойства». Появится новое окно, которое будет содержать техническую информацию о компьютере.

Ускор4.jpg

Помимо процессора и оперативной памяти, также должны соответствовать следующие параметры:

  • свободное место на жестком диске не меньше 2 Гб;
  • скорость интернет-соединения не меньше 100 мБит за секунду.

Важно отметить, что существует особый пакет программы 1С, который ориентирован на передачу большого объема информации. Здесь следует отдельное внимание уделить пропускной сетевой способности ПК. Если возникнуть какие-либо торможения или другие проблемы, то данную скорость можно увеличить. Для передачи незначительного объема информации вполне достаточно будет 100 мБит/сек.

Запуск в тонком клиенте

Тонкий клиент – это особый режим запуска программы 1С, который позволяет минимизировать потребление программных ресурсов и каналов связи. Его можно запустить при помощи выполнения определенных манипуляций в настройках информационной базы.

Чтобы включить режим тонкого клиента, следует выполнить:

  1. Последовать в настройки. Чтобы в них попасть, необходимо при запуске 1С выбрать кнопку «Изменить».
  2. Появится новое окно, где следует найти раздел «Основной режим запуска».
  3. Данный раздел будет иметь несколько вариантов для выбора, среди которых находится тонкий клиент. Его необходимо выбрать.
  4. После выбора подходящего режима нажать кнопку «Готово», чтобы сохранить изменения.

Ускор5.jpg

Для просмотра режима работы программы необходимо перейти в меню «Справка», которое находится в основном перечне меню. В выбранной вкладке нажать «О программе», где будет отображаться режим программы, в котором она работает в данный момент.

Диагностика и исправление ошибок базы 1С

Низкая производительность программы 1С считается не просто проблемой, но и ошибкой, с которой необходимо бороться. В данном случае эффективным способом оптимизации является «Тестирование и исправление информационной базы».

Ускор6.jpg

Данный инструмент располагается в меню «Администрирование» и он имеет в своем распоряжении следующее:

  1. Реиндексацию таблиц информационной базы – это встроенный инструмент для реорганизации используемых индексов в таблице. Он позволит повысить скорость работы базы в целом.
  2. Сжатие таблиц информационной базы – данный инструмент позволяет сжимать размер базы. Другими словами, он уменьшает ее размер при помощи дефрагментации всей таблицы. Данный режим работы не только увеличивает быстродействие программы, но и избавляет ее от ошибок.
  3. Реструктуризация таблиц информационной базы – это режим работы, благодаря которому выполняется оптимизация структурной составляющей программы. Это позволяет улучшить стабильность и быстродействие выполняемых процессов.

Свертка информационной базы

Главные преимущества данного решения:

Инструмент «Свертка информационной базы» находится в меню «Администрирование» -> «Сервис». Важно помнить, что данный процесс является необратимым. Программа сама будет предлагать выполнить резервное копирование. Следует определить для этого место на жестком диске.

Ускор7.jpg

После этого следует выполнить следующее:

  1. Указать дату, на которую будут формироваться остатки. В этом разделе можно установить галочку напротив «Установить дату запрета изменения данных (рекомендуется)». Ее можно не устанавливать, если необходимо выполнить редактирование сформированного документа с остатками.
  2. При выполнении учета по нескольким предприятиям, программа будет предлагать выполнять данный процесс по конкретным организациям или сразу по всем.
  3. Теперь необходимо следовать всем шагам помощника, попутно выполняя настройку по всем доступным регистрам.

Свертка позволяет формировать остатки на конкретную дату, а также удалять старые и ненужные документы. Таким образом, можно уменьшить общий объем информационной базы, чтобы облегчить работу программе 1С.

Настройка антивирусных программ

Бывает так, что антивирусная программа может мешать работе 1С. Но при правильной настройке любого такого вспомогательного софта работоспособности бухгалтерской программы ничего не будет мешать. С использованием стандартных настроек производительность 1С может резко снизиться.

Чтобы избавиться от данной проблемы, необходимо углубиться в дополнительные настройки антивирусной программы. Самым простым и эффективным решением является отключение фонового режима данного софта. Уже сразу будет заметна разница. Программа 1С будет быстрее запускаться, обрабатывать документы, формировать отчеты и тому подобное.

Защитить свой компьютер можно с помощью нашей системы защиты от шифровальщиков-вымогателей.

Специалисты Первого Бита имеют обширный опыт в оптимизации программы 1С. Мы оказываем комплексные услуги «скорой» технической помощи. Чтобы связаться с нами и узнать условия сотрудничества:

  • Оставьте заявку на нашем сайте или позвоните нам по телефону;
  • Менеджер уточнит причины обращения и зафиксирует проблему;
  • Наши специалисты проведут технический аудит и экспертизу;
  • Проведут полную оптимизацию 1С.

После проведения оптимизации производительности 1С, значительно повысится производительность программы. Улучшится работа систем, что в свою очередь, повысит эффективность работы всего персонала. Вы сможете, наконец, спокойно заниматься своим любимым и важным делом и не беспокоиться более по поводу зависаний 1С.

Ниже рассмотрим основные методы использования механизма отладки в виде практической инструкции на конкретном примере.

Внимание! Если Вы используете клиент-серверный режим работы (на сервере), Вам необходимо включить отладку на сервере 1С Предприятия.

список точек останова

Запуск отладки в 1С

запуск отладки

Отладка фоновых заданий 1С

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Включение отладки фоновых заданий и внешних соединений

В этом окне Вы можете установить соответствующий флаг.

Установка точки останова (брейкпойнта)

открытие обработчика

Для того чтобы установить точку останова, необходимо найти нужный программный код и кликнуть дважды на поле, слева от поля ввода кода (или нажать кнопку F9):

установка точки остановки

спиоск активных точек останова

Точка останова 1С с условием (синяя)

Например, остановим цикл на строке с номером 25:

точка останова с условием 1с

Неактивная точка останова (серая)

серая точка останова

Точка останова по ошибке

остановка по ошибке

Пошаговое перемещение по программному коду 1С

После установки точки останова необходимо инициировать выполнение нужного программного кода, чтобы система вошла в пошаговое исполнения кода. Отображение стрелки свидетельствует о запуске режима пошагового выполнения кода:

активация отладки

Чтобы перейти с текущего положения курсора к нужному, минуя промежуточные строчки кода, необходимо установить курсор на нужной строке и нажать shift + F10 (Идти до курсора).

Анализ значений в режиме отладки 1С

Посмотреть значения определенных значений можно разными способами:

Отображение значения при наведении курсора

отображение значения переменной курсором

вычисление выражения

Очень полезно использовать вычисление выражения и выполнить запрос, выгрузить в таблицу значений и посмотреть её.

С помощью него Вы можете подробно узнать, откуда была вызвана процедура и с какими параметрами:

стек вызовов

Смотрите также обзорное видео по отладке в 1С:

Другие статьи по 1С:

Читайте также: