Как сохранить пометки в табличной части обработки
Есть 2 таблицы: таблица по документу-основанию и таблица по товарным позициям. Я выбираю документ и смотрю товарные позиции по нему. Отмечаю галочками некоторые позиции по товарам и перехожу к другому документу. В первом документе почему-то остаются не отмеченными позиции по документу-основанию. Как их сохранить? Конфигурация УТ 10.3.
Процедура ТабДокументыПриАктивизацииСтроки(Элемент)
СписокТоваров.Очистить();
СписокДокументов.Очистить();
Если (ТипЗнч(Элемент.ТекущиеДанные.Документ) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг")) Тогда
ДокументТЗ = Элемент.ТекущиеДанные.Документ;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокументТЗ", ДокументТЗ);
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.НомерСтроки,
| ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения,
| ПоступлениеТоваровУслугТовары.Количество,
| ПоступлениеТоваровУслугТовары.Цена,
| ПоступлениеТоваровУслугТовары.Сумма,
| ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
| ЛОЖЬ КАК Отметка,
| ПоступлениеТоваровУслугТовары.СерияНоменклатуры,
| ПоступлениеТоваровУслугТовары.Номенклатура.Производитель
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка = &ДокументТЗ";
Тз = Новый ТаблицаЗначений;
Тз = Запрос.Выполнить().Выгрузить();
Для Каждого ТекущаяСтрока Из Тз Цикл
НоваяСтрока = СписокТоваров.Добавить();
НоваяСтрока.НомерСтроки = ТекущаяСтрока.НомерСтроки;
НоваяСтрока.Отметка = СокрЛП(Строка(ТекущаяСтрока.Отметка));
НоваяСтрока.Номенклатура = ТекущаяСтрока.Номенклатура;
НоваяСтрока.Производитель = ТекущаяСтрока.Номенклатура.Производитель;
НоваяСтрока.ХарактеристикаНоменклатуры = ТекущаяСтрока.ХарактеристикаНоменклатуры;
НоваяСтрока.СерияНоменклатуры = ТекущаяСтрока.СерияНоменклатуры;
НоваяСтрока.ЕдиницаИзмерения = ТекущаяСтрока.ЕдиницаИзмерения;
НоваяСтрока.Количество = Строка(Строка(ТекущаяСтрока.Количество));
НоваяСтрока.Цена = Строка(Строка(ТекущаяСтрока.Цена));
НоваяСтрока.Сумма = Строка(Строка(ТекущаяСтрока.Сумма));
КонецЦикла;
КонецЕсли;
ДокументТЗ = Элемент.ТекущиеДанные.Документ;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокументТЗ", ДокументТЗ);
Запрос.Текст =
"ВЫБРАТЬ
| ЛОЖЬ КАК Отметка,
| ПоступлениеТоваровУслуг.Ссылка
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Ссылка = &ДокументТЗ";
Тз = Новый ТаблицаЗначений;
Тз = Запрос.Выполнить().Выгрузить();
Для Каждого ТекущаяСтрока Из Тз Цикл
НоваяСтрока = СписокДокументов.Добавить();
НоваяСтрока.НомерСтроки = ТекущаяСтрока.НомерСтроки;
НоваяСтрока.Отметка = СокрЛП(Строка(ТекущаяСтрока.Отметка));
НоваяСтрока.Документ = ТекущаяСтрока.Ссылка;
КонецЦикла;
КонецПроцедуры
Процедура КнопкаВыполнитьНажатие(Кнопка)
Для каждого СтрТов из СписокТоваров Цикл
Если СтрТов.Отметка = Истина Тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивНоменклатур", СписокТоваров.Выгрузить().Скопировать(Новый Структура("Отметка",Истина)).ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("ДатаНач", ЭлементыФормы.НачДата.Значение);
Запрос.УстановитьПараметр("ДатаКон", ЭлементыФормы.КонДата.Значение);
Запрос.Текст = "ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Дата КАК Дата,
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслуг.Организация,
| ПоступлениеТоваровУслуг.Контрагент,
| ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
| ПоступлениеТоваровУслуг.ДоговорКонтрагента,
| ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения,
| ПоступлениеТоваровУслугТовары.Количество,
| ПоступлениеТоваровУслугТовары.Коэффициент,
| ПоступлениеТоваровУслугТовары.Номенклатура,
| ПоступлениеТоваровУслугТовары.СтавкаНДС,
| ПоступлениеТоваровУслугТовары.Сумма КАК Сумма,
| ПоступлениеТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
| ПоступлениеТоваровУслугТовары.Цена КАК Цена,
| ПоступлениеТоваровУслугТовары.Склад,
| ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
| ПоступлениеТоваровУслуг.СкладОрдер,
| ПоступлениеТоваровУслугТовары.НомерСтроки,
| ПоступлениеТоваровУслугТовары.Номенклатура.Производитель,
| ПоступлениеТоваровУслугТовары.СерияНоменклатуры
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка
|ГДЕ
| ПоступлениеТоваровУслугТовары.Номенклатура В(&МассивНоменклатур)
| И ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон";
РезультатЗапроса = Запрос.Выполнить();
тз = Новый("ТаблицаЗначений");
тз = Запрос.Выполнить().Выгрузить();
ДокРеализация = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокРеализация.Дата = ТекущаяДата();
Для Каждого Строка из тз Цикл
ДокРеализация.Организация = Строка.Организация;
ДокРеализация.Склад = Строка.СкладОрдер;
ДокРеализация.Контрагент = Строка.Контрагент;
ДокРеализация.ДоговорКонтрагента = Строка.ДоговорКонтрагента;
КонецЦикла;
ДокРеализация.Товары.Очистить();
ДокРеализация.Товары.Загрузить(тз);
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокРеализация, "Продажа", Неопределено);
ДокРеализация.Записать();
ДокРеализация.ПолучитьФорму().Открыть();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
СозданиеРТУНаОснованииПТУ.epf
По теме из базы знаний
- Загрузка табличной части из Экселя в 1С8
- Универсальные подбор и обработка объектов с установкой реквизитов табличных частей. Версия 1.9.28 (управляемое и обычное приложение) 8.2/8.3
- Универсальный журнал документов с выводом табличной части (Управляемые формы 1С)
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Отладка обработки по заполнению табличной части в конфигурации под замком. 1С 8.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот