Добрый вечер,
небольшой вопрос.
Есть док-т "Лист" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".
из этого док-та открывается по кнопке обработка "Перенос" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".
Как сделать так, чтобы ТЧ обработки при открытии заполнялась строками и значениями из ТЧ документа?
Управляемые формы, 1С 8.3
Заранее спасибо.
небольшой вопрос.
Есть док-т "Лист" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".
из этого док-та открывается по кнопке обработка "Перенос" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".
Как сделать так, чтобы ТЧ обработки при открытии заполнялась строками и значениями из ТЧ документа?
Управляемые формы, 1С 8.3
Заранее спасибо.
По теме из базы знаний
- Перенос авансовых отчетов в ББУ8 и БГУ8
- Заполнение Отчета комиссионера из табличного документа УТ 11, КА, ERP
- Мониторинг ПФР/Минтруда по приказу № Пр-366. Форма для сбора сведений о заработной плате работников бюджетной сферы. Автоматическое заполнение с возможностью корректировки и консолидации и выгрузка в формате XML. ЗГУ/ЗУП 3.1
- Перепроведение документов с отменой проведения
- Заполнение Отчета производства за смену по документам Отчет мастера смены (УПП 1.3)
Найденные решения
(11)
Чуть изменил процедуру в обработке, теперь вроде все ок.)
Чуть изменил процедуру в обработке, теперь вроде все ок.)
Если НЕ Параметры.Свойство("МассивСтрок") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
МассивСтрок = Параметры.МассивСтрок;
Для каждого Элемент из МассивСтрок Цикл
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);
НоваяСтрока.КоличествоЦенников=Элемент.КоличествоУпаковок;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Перед открытием обработки прописываем параметры:
В обработке ПередОткрытиемНаСервере проверяем наличие и заполненность параметров и заполняем реквизиты обработки.
ПараметрыОткрытия = Новый Структура;
ТаблицаДляПередачи = Объект.Товары.Выгрузить();
СтрокаТаблицаДляПередачи = ЗначениеВСтрокуВнутр(ТаблицаДляПередачи);
Параметры открытия.Вставить("Номенклатура", Объект.НашаНоменклатура);
Параметры открытия.Вставить("Количество", Объект.НашеКоличество);
Параметры открытия.Вставить("Таблица", СтрокаТаблицаДляПередачи );
В обработке ПередОткрытиемНаСервере проверяем наличие и заполненность параметров и заполняем реквизиты обработки.
(3)
я делал вот как:
Но так передается только текущая выделенная строка из док-та, а хочется передать все строки, которые есть в ТЧ док-та.)
я делал вот как:
&НаКлиенте
//В док-те, из которого открывается обработка
Процедура ПечатьЭтикеток(Команда)
ТекСтрока = Элементы.Товары.ТекущиеДанные;
Если ТекСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Параметр = Новый Структура;
ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");
ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);
ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыПередаваемые,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
//В обработке
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("Номенклатура")И Параметры.Свойство("КоличествоУпаковок") Тогда
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = Параметры.Номенклатура;
НоваяСтрока.КоличествоЦенников = Параметры.КоличествоУпаковок;
КонецЕсли
ПоказатьНо так передается только текущая выделенная строка из док-та, а хочется передать все строки, которые есть в ТЧ док-та.)
МассивСтрок = Новый Массив;
Для Каждого ТекСтрока из Объект.Товары Цикл
ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");
ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);
МассивСтрок.Добавить(ПараметрыПередаваемые);
КонецЦикла;
ПараметрыФормы = Новый СТруктура;
ПараметрыФормы.Вставить(МассивСтрок);
ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыФормы);
Показать
(7)
При передаче чуток переделайте:
В обработке:
При передаче чуток переделайте:
ПараметрыФормы = Новый СТруктура;
ПараметрыФормы.Вставить("МассивСтрок", МассивСтрок);
В обработке:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ Параметры.Свойство("МассивСтрок") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
МассивСтрок = Параметры.МассивСтрок;
Для каждого Элемент из МассивСтрок Цикл
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);
КонецЦикла;
КонецПроцедуры;
Показать
Вот что написал:
в док-те:
в обработке:
в итоге, строки ТЧ документа передаются в обработку, а кол-во номенклатуры - нет.
Это может быть из-за того, что в форме док-та у кол-ва имя "КоличествоУпаковок", а в обработке "КоличествоЦенников"?
в док-те:
&НаКлиенте
Процедура ПечатьЭтикеток(Команда)
МассивСтрок = Новый Массив;
Для Каждого ТекСтрока из Объект.Товары Цикл
ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");
ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);
МассивСтрок.Добавить(ПараметрыПередаваемые);
КонецЦикла;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("МассивСтрок", МассивСтрок);
ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыФормы);
КонецПроцедуры
Показатьв обработке:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ Параметры.Свойство("МассивСтрок") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
МассивСтрок = Параметры.МассивСтрок;
Для каждого Элемент из МассивСтрок Цикл
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);
КонецЦикла;
КонецПроцедуры
Показатьв итоге, строки ТЧ документа передаются в обработку, а кол-во номенклатуры - нет.
Это может быть из-за того, что в форме док-та у кол-ва имя "КоличествоУпаковок", а в обработке "КоличествоЦенников"?
(11)
Чуть изменил процедуру в обработке, теперь вроде все ок.)
Чуть изменил процедуру в обработке, теперь вроде все ок.)
Если НЕ Параметры.Свойство("МассивСтрок") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
МассивСтрок = Параметры.МассивСтрок;
Для каждого Элемент из МассивСтрок Цикл
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);
НоваяСтрока.КоличествоЦенников=Элемент.КоличествоУпаковок;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот