Проверка синтаксических ошибок 1с
Типичные ошибки можно разделить на следующий категории:
- нарушение физической целостности базы;
- нарушение логической целостности базы;
- ошибки, в результате не верных действий пользователей;
- ошибки, возникающие в результате изменения кода конфигурации.
Ошибки могут возникать по многим причинам и первое что нужно сделать - проанализировать ошибку, определить источник проблемы.
Важно! Делайте резервную копию Ваших информационных баз прежде чем изменять что-то в конфигурации. Если информационная база не открывается в конфигураторе, следует скопировать папку с базой средствами операционной системы и далее выполнять все операции с этой копией.
Ошибка: База не открывается
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы: удалить информационную базу из списка и подключить её же заново;
- Войти в информационную базу под другой учётной записью;
- Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe), в случае базы SQL, — тестирование средствами SQL.
Ошибка: Ничего не работает, причина не понятна
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Войти в информационную базу под другой учётной записью (войти под записью администратора);
- Войти в информационную базу с другого компьютера - это исключит неисправность текущего;
- Поискать причины сбоя в журнале регистрации.
Ошибка: Dump базы при запуске
Варианты решения:
- Отключить аппаратное ускорение видеокарты средствами операционной системы Windows, перезагрузить системы.
Ошибка: База открывается в конфигураторе, но не в пользовательском режиме
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Войти в информационную базу под другой учётной записью (войти под записью администратора);
- Войти в информационную базу с другого компьютера - это исключит неисправность текущего;
- Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe), в случае базы SQL, — тестирование средствами SQL;
- Сделать тестирование и исправление информационной базы средствами конфигуратора;
- Выгрузить данные в *.dt и загрузить в новую информационную базу.
Ошибка: Программа 1С произвольно открывает код конфигуратора
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Проверить код в отладчике.
Чаще всего такая ошибка возникает из-за ошибок и изменённом коде конфигурации.
Ошибка: Программа 1С для разных пользователей работает по разному
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Настроить права групп;
- Настроить права пользователям.
Ошибка: Неправильное отображение блоков формы
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Войти в информационную базу под другой учётной записью (войти под записью администратора);
- Войти в информационную базу с другого компьютера - это исключит неисправность текущего.
Ошибка: Программа не работает на конкретном компьютере, при этом на всех остальных компьютерах сети работает
Варианты решения:
- Проверить сетевые права данного компьютера (средствами операционной системы средствами Windows);
- Обновить платформу. Также проверить соответствие версий релизов конфигураций и платформ в пределах сети;
- Очистить временные (cash) файлы;
- Войти в информационную базу под другой учётной записью (войти под записью администратора).
Ошибка: Недостаточно памяти
Варианты решения:
- Обновить платформу;
- Очистить временные (cash) файлы;
- Войти в информационную базу под другой учётной записью (войти под записью администратора);
- Войти в информационную базу с другого компьютера - это исключит неисправность текущего;
- Оптимизировать проблемные запросы;
- Аппаратно увеличить объём памяти;
- Увеличить размер файла подкачки;
- Выполните команду управления выделенной памятью через командную строку Windows, где 3072 - размер желаемой адресной памяти.
Ошибка: Ошибка СУБД, внутренняя ошибка компоненты dbeng8
Варианты решения:
- Обновите платформу на всех компьютерах сети;
- Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe), в случае базы SQL, — тестирование средствами SQL;
- Выгрузить данные в *.dt и загрузить в новую информационную базу.
Данная ошибка чаще всего возникает для сетей без сервера 1С и связана с различием кода разных версий платформы на разных точках доступа.
Мы привели, разумеется, не все ошибки с которыми может столкнуться пользователь 1С, но самые часты. Для данных решений не требуется каких-то обширных знаний в области 1С-программирования, но они требуют времени, терпения и внимательности. Опытные пользователи с лёгкостью устраняют такие ошибки самостоятельно, им достаточно только разобраться с причиной их возникновения. Остальным пользователям мы рекомендуем обратиться к техническим специалистам МАРС Телеком.
Особенности использования проверки конфигурации
Механизм проверки конфигурации позволяет выявить ошибки, которые не являются критичными для функционирования прикладного решения в принципе, но наличие которых может существенно снизить скорость работы прикладного решения или даже привести к возникновению ошибок при работе в некоторых специальных режимах.
Выполнение данных проверок не является обязательным (как, например, в случае синтаксического контроля), но является желательным, например, для проверки конфигурации перед поставкой заказчику, перед выпуском тиражного решения, для проверки после массированного удаления объектов или после объединения конфигураций.
Механизм проверки конфигурации включает в себя несколько тестов. Часть этих тестов доступна и в других режимах конфигуратора, а остальные специально разработаны для этого механизма.
Рассмотрим особенности этих тестов:
Проверка логической целостности конфигурации
Проверка логической целостности конфигурации включает в себя ряд стандартных проверок целостности прикладных объектов, которые обычно выполняются автоматически перед обновлением конфигурации базы данных.
Например проверка того, что все объекты метаданных в пределах одной ветки имеют уникальные имена.
Поиск некорректных ссылок
Конфигурация на платформе 1С:Предприятие 8.1 представляет собой набор взаимосвязанных объектов. Каждый объект определяется его свойствами. Эти свойства могут содержать ссылки на другие объекты метаданных.
Ссылки бывают прямые (например, свойство справочника ОсновнаяФорма ссылается на объект метаданных Форма ) или косвенные. К косвенным относятся, например, ссылки на типы, относящиеся к объекту метаданных, например СправочникСсылка.Номенклатура или ссылки на предопределенные значения объекта.
Свойства объектов метаданных можно разделить на простые и сложные. К простым, например, относятся Имя , Синоним , Тип , ОсновнаяФорма и другие. Сложными свойствами являются Форма , Макет , Интерфейс , Права , СправочнаяИнформация .
Логика работы платформы 1С:Предприятие 8.1 построена таким образом, что наличие некорректных (неразрешимых) ссылок в простых свойствах в режиме 1С:Предприятие не допускается. При стандартных операциях редактирования, конфигуратор не позволит возникнуть таким ссылкам.
Например, нельзя удалить форму, если ссылка на нее содержится в свойстве справочника.
Впрочем, получить конфигурацию, которая такие ссылки содержит все же возможно. Например, при объединении конфигурации, если пометить к объединению только один объект метаданных и не помечать объекты, на которые он ссылается. При этом будет выдано предупреждение, но его можно игнорировать и выполнить объединение. Подобное поведение реализовано для облегчения процесса объединения конфигураций. Предполагается, что после объединения разработчик вручную поправит неразрешимые ссылки. Обязательная проверка простых свойств на корректность выполняется при обновлении конфигурации.
Сложные свойства ведут себя несколько иначе. Отслеживание всех ссылок во всех формах представляет собой слишком ресурсоемкий процесс, поэтому наличие неразрешимых ссылок в них допустимо. Допустимо в том смысле, что программа будет работать, однако ее функциональность может быть нарушена.
Например, в форме окажется поле ввода не связанное с данными или в справочной информации будет "переход в никуда".
Для поиска и исправления таких ситуаций предназначен механизм поиска некорректных ссылок. Он позволяет определить только факт наличия неразрешимых ссылок в той или иной форме. Их поиск и исправление возлагается на разработчика.
Ниже приведены некоторые рекомендации, которые могут помочь в данном процессе.
Неразрешимые ссылки в справочной информации
Если неразрешимые ссылки обнаружены в модуле справки, то для их локализации и исправления следует проверить работоспособность всех ссылок, находящихся в указанном модуле.
Если ссылка не работает, но существует объект, на который она ссылается - нужно скорректировать ссылку. Если объект, на который указывает ссылка, отсутствует - нужно, как минимум, очистить ссылку и, возможно, удалить соответствующий текст справки.
Некорректные ссылки в формах объектов
Если неразрешимые ссылки обнаружены в форме объекта, то для их локализации прежде всего следует проверить на непустое значение свойства формы и свойства элементов формы (например такие свойства, как Цвет , Шрифт , Рамка и т.д.). Для табличного поля следует также проверить свойства колонок и элементов управления, расположенных в колонках.
Для всех этих свойств значение в палитре свойств не должно быть пустым, т.е. должно отображаться либо какое-то конкретное значение, либо значение Авто . Все остальные случаи определяются как неразрешимые ссылки.
Для исправления такой ссылки следует либо задать для свойства необходимое значение, либо очистить значение (что приведет к установке значения Авто ).
Также довольно распространенным случаем некорректных ссылок может быть неправильный перечень реквизитов объекта в свойстве формы Сохраняемые значения . Для исправления таких ссылок необходимо открыть окно настройки этого свойства, и ничего не меняя нажать ОK .
Также следует проверять связи с данными. Например, для свойств Связь по владельцу и Связь по типу нужно убедиться, что в окне формы настройки связи будет выбрано конкретное значение. Если нет - нужно заново выбрать нужное значение.
Неразрешимые ссылки также могут возникать в предопределенных элементах. Для исправления таких ссылок может оказаться достаточным установки признака модифицированности списка предопределенных элементов, и последующего сохранения объекта метаданных.
Для автоматизации поиска неразрешимых ссылок можно использовать Проверку конфигурации (команда Конфигурация - Проверка конфигурации в Конфигураторе).
Общие рекомендации
Самый лучший способ борьбы с неразрешимыми ссылками - по возможности не допускать их появления.
Например, как было указано, при удалении объекта конфигуратор проверит наличие ссылок на удаляемый объект, но только в простых свойствах. Поэтому перед удалением рекомендуется провести полный поиск. Обратите внимание, что начиная с релиза 8.1.10, при выполнении команды "Поиск ссылок на объект" (и "Поиск ссылок в объекте") можно указать поиск во всех свойствах.
Синтаксический контроль модулей
Механизм проверки конфигурации предоставляет расширенные возможности синтаксического контроля модулей. Они позволяют проверить работоспособность конфигурации во всех режимах, предусмотренных разработчиком. Для того, чтобы понять назначение каждого из режимов, рассмотрим подробнее особенности исполнения модулей в платформе 1С:Предприятие 8.1.
Конфигурация может исполняться в двух сеансах - клиентского приложения и внешнего соединения. Кроме этого, конфигурация может быть развернута в файловом варианте и клиент-серверном варианте. Различия режимов определяются составом объектов и их свойств. Не все объекты доступны при исполнении на сервере 1С:Предприятия и в режиме внешнего соединения.
Все модули, с точки зрения режимов исполнения, можно разделить на 5 групп. Это общие модули, модуль приложения, модуль внешнего соединения, модули хранимых объектов (обобщенное название, сюда относятся модули объектов, наборов записей) и модули форм.
Общие модули могут выполняться на клиенте, на сервере и в режиме внешнего соединения. Доступность конкретного общего модуля в каждой из этих сред определятся соответствующим свойством.
Модуль приложения всегда исполняется на клиенте.
Модуль внешнего соединения всегда исполняется в режиме внешнего соединения.
Модули хранимых объектов могут исполняться везде. Это зависит того, где был создан соответствующий объект.
Модули форм всегда исполняются только на клиенте.
Важной особенностью 1С:Предприятия 8.1 являются различия между файловым вариантом работы и клиент-серверным. В файловом варинате для всех исполняемых модулей доступен контекст как сервера так и клиента или внешнего соединения, в зависимости от типа сеанса. То есть, даже если у общего модуля в свойствах указано исполнение только на сервере, в файловом варианте работы в нем можно создавать объекты, доступные только на клиенте. Однако при развертывании данной конфигурации в режиме клиент-сервер, выполнение подобного модуля приведет к ошибке.
Для выявления подобных "тонких" случаев, механизм проверки конфигурации предоставляет проверки модулей во всех пяти вариантах среды исполнения.
Работа клиентского приложения
Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в файловом варианте работы.
Работа внешнего соединения
Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в файовом варианте работы.
Среди наиболее часто встречающихся ошибок при тестировании работы в режиме внешнего соединения, можно выделить следующие:
Вызов метода глобального контекста, который не может быть использован в режиме внешнего соединения (например, ВвестиЗначение() ); Использование свойства глобального контекста, которое не может быть использовано в режиме внешнего соединения (например, РабочаяДата ); Создание объекта, который не может быть использован в режиме внешнего соединения (например, Цвет );Вызов процедур общего модуля, для которого не установлено свойство использования во внешнем соединении. Использование переменных, определенных в модуле приложения;Для исправления подобных ошибок следует использовать разрешенные методы, свойства и объекты.
Для исправления подобных ошибок в модуле внешнего соединения необходимо продублировать экспортные переменные, а также, при необходимости, процедуры их заполняющие.
Работа клиентского приложения в режиме клиент-сервер
Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в клиент-серверном варианте.
Работа внешнего соединения в режиме клиент-сервер
Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в клиент-серверном варианте.
Работа сервера 1С:Предприятия
Синтаксический контроль модулей в режиме эмуляции среды сервера 1С:Предприятия.
Среди наиболее часто встречающихся ошибок при тестировании работы на сервере 1С:Предприятия, можно выделить следующие:
Вызов метода глобального контекста, который не может быть использован на сервере (например, Предупреждение() ); Создание объекта, который не может быть использован на сервере (например, Цвет);Вызов процедур общего модуля, у которого не установлен признак использования на сервере;Для исправления подобных ошибок следует использовать разрешенные методы, свойства и объекты.
Для исправления подобных ошибок следует установить свойство Сервер общего модуля, либо, если вызываемая процедура используется только на сервере, перенести ее в отдельный общий модуль с установленным свойством Сервер . Также, для исправления подобных ошибок, можно использовать директивы препроцессора, в явном виде указывающие контекст исполнения участка кода.
- Использование переменных, определенных в модуле приложения;
Для исправления подобных ошибок следует использовать параметры сеанса, содержащие аналогичные значения экспортных переменных модуля приложения.
Например: Переменная модуля приложений - глТекущийПользователь и ПараметрСеанса - ТекущийПользователь.
Важно учитывать, что время получения значения параметра сеанса значительно превышает время получения значения переменной модуля приложения. Поэтому, полный отказ от использования переменных модуля приложения в пользу параметров сеанса является неправильным. Следует применять комбинированный метод: - в модулях объектов следует применять только параметры сеанса, поскольку это решит проблему недоступности объектов на сервере - в модулях форм следует применять только переменные модуля приложения, поскольку здесь более важным является быстродействие кода, кроме того модуль формы заведомо не будет выполняться на сервере.
Общие рекомендации
Поставка модулей без исходных текстов
В группе тестов синтаксического контроля модулей представлен также тест создания файлов поставки и обновления. В настройках поставки можно указать поставку модулей объекта без исходных текстов, однако для того чтобы воспользоваться этой возможностью, модуль не должен содержать директив препроцессора, что и проверяется этим тестом.
Логическая проверка модулей
Представляет собой набор дополнительных (не связанных с синтаксическим контролем) тестов модулей.
Поиск неиспользуемых процедур и функций
Сами по себе неиспользуемые (никогда не вызываемые) процедуры и функции ошибкой не являются, однако их наличие может косвенно свидетельствовать об ошибках в логике конфигурации. В частности, с помощью этого теста можно найти потерянные, в том числе и случайно, обработчики событий элементов управления в формах.
Самой главной особенностью этого теста является то, что анализ использования выполняется в пределах модуля, где данная процедура расположена, дополнительно анализируется возможное использование процедуры в качестве обработчика какого-либо события. Процедуры и функции, которые объявлены как экспортные, никогда не считаются неиспользуемыми. Это связано с их возможным вызовом из внешнего соединения. Поэтому невозможно использовать данный тест для обнаружения потерянных обработчиков команд интерфейсов, поскольку такие обработчики должны быть объявлены как экспортные.
Следует учитывать, что в некоторых случаях определение процедуры или функции как неиспользуемой может выполняться некорректно. Это относится к случаям динамического назначения обработчиков событий при помощи объекта Действие и методов УстановитьДействие() и ПодключитьОбработчикОжидания() .
Проверка существования назначенных обработчиков
Проверяется существование обработчиков, на которые ссылаются элементы управления в формах, команды в интерфейсах и элементы графических схем.
Полезность этого теста заключается в том, что в режиме 1С:Предприятие отсутствие обработчика не вызовет ошибки, - просто ничего не будет выполнено. В итоге локализация ошибки конфигурации может быть затруднена.
Поиск пустых обработчиков
Пустой (ничего не исполняющий) обработчик события формально не является ошибкой, однако наличие таких обработчиков может негативно сказаться на производительности конфигурации, особенно если соответствующее событие возникает регулярно, например событие При выводе строки табличного поля.
Есть 100500 внешних обработок. Нужно проверить в них автоматически синтаксический контроль. Как лучше это сделать?
Проверить файлы epf, erf.
В связи с выходом нового релиза БП обнаружилось что многие процедуры/функции общих модулей и сами общие модули перестали существовать, а они могут использоваться во внешних отчетах/обработках.
Файлы выгрузил, в конфу загрузить можно только по 1-й штуке.
пробежать по файлам обработок, каждую создать и создать имеющиеся формы. если при создании упадёт, значит не скомпилировалось. если про создании формы упадёт - аналогично.
завернуть в попытку и писать лог
tormozit кажись в своих ИР какие-то компоненты для этого юзает.
(3) Стандартный синтаксический контроль вроде ж не проверяет доступность функций общих модулей.
(6) при создании упадёт, если общий модуль не существует. Если ОМ есть, то только при вызове несуществующего метода
Написал уже обработку по проверке, осталось формы дописать.
(13) у тебя ругается на модуль ОбщегоНазначения, а не на процедуру в нем, или я путаю?
(15) на процедуру ругается. Все ок.
Как получить список всех форм внешней обработки/отчёта?
(10) может не проверять если написать объявление через метод общиймодуль()
Формы (Forms)
Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.
Коллекция объектов метаданных, описывающих формы данного объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение.
(16) Что на процедуру ругается?
Ctrl-F7 - не ругается.
Ругается только проверка конфигурации с флагом "Расширенная проверка". Но как ее применить к ВнОбр?
(19) сделал как предлагали, создаю объект внешней обработки, затем вызываю создание обработки, в исключении пишется информация о несуществующих ОМ и процедурах ОМ.
(19) хотя не проверил проверяется ли при компиляции процедуры из ОМ
(20) несуществующих ОМ - Да
процедурах ОМ - только если они вызываются при создании
(19) да ты прав. Компиляция не проверяет процедуры из ОМ.
А синтаксис контроль проверяет только при расширенной проверке.
Может есть возможность загрузить пакетной внешние обработки в конфигуратор для проверки используя возможности выгрузки/закрузки конфигурации в файлы?
(23) Вот и всё)
Варианта 3:
Наиболее реальным п. 2 выглядит, если найти что-то полуготовое
(0) На инфостарте Сапер Водичка выкладывал то, что возможно Вам нужно - обработку для проверки внешних обработок.
Распарсить мне кажется долго, как понять модуль это общий или нет?
(26) нашел его "Групповая проверка доработок" на ИС, но там не проверяются внешние обработки.
(28) понял, только это нужно ещё и получить список существующих процедур/функций.
(9) в ИР есть какой нибудь функционал на эту тему? Где tormozit.
(30)
Но всё равно гарантий нет - недавно в БП добавили параметр в функцию. По количеству параметров вызов нормальный(часть необязательна), а по факту не работает. Сейчас тему найду
(28) я имел ввиду существующие ОМ известны, а старые ОМ не известны, а их нужно отличать от переменных.
(32) да, пока не проверяю изменит количества параметров и возвращаемый результат. Хотя и тут много изменений
(25) Вариант 1 тоже вроде реален: выгрузить в файлы и собрать их в конфигурацию или расширение. Но гемора тоже много
1000 внешних обработок и отчётов. Нах вам типовая конфа?
Попробовал обработку из расширения ИР "Тестирование метаданных ИР" для тестирования внешних обработок.
Выдает все не правильно:
1. ошибки расположены не напротив тестируемых обработок
2. выдает ошибки на используемые общие модули, хотя общие модули есть и процедуры в них тоже.
(41) я уже это все сделал.
Но если отсутствует процедура/функция в общих модулях и она используется во внешней обработке, то это при открытии обработки ошибки не будет.
(43) значит у тебя стоит настройка "расширенный синтаксический контроль".
Если открыть обработку в режиме предприятия ошибки не будет.
(45) Если флажок "расширенная проверка" поставить(у тебя снят), то будет ругаться.
Остается решить вопрос с автоматизацией запуска синтаксического контроля для тысячи обработок.
(48) он говорит , что у него даже при снятом ругается. Но у него обычное приложение.
(50) кстати на рисунке ругается на переменную ОбщегоНазначения, а не на траляля
Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"
В этой статье я рассмотрю основные механизмы платформы 1С 8.3, которые обеспечивают проверку заполнения реквизитов.
Проверка заполнения реквизита объекта 1С
У любого реквизита объекта 1С можно настроить проверку заполнения, когда нельзя сохранить новый элемент объекта, не заполнив этот реквизит. Выйдет ошибка.
Для того, чтобы у реквизита объекта осуществлялась проверка заполнения, достаточно в свойстве реквизита «Проверка заполнения» указать значение «Выдавать ошибку».
При таком конфигурировании реквизита, если это реквизит не заполнен, то при попытке записи элемента, выйдет соответствующая ошибка, и запись элемента не будет осуществлена.
Данная проверка будет осуществляться независимо от того, сгенерирована эта форма платформой 1С 8.3 автоматически, или используется форма созданная разработчиком.
Проверка заполнения табличной части в 1С
Помимо реквизитов у объектов можно проверять заполнение табличной части. Для этого у табличных частей объектов имеется свойство «Проверка заполнения», в которое также необходимо установить значение «Выдавать ошибку».
Если в этом случае мы попытаемся записать элемент, в котором будет табличная часть без строк, то выйдет ошибка, и записать элемент не получится.
В тоже время, мы спокойно сможем записать элемент, у которого имеется строка табличной части с пустыми полями.
Если мы хотим проверять реквизиты табличной части, то у них нужно заполнить аналогичное свойство.
Проверка заполнения программно в 1С
Иногда возникает необходимость проверить программно заполнение объекта в 1С. Для этих целей предназначен метод ПроверитьЗаполнение(), который имеется у большинства объектов 1С (справочники, документы и т.д.).
Например, во время программного создания элемента справочника, мы можем проверить заполнение реквизитов этого справочника, перед его записью.
В этом случае, элемент справочника не будет записан, если у него имеются реквизиты, у которых в свойстве ПроверкаЗаполнения установлено значение «Выдавать ошибку».
Иногда, нужно проверить заполнение реквизита, у которого в свойстве «Проверка заполнения» установлено значение «Не проверять». Например, у реквизита Артикул справочника Номенклатура.
Если нам нужно осуществлять проверку этого реквизита (например, по какой-то определенной логике), то необходимо в модуле объекта создать метод ОбработкаПроверкиЗаполнения.
У этого метода, который является процедурой, имеется параметр ПроверяемыеРеквизиты. Этот параметр массив, в котором содержится список имен реквизитов, которые нужно проверять. Если в этот список мы добавим название реквизита, то при сохранении элемента будет осуществляться проверка на то, заполнен этот реквизит или нет.
Также, мы можем удалить реквизит из проверяемых, если по какой-то причине нет необходимости в проверке заполнения этого реквизита.
Например, удалим из проверяемых реквизит ПолноеНаименование.
Тогда мы сможем спокойно записать элемент с незаполненным реквизитом ПолноеНаименование.
Если мы хотим проверить программно, что заполнен реквизит табличной части объекта, то необходимо добавить этот реквизит в массив ПроверяемыеРеквизиты по такому формату: [НазваниеТабличнойЧасти].[НазваниеРеквизита] .
В этом случае, будет осуществляться проверка заполнения реквизита табличной части.
Проверка заполнения формы 1С
При выполнении команды Посчитать, произведем расчет только в том случае, если реквизиты заполнены. Проверку заполнения будем выполнять при помощи метода ПроверитьЗаполнение.
Теперь мы не сможем посчитать сумму, если один из множителей не заполнен.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Читайте также: