Имя: Пароль:
1C
 
ОбработкаЗаполнения
0 lamme
 
11.09.20
16:57
УТ11 УФ
Есть докумен - Заказ поставщику
на основании него осздается самописный документ. Через ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

В ДанныеЗаполнения - документ-основание.
тут все правильно.
---
Задача - стоим в списке документ Заказ поставщику. Выбираем несколько докуемнтов. Кликаем - создать на основании. И все выбранные ЗП - попадают в обработку нового документа
Т.е. чтобы на основании нескольких документов создавался один документ - сводный.

Как реализаовать передачу в ДанныеЗаполнения - массива/списка выбранных документов
1 Ёпрст
 
11.09.20
17:03
(0) элементарно жешьь

объодишь коллекцию выделенных строк и пихаешь в структуру
2 Ёпрст
 
11.09.20
17:03
в ОбработкаЗаполнения имеешь эту структуру
3 lamme
 
11.09.20
17:05
это понятно что элементарно

в каком месте пихать список этот ?

встал точкой остановки на ОбработкаЗаполнения - а в ответ - тишина
те откуда вызвалось - не понятно
4 lamme
 
11.09.20
17:05
ну, вернее, понятно - что это , скорее всего , на уровне платформы процедуры описаны служебные ...
но как вклиниться ?
5 acht
 
11.09.20
17:06
(3) У формы параметр есть, ЗначенияЗаполнения называется
6 RomanYS
 
11.09.20
17:07
(3) Если объект создается программно, то можно явно вызвать Объект.Заполнить(ДанныеЗаполнения).
Если ты открываешь форму, то достаточно засунуть ДанныеЗаполнения в нужный параметр ОткрытьФорму
7 lamme
 
11.09.20
17:09
(6)
Я открыл список документов. на экране. выделил несколько доков. нажал на Ввести на основании ...
в какое место кода надо засунуть ..
вот в чем вопрос.

то что передать и куда передать -это понятно ..
а вот где это .. не понятно
8 lamme
 
11.09.20
17:09
(5)
интересненько
9 Ёпрст
 
11.09.20
17:10
(3) ну..
создай команду в форме списка дока, повесь ёё вызов на контекстное меню, например

далее, тип того:


&НаКлиенте
Процедура ОткрытьДокНаОсновании()
    ТабличкаДоков = Новый ТаблицаЗначений;
    ТаблицаМарок.Колонки.Добавить("ССылка");
    
    СтруктураПараметры = Новый Структура;
    Для каждого СтрокаДокумента ИЗ Элементы.ТвоеТабличноеПолеНаФорме.ВыделенныеСтроки Цикл
            тут пихаешь в табличку ссылки, используя метод НайтиПоИдентификатору, например

    КонецЦикла;
    Структура = Новый Структура;
    Структура.Вставить("ТабличкаДокументов",Табличка);
    СтруктураПараметры = Новый Структура;
    СтруктураПараметры.Вставить("Основание", Структура);
    ОткрытьФорму("Документ.ТвойДокументЗаказЧегототам.ФормаОбъекта", СтруктураПараметры);
10 lamme
 
11.09.20
17:12
ну .. это я тоже понимаю .. что отд кнопку сделать можно
но должно ж как-то красиво быть.

тогда в ОбработкаЗаполнения - можно передавать или 1 док или списко доков...
ну не верю  - что такое штатно не сделано
11 lamme
 
11.09.20
17:12
(5)
не вижу

https://c2n.me/493l5wJ
12 acht
 
11.09.20
17:14
(11) В форме списка-то? Ну-ну.
13 lamme
 
11.09.20
17:14
(11)
а где ?
14 acht
 
11.09.20
17:16
(13) В форме целевого объекта, знамо дело. Оно туда прилетает заполненное или платформой, или тобой.
15 lamme
 
11.09.20
17:18
(14)
так вводнаосновнии - отрабатывается на сервере - до создания формы
16 lamme
 
11.09.20
17:23
понял.
это вариант через доп кнопку / доп команду

правильно ?
те когда идет команда Открытьформу ..
17 RomanYS
 
11.09.20
17:35
(16) Да. В (9) практически всё что тебе надо
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан