Имя: Пароль:
1C
1С v8
Заполнение таблицы из документа
0 ParamPamPam
 
26.11.18
12:26
Не могу разобраться как реализовать заполнение 3х колонок в таблице формы из документа и настроить печать макета по каждой строке
[URL=http://vfl.ru/fotos/408a252a24356651.html][IMG]http://images.vfl.ru/ii/1543224158/408a252a/24356651_s.jpg[/IMG][/URL]

Код кнопки "загрузить"
НомерПоставщика     = *****;
    ПоставщикПоле         = Документ.Организация;    
    ПолучательПоле        = Документ.Контрагент;
    ДатаПоле            = (Формат(Документ.Дата, "ДЛФ=Д"));  
    СтранаПоле            = "Россия";     
    
    
    
    
    Для Каждого СтрокаТовары Из Документ.Товары Цикл          
        ТабТовары.Очистить();
        НоменклатураПоле            = СтрокаТовары.Номенклатура.Наименование;
        ТабТовар.ЗаполнитьЗн         = СтрокаТовары.НомерСтроки;
        ТабТовары.Номенклатура         = СтрокаТовары.Номенклатура.Наименование;
        Если СтрокаТовары.КоличествоМест = неопределено Тогда
            КоличествоМестПоле        = 0;
        Иначе
            КоличествоМестПоле         = СтрокаТовары.КоличествоМест;
        КонецЕсли;    
        
        ВесБруттоПоле                = СтрокаТовары.ЕдиницаИзмерения.Вес * СтрокаТовары.Количество;
        ВесНеттоПоле                = 0;
        ВесТарыПоле                 = 0;
        ВесПаллетаПоле              = 0;
        
    КонецЦикла;
    
КонецПроцедуры

Кнопка - Выбрать
НомерТовара = НомерТовараПоле;
    СтрокаТвр            = ТабТовары.Получить(НомерТовара);
    НоменклатураПоле    = НомерТовара.Номенклатура.Наименование;
    Если СтрокаТвр.КоличествоМест = неопределено Тогда
        КоличествоМестПоле  = 0;
    Иначе
        КоличествоМестПоле     = СтрокаТвр.КоличествоМест;
    КонецЕсли;
    ВесБруттоПоле        = СтрокаТвр.ЕдиницаИзмерения.Вес * СтрокаТвр.Количество;
    ВесНеттоПоле        = 0;
    ВесТарыПоле         = 0;
    ВесПаллетаПоле      = 0;


Хочу что бы по кнп Загрузить - подтянулись данные в поля и таблицу
По кнопке выбрать - оператор выбирал товар по строке из таблицы, вводил дополнительные значения вручную (Нетто и проч)и выводил на печать

Это возможно?
1 ParamPamPam
 
26.11.18
12:27
<a href="http://vfl.ru/fotos/408a252a24356651.html"><img src="//images.vfl.ru/ii/1543224158/408a252a/24356651_s.jpg" alt="123" title="123" border="0"></a>
2 ParamPamPam
 
26.11.18
12:29
3 lamme
 
26.11.18
12:47
(0)
Это возможно?

Отвечаю
Это возможно!
4 ParamPamPam
 
26.11.18
12:50
(3)
Вот скрин формы
[url=https://d.radikal.ru/d02/1811/d3/74792cad95f8.jpg][img]https://d.radikal.ru/d02/1811/d3/74792cad95f8t.jpg[/img][/url]

Подскажи пожал как обратится к строке в документе и заполнить ей таблицу в форме
5 ParamPamPam
 
26.11.18
12:51
6 lamme
 
26.11.18
12:52
в таблицу - что на форме - сделать поле
типа - КодСтрокиВДокументе
соовтетственно - заполнить ее правильно
и по этому полю уже делать соответствие строки таблицы на форме и строки документа
7 lamme
 
26.11.18
12:52
через
МойДокумент.Товары.найти()
8 lamme
 
26.11.18
12:54
только в таком варианте - у тебя это все не сохраниться нигде
и при посл печати - оператору заново надо будет колбасить данные
9 lamme
 
26.11.18
12:54
а .. пардон
у тебя и так есть
   ТабТовар.ЗаполнитьЗн         = СтрокаТовары.НомерСтроки;
10 ParamPamPam
 
26.11.18
13:29
(9) Немного переделал форму с таблицей. Добавил колонки ВесНетто и др. для ручного ввода в таблице. добавил поле на форму "номер строки" и кнопку "выбрать" что бы оператор глядя в таблицу выбрал из неё строку по её номеру и отправил на печать.
Как из макета обратится к таблице на форме?


ОбластьМакета = Макет.ПолучитьОбласть("Макет");
    
    ОбластьМакета.Параметры.Поставщик         = ПоставщикПоле;
    ОбластьМакета.Параметры.НомерПоставщика = НомерПоставщика;
    ОбластьМакета.Параметры.Получатель        = ПолучательПоле;
    ОбластьМакета.Параметры.Дата              = ДатаПоле;
    ОбластьМакета.Параметры.Страна            = ТабТовары.;
    //Нстр.СтранаПроисхождения;
    ОбластьМакета.Параметры.Номенклатура    = Нстр.Номенклатура;
    ОбластьМакета.Параметры.КоличествоМест    = Нстр.КоличествоМест;
    ОбластьМакета.Параметры.ВесБрутто        = Нстр.ВесБрутто;
    ОбластьМакета.Параметры.ВесНетто         = Нстр.ВесНетто;
    ОбластьМакета.Параметры.ВесТары            = Нстр.ВесТары;
    ОбластьМакета.Параметры.ВесПаллета        = Нстр.ВесПаллета;
11 lamme
 
26.11.18
13:34
а нафига вообще так сложно ?
отдельная форма для формирования печатной формы ...

не проще ли в самом документе в ТЧ сделать дополнительные колонки
и их  - или программно из реквизитов номенклатуры заполнять (вес-объем...)
или пусть пользователь заполняет в документе
или пусть пользователь заполняет в отдельной форме.

Плюс - при повторной печати этого же самого документа - все уже будет введено

Минус  - а если документ в закрытом периоде ...
12 lamme
 
26.11.18
13:35
или сделать отдельный РС
куда писать все то - что пользователь заполнит один раз
тогда вопрос с датой запрета - отваливается.
Док провели - все .. записи есть.
док распровели - записей нет..
13 lamme
 
26.11.18
13:35
и тд
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс