Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Проверка заполнения реквизитов в форме

Проверка заполнения реквизитов в форме
Я
   John342
 
01.06.20 - 12:23
Добры день. Я новичок в 1с. Отрыл всякую инфу, как можно осуществлять проверку заполнения элементов. Остановился на варианте передачи реквизитов из модуля формы в модуль объекта.
Соответственно, функцию ПроверитьЗаполнение() указал в модуле формы и ОбработкаПроверкиЗаполнения() указал в модуле объекта. Всё работает. Вот только одно НО! ПроверяемыеРеквизиты.Количество() возвращает мне 0, однако в моей форме 2 реквизита, строка и период, и у обоих свойство Проверка заполнения выставлено, как Выдавать ошибку. Почему тогда в модуль объекта передаётся пустой массив? Что я упустил? Помогите советом юному падавану!
   D_E_S_131
 
1 - 01.06.20 - 12:39
ПроверяемыеРеквизиты - это реквизиты объекта, у которых установлено свойство "обязательности заполнения". Реквизиты формы, если они не связаны с данными формы, не попадут в этот массив. даже не смотря на то, что для них прописано условие на заполненность.
   John342
 
2 - 01.06.20 - 12:48
(1) А как связать реквизиты с данными? Это выполняется в свойствах реквизита? Или нужно как-то явно передавать это всё дело в качестве параметра?
   patria0muerte
 
3 - 01.06.20 - 16:46
(0) Проверить заполнение ты можешь вызвать из 2х мест.
Из формы (в контексте формы вызвать ПроверитьЗаполнение()) - в этом случае будут проверяться и реквизиты объекта с признаком "Выдавать ошибку" и реквизиты формы с этим же признаком
Из объекта (в модуле объекта вызвать ПроверитьЗаполнение()) - в этом случае будут проверяться только реквизиты объекта с признаком "Выдавать ошибку"
   John342
 
4 - 01.06.20 - 17:17
(3) Если я вызываю из формы, то как я и говорил ранее, в модуль объекта передаётся пустой массив для проверки. Правильно ли я понимаю, что если функцию я вызову из модуля объекта, то массив будет заполнен нужными мне реквизитами для проверки?
   МимохожийОднако
 
5 - 01.06.20 - 17:38
(4) Как создавал форму? Кто её Владелец?
   John342
 
6 - 01.06.20 - 17:42
(5) Форму создавал через Файл->Новый->Внешняя обработка. Там сделал форму и в ней уже создавал реквизиты. А вот кто владелец - пока не разобрался, как это смотреть.
   patria0muerte
 
7 - 01.06.20 - 17:46
(6) Так в том и суть, что ты создаешь Реквизиты ФОРМЫ и пытаешь проверить их в модуле ОБЪЕКТА. Объект не знает про реквизиты формы.
Проверяй в ОбработкаПроверкиЗаполнения у формы. Либо добавляй реквизиты непосредственно в сам объект и тогда ты увидишь их в модуле объекта
   МимохожийОднако
 
8 - 01.06.20 - 17:46
В данном случае владельцем обычно является внешняя обработка. У нее могут быть реквизиты, которые могут быть связаны с реквизитами формы, которые могут быть отображены на форме, в доме, который построил Джек.
   МимохожийОднако
 
9 - 01.06.20 - 17:48
Осталось почитать в справке про метод ПроверитьЗаполнение()  Где и в каком режиме живёт и процветает
   John342
 
10 - 01.06.20 - 17:55
(7) Получается, если я просто добавлю реквизиты "снаружи" формы, то модуль объекта будет ссылаться на них и тогда проверка заполнения будет работать корректно?
   John342
 
11 - 01.06.20 - 17:57
(8) Понял. Как patria0 и говорит, модуль объекта ничего не знает, что творится внутри формы. Нужно сколотить реквизиты за пределами формы.
   МимохожийОднако
 
12 - 01.06.20 - 17:58
(10) Это форма снаружи ) Сначала объект (в твоем случае обработка), а у нее уже форма. Форма может быть несколько
   John342
 
13 - 01.06.20 - 18:05
(12) Ещё раз для себя уяснить. Объект - это внешняя обработка, в ней я делаю 2 реквизита, которые мне нужны, и форму. В форме я создаю реквизиты формы. Осталось понять, как реквизиты объекта связать с реквизитами формы.
   МимохожийОднако
 
14 - 01.06.20 - 20:07
(13) Открываешь пустую форму и перетягиваешь реквизиты Объекта в левое окно. Если уже добавил реквизиты, то открываешь свойства каждого реквизита и переопределяешь путь к реквизитам Объекта. Результат один и тот же. Реквизиты формы связаны с реквизитами объекта (в данном случае, обработки)
   John342
 
15 - 01.06.20 - 21:18
(14) Не получается переместить реквизиты из объекта в форму и наоборот. Это наверно как-то включается?
   John342
 
16 - 01.06.20 - 22:14
(14) А, не, всё получилось. Только теперь понять бы, как передать значения в реквизиты объекта из формы.
   hhhh
 
17 - 02.06.20 - 03:33
(16) положить левую ногу на правую. И поудобнее устроиться в кресле. Главное не мешать.

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