|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
Здравствуйте! Недавно начал самостоятельно изучать 1С и столкнулся с такой проблемой. Есть справочник "Материалы", в нем есть табличная часть. В этой табличной части есть реквизит, который обязательно должен быть заполнен. Элементы справочника добавляются в стандартной форме, созданной конструктором Конфигуратора. Табличная часть справочника, понятное дело, заполняется в табличном поле, расположенном на этой форме. Чего хотелось бы - в обработчике события ПередЗаписью формы пройтись по строкам ТабличногоПоля и, если будет найдена строка с незаполненным обязательным реквизитом, выдать сообщение об ошибке и отказать в записи. Но я не могу перебрать строки ТабличногоПоля - такое ощущение, что в 1С такой возможности нет. Что делать? :) И вообще - правильно ли я хочу сделать? Неужели в 1С нет никаких стандартных средств для обработки незаполненных полей - типа, отметить галочку "Не пустое" и дальше формы бы ругались на незаполненные поля? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2008, 21:36 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
Для Каждого Переменная из Коллекция Цикл // тело цикла КонецЦикла; ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 01:52 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
В форме выставь "АвтоотметкаНезаполненого", пустой реквизит будет красным подчеркиватся. Но запрет на запись отдельно процедуру пишите. Вешайте на событие ПриЗаписи функцию ПроверитьРеквизитыШапки() докумета и ПроверитьРеквизитыТабличнойЧасти() документа. Если реквизит пустой - возврат "ложь" и не записывать документ. Перебор строк табличной части указан выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 09:38 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
Так, а как достучаться до табличной части, с которой связано табличное поле? Ведь итератором я могу перебрать тольку эту часть, а не само поле. Вообще, табличное поле связано со справочником Материалы, но до нажатия кнопки "Записать" в нем ведь еще нет данных, которые надо проверять. Растолкуйте, плиз... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 20:19 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
KaidenТак, а как достучаться до табличной части, с которой связано табличное поле? Ведь итератором я могу перебрать тольку эту часть, а не само поле. Вообще, табличное поле связано со справочником Материалы, но до нажатия кнопки "Записать" в нем ведь еще нет данных, которые надо проверять. Растолкуйте, плиз...Вобщето данные там есть. Но в принципе возможно сделать вариант чтобы их там не было до записи - что маловероятно. В этом случае пробегись по элементу формы - табличной части. ЭлементыФормы.ТвояТабличнаяЧасть ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 21:20 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
Если там есть данные - то как до них добраться? Под табличной частью понимается элемент управления "Табличное поле"? Как по нему пробежаться? Это ведь не коллекция, цикл Для Каждого... с ним не работает. Свойства, отвечающего за строки табличной поля, я не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 21:53 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
Кстати, версия 1С - 8.1, если это имеет значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 21:55 |
|
Проверка значений табличного поля
|
|||
---|---|---|---|
#18+
KaidenЕсли там есть данные - то как до них добраться? Под табличной частью понимается элемент управления "Табличное поле"? Как по нему пробежаться? Это ведь не коллекция, цикл Для Каждого... с ним не работает. Свойства, отвечающего за строки табличной поля, я не нашел.Эххх показывай весь код и говори что у тебя в табличной части и ее название ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2008, 01:10 |
|
|
start [/forum/topic.php?fid=28&fpage=159&tid=1524401]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 306ms |
total: | 450ms |
0 / 0 |