|
|
нет значения в поле в процедуре ПередЗаписью |
☑ |
|
0
falselight
15.01.17
✎
08:04
|
В процедуре перед записью, нужно проверять заполнено ли поле в
табличной части документа. Но если делать выборку запросом
то в выборке оно не заполнено.
а если смотреть ЭтотОбъект.Услуги[0].Услуга
то оно заполнено. Как тут быть? Получается если делать выборку запросом то там пусто.
|
|
|
1
falselight
15.01.17
✎
08:05
|
думаю перебирать ЭтотОбъект.Услуги и там и смотреть
|
|
|
2
vi0
15.01.17
✎
08:13
|
Смотри как сделано в типовых
|
|
|
3
Cool_Profi
15.01.17
✎
08:25
|
Так объект-то ещё не записан...
Откуда в запросе данные-то возьмутся?
|
|
|
4
falselight
15.01.17
✎
08:36
|
(3) ну то есть правильно как в (1) ?
//НомерСтроки = 1;
//Запрос = Новый Запрос;
//Запрос.Текст = "
// |ВЫБРАТЬ
// | Док.Услуга,
// | Док.КоличествоПройдено
// |ИЗ
// | Документ.Док.Услуги КАК Док
// |ГДЕ
// | Док.Ссылка = &Ссылка";
//Запрос.УстановитьПараметр("Ссылка", Ссылка);
//Рез = Запрос.Выполнить();
//Если Не Рез.Пустой() Тогда
// Выборка = Рез.Выбрать();
// Пока Выборка.Следующий() Цикл
// Если Не ЗначениеЗаполнено(Выборка.Услуга) и Выборка.КоличествоПройдено <> 0 Тогда
// Сообщить("В строке " + СТРОКА(НомерСтроки) + " не заполнено название процедуры");
// Отказ = Истина;
// КонецЕсли;
// КонецЦикла;
// НомерСтроки = НомерСтроки + 1;
//КонецЕсли;
//
Для каждого Стр Из ЭтотОбъект.Услуги Цикл
Если Не ЗначениеЗаполнено(Стр.Услуга) и Стр.КоличествоПройдено <> 0 Тогда
Сообщить("В строке " + СТРОКА(Стр.НомерСтроки) + " не заполнено название процедуры");
Отказ = Истина;
КонецЕсли;
КонецЦикла;
|
|
|
5
Cool_Profi
15.01.17
✎
08:45
|
(4) Да. Лучше так.
|
|
|
6
DrZombi
гуру
15.01.17
✎
09:08
|
(0) Делай выборку в цикле :)
|
|
|
7
Мимохожий Однако
15.01.17
✎
09:40
|
(0) Используй ПроверитьЗаполнение() для объекта. В СП есть подробная справка. У обязательных элементов включи признак сообщить об ошибке.
|
|