Вход | Регистрация


Отмена запрета на незаполнение

Отмена запрета на незаполнение
Я
   iznvi
 
30.10.18 - 12:42
Ребят,есть документ "Производство без заказа" в нем есть форма и там заполняются ХарактеристикиНоменклатуры автоматически при выборе номенклатуры,но есть номенклатура без характеристики. Я прописал,что если Характеристика пустая,то добавить заместо пустой строчки "Не заполнено",а я вот думаю,а не проще в этой ситуации просто программно по условию,отменять запрет на незаполнение ?
не подскажите как это можно сделать ?
Тоесть нужно просто при выборе номенклатуры и если не заполнена у нее характеристики,то просто ничего не подставлять и не запрещать записывать документ ?
 
 
   Fragster
 
1 - 30.10.18 - 12:46
ДокументОбъект.<Имя документа>.ОбработкаПроверкиЗаполнения (DocumentObject.<Имя документа>.FillCheckProcessing)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ОбработкаПроверкиЗаполнения (FillCheckProcessing)
Синтаксис:

ОбработкаПроверкиЗаполнения(<Отказ>, <ПроверяемыеРеквизиты>)
Параметры:

<Отказ>

Тип: Булево.
Если в теле процедуры-обработчика установить данному параметру значение Истина, то будет выполнен отказ от продолжения работы после выполнения проверки заполнения.
Значение по умолчанию: Ложь.
<ПроверяемыеРеквизиты>

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

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

Пример:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

// Проверим заполненность реквизита "Покупатель"


Покупатель = ПроверяемыеРеквизиты.Найти("Покупатель");
Если Не ЗначениеЗаполнено(Покупатель) Тогда
    
    // Если он не заполнен, сообщим об этом пользователю


    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Не указан Покупатель, на которого выписывается товарная накладная!";
    Сообщение.Поле = "Покупатель";
    Сообщение.УстановитьДанные(ЭтотОбъект);
        
    Сообщение.Сообщить();
        
    // Сообщим платформе, что мы сами обработали проверку заполнения реквизита "Покупатель"


    ПроверяемыеРеквизиты.Удалить(Покупатель);
    // Так как информация не консистентна, то продолжать работу дальше смысла нет


    Отказ = Истина;
        
КонецЕсли;

// Сообщим платформе, что мы сами обрабатываем проверку реквизита товар в табличной части Товары


ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Товары.Товар"));

// Обходим строки и проверяем заполнение реквизита


Для Индекс = 0 по Товары.Количество()-1 Цикл
    СтрокаТовар = Товары.Получить(Индекс);
    Если Не ЗначениеЗаполнено(СтрокаТовар.Товар) Тогда
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "В строке " + Индекс + " не заполнено значение товара";
        Сообщение.Поле = "Товары[" + Индекс + "].Товар";
        Сообщение.УстановитьДанные(ЭтотОбъект);
        Сообщение.Сообщить();
        Отказ = Истина;
    КонецЕсли;
КонецЦикла;
    
КонецПроцедуры



Замечание:

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

ОбъектМетаданных: Документ, свойство Проведение

--------------------------------------------------------------------------------

     Методическая информация
   Fragster
 
2 - 30.10.18 - 12:47
   iznvi
 
3 - 30.10.18 - 12:48
(2) Спасибо большое,чет искал и не нашел )
   Вафель
 
4 - 30.10.18 - 12:48
лучше так не делать, иначе можешь словить пересорт по характеристикам: "не заполнено" и "пустая"
   iznvi
 
5 - 30.10.18 - 12:50
(4) Ситуация требует  )

Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует