|
Записать реквизит табличной части документа из обработки. | ☑ | ||
---|---|---|---|---|
0
Crimscon
09.08.18
✎
12:21
|
Есть обработка, которая при выходе проверяет, остались ли данные в табличной части обработки. И если не все, то выдает сообщение о том, что не все отсканировано. Но если данных в ТЧ нет, то она должна ставить флажок "отсканирован" в табличной части документа. В общем-то вопрос. Как это сделать?
Процедура ВыходНажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РейсоваяНакладнаяДокументыРейса.Отсканирован, | РейсоваяНакладнаяДокументыРейса.Контрагент |ИЗ | Документ.РейсоваяНакладная.ДокументыРейса КАК РейсоваяНакладнаяДокументыРейса |ГДЕ | РейсоваяНакладнаяДокументыРейса.Документ В(&Ссылка)"; Запрос.УстановитьПараметр("Ссылка", Настройки.Ссылка.ДокументыРейса.ВыгрузитьКолонку("Документ")); Отсканирован = Запрос.Выполнить().Выгрузить(); Для Каждого Клиент из Отсканирован Цикл Если Клиент.Контрагент.Наименование = Настройки.Контрагент И Клиент.Отсканирован = ЛОЖЬ И ТаблицаТоваров.Количество() = 0 Тогда Клиент.Отсканирован = ИСТИНА; //Настройки.Ссылка.Записать(); ЭтаФорма.Закрыть(); //ИначеЕсли ТаблицаТоваров.Количество() <> 0 Тогда // Сообщить("Не все товары отсканированы!") КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
hhhh
09.08.18
✎
13:09
|
(0) что конкретно не получается?
ПолучитьОбъект() у этого документа, сделать нужные действия, потом Записать() |
|||
2
КонецЕсли
09.08.18
✎
13:50
|
В запросе добавить
| РейсоваяНакладнаяДокументыРейса.Ссылка как ссылка, " Клиент.Отсканирован = ИСТИНА;" < - убрать ДокОбъект=Клиент.ссылка.ПолучитьОбъект(); ДокОбъект.Отсканирован = ИСТИНА; ДокОбъект.Записать(); |
|||
3
Crimscon
09.08.18
✎
13:52
|
Ссылка у меня получена в реквизите "Настройки". Всем спасибо, получилось вот так.
Накладная = Настройки.Ссылка.ПолучитьОбъект(); Если ТаблицаТоваров.Количество() = 0 Тогда Для Каждого Стр из Накладная.ДокументыРейса Цикл Если Стр.Контрагент.Наименование = Настройки.Контрагент Тогда Стр.Отсканирован = Истина; Накладная.Записать(); ЭтаФорма.Закрыть(); КонецЕсли; КонецЦикла; Иначе Сообщить("Не все товары отсканированы!"); ЭтаФорма.Закрыть(); КонецЕсли; |
|||
4
КонецЕсли
09.08.18
✎
13:52
|
(2) + Ошибся. У тя галка в ТЧ.
|
|||
5
КонецЕсли
09.08.18
✎
13:55
|
(3) Записать() надо один раз, а не в цикле.
Проверяй Модифицированность() и Записать() после цикла. |
|||
6
hhhh
09.08.18
✎
14:36
|
(5) да у него всё равно ЭтаФорма.Закрыть(); потом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |