Проверка заполнения обязательных реквизитов шапки (8.1)

16.02.12

Разработка - Универсальные функции

Процедура проверяет все реквизиты шапки и табличных частей формы, для которых стоит пометка "АвтоОтметкаНезаполненного" на факт заполнения.

Процедура проверяет все реквизиты шапки и табличных частей формы, для которых стоит пометка "АвтоОтметкаНезаполненного" на факт заполнения. Результат выводит в дерево значений.
Процедуру добавить в любой модуль (если поддерживается передача параметра типа "Форма"), в параметрах передать контекст формы и, при необходимости, отключить вывод дерева предупреждений.

Возвращает Истина, если проверка прошла успешно и Ложь, если есть ошибки.

 

Функция ПроверкаНезаполненного(ФормаОбъекта,Показать=Истина)Экспорт
    ЕстьОшибки = Ложь;
    ЭлементыДерево = Новый ДеревоЗначений;
    ЭлементыДерево.Колонки.Добавить("Параметр");
    Для каждого
Элемент из ФормаОбъекта.ЭлементыФормы Цикл
        Если
ТипЗнч(Элемент)= Тип("ТабличноеПоле") Тогда
            Для
к=0 по Элемент.Значение.Количество()-1 Цикл
                ОформлениеСтроки = Элемент.ОформлениеСтроки(Элемент.Значение[к]);
                Для каждого
Рекв из ОформлениеСтроки.Ячейки Цикл
                    Если
Рекв.ОтметкаНезаполненного Тогда
                        ЕстьОшибки = Истина;
                        Если
Показать Тогда
                            стр = ЭлементыДерево.Строки.Найти(Элемент.Имя);
                            Если
стр = Неопределено Тогда
                                стр = ЭлементыДерево.Строки.Добавить();
                                стр.Параметр = Элемент.Имя;
                            КонецЕсли;
                            стр1 = стр.Строки.Найти(Рекв.Имя);
                            Если
стр1 = Неопределено Тогда
                                стр1 = стр.Строки.Добавить();
                                стр1.Параметр = Рекв.Имя;
                            КонецЕсли;
                            стр2 = стр1.Строки.Добавить();
                            стр2.Параметр = "Строка "+(к+1);
                        Иначе
                            Возврат
ЕстьОшибки;
                        КонецЕсли;
                    КонецЕсли;
                КонецЦикла;
            КонецЦикла;
        ИначеЕсли
ТипЗнч(Элемент)=Тип("ПолеВвода") и Элемент.ОтметкаНезаполненного Тогда
            ЕстьОшибки = Истина;
            Если
Показать Тогда
                стр = ЭлементыДерево.Строки.Найти("Шапка");
                Если
стр = Неопределено Тогда
                        стр = ЭлементыДерево.Строки.Добавить();
                        стр.Параметр = "Шапка";
                КонецЕсли;
                стр1 = стр.Строки.Добавить();
                стр1.Параметр = Элемент.Имя;
        Иначе
            Возврат
ЕстьОшибки;
        КонецЕсли;
    КонецЦикла;

    Если
ЕстьОшибки и Показать тогда
        ЭлементыДерево.ВыбратьСтроку("Параметры не указаны");
    КонецЕсли;

    Возврат
ЕстьОшибки;

КонецФункции

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4170    Abysswalker    11    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    7784    DeerCven    15    

62

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    53050    dimanich70    84    

174

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7697    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    67595    atdonya    31    

72

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

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

30.11.2023    9641    ke.92@mail.ru    17    

68
Для отправки сообщения требуется регистрация/авторизация