Ситуация такая есть 3 вида документов и под каждым свои поля необходимо сделать так чтобы эти паля были обязательными
сделал таую шляпу но она не работает. Кто может подсказать где я ошибся
......
Если Объект.ВидДокумента = Справочники.ВидыВнутреннихДокументов.Распоряжение Тогда
СоздатьСвязиРаспоряжение();
........
&НаСервере
Процедура СоздатьСвязиРаспоряжение()
Если Не ЗначениеЗаполнено(Объект.Заголовок) тогда
Элементы.СохранитьИзменения.Доступность = Ложь;
Элементы.СохранитьКак.Доступность = Ложь;
Элементы.Предприятия.Доступность = Ложь;
Элементы.Папка.Доступность = ложь;
КонецЕсли;
КонецПроцедуры
сделал таую шляпу но она не работает. Кто может подсказать где я ошибся
......
Если Объект.ВидДокумента = Справочники.ВидыВнутреннихДокументов.Распоряжение Тогда
СоздатьСвязиРаспоряжение();
........
&НаСервере
Процедура СоздатьСвязиРаспоряжение()
Если Не ЗначениеЗаполнено(Объект.Заголовок) тогда
Элементы.СохранитьИзменения.Доступность = Ложь;
Элементы.СохранитьКак.Доступность = Ложь;
Элементы.Предприятия.Доступность = Ложь;
Элементы.Папка.Доступность = ложь;
КонецЕсли;
КонецПроцедуры
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) B3avi5,
Так попробуйте.
Если Не ЗначениеЗаполнено(Объект.Заголовок) тогда
Отказ = Истина;
Сообщить("ЗАполни шапку твою девизию!", СтатустСообщения.ОченьВажно);
Элементы.СохранитьИзменения.Доступность = Ложь;
Элементы.СохранитьКак.Доступность = Ложь;
Элементы.Предприятия.Доступность = Ложь;
Элементы.Папка.Доступность = ложь;
Так попробуйте.
(1) B3avi5, Можно сделать подписку на событие "ОбработкаПроверкиЗаполнения" и в обработчике написать что-то типа:
// создадим массив проверяемых реквизитов
ОбязательныеРеквизиты = Неопределено;
Если ДокументОбъект.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Наименование какого-то вида документа") Тогда
ОбязательныеРеквизиты = "Сумма"; /для примера
ИначеЕсли ДокументОбъект.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Наименование еще какого-то типа документа") Тогда
ОбязательныеРеквизиты = "Сумма,Валюта";
КонецЕсли;
Если ОбязательныеРеквизиты <> Неопределено Тогда
МассивПроверяемыхРеквизитов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ОбязательныеРеквизиты);
Для Каждого ЭлементМассива Из МассивПроверяемыхРеквизитов Цикл
НайденыйИндекс = ПроверяемыеРеквизиты.Найти(ЭлементМассива);
Если НайденыйИндекс = Неопределено Тогда
ПроверяемыеРеквизиты.Добавить(ЭлементМассива);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Показать
(7) B3avi5, вот здесь есть хорошая статья по подпискам: http://xn----1-bedvffifm4g.xn--p1ai/post-2013-12/%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BA%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F/
По дурацки ссылка скопировалась, это сайт: , там Новости,архив - Статьи по программированию. Статья называется "Назначение обработчиков событий с помощью подписок на события". В принципе все подробно описано, как, зачем и почему.
Процедура на сервере
По дурацки ссылка скопировалась, это сайт: , там Новости,архив - Статьи по программированию. Статья называется "Назначение обработчиков событий с помощью подписок на события". В принципе все подробно описано, как, зачем и почему.
Процедура на сервере
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот