polax
То что вы описали я это уже сделал,кроме пункта 3(на этом у меня и ступор):

Сообщение от polax

Примерно так:
1. Заимствовать док ПТУ
2. В модуле менеджера в После Процедура ДобавитьКомандыПечати добавить нужную команду
3. Там же в Перед Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Сделать вывод своего макета через созданную в расширении процедуры и функции по типу как в трог12 но адаптированную под ваш макет
У меня проблема с выводом, так как например в ТОРГ12 используется запрос и очень сложно получается массивобъектов и прочее, которые потому служат для вывода в процедуре Печать. То есть я пытался по аналогии сделать,но ужасно сложно и одни ошибки вылазят.
А мой макет уже реализован в самописной конфигурации в модуле формы документа. И там всё намного проще:
| 1C |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
&НаКлиенте
Функция ВернутьСтруктуруПараметровПечатнойФормы(ИмяМакета) Экспорт
СтруктуруПараметровПечатнойФормы = Неопределено;
Если ИмяМакета = "М_7" Тогда
СтруктуруПараметровПечатнойФормы = Новый Структура;
СтруктуруПараметровПечатнойФормы.Вставить("Макет", "");
СтруктуруПараметровПечатнойФормы.Вставить("Номер", "");
СтруктуруПараметровПечатнойФормы.Вставить("Организация", "");
СтруктуруПараметровПечатнойФормы.Вставить("КодОКПО", "");
СтруктуруПараметровПечатнойФормы.Вставить("РуководительДолжность", "");
СтруктуруПараметровПечатнойФормы.Вставить("Руководитель", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаСоставленияДень", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаСоставленияМесяц", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаСоставленияГод", "");
СтруктуруПараметровПечатнойФормы.Вставить("Дата", "");
СтруктуруПараметровПечатнойФормы.Вставить("Склад", "");
СтруктуруПараметровПечатнойФормы.Вставить("ВремяНачалоПриемкиЧас", "");
СтруктуруПараметровПечатнойФормы.Вставить("ВремяНачалоПриемкиМинута", "");
СтруктуруПараметровПечатнойФормы.Вставить("ВремяОкончанияПриемкиЧас", "");
СтруктуруПараметровПечатнойФормы.Вставить("ВремяОкончанияПриемкиМинута", "");
СтруктуруПараметровПечатнойФормы.Вставить("СопроводительныйДокумент", "");
СтруктуруПараметровПечатнойФормы.Вставить("УдостоверениеОКачествеНомер", "");
СтруктуруПараметровПечатнойФормы.Вставить("Станция", "");
СтруктуруПараметровПечатнойФормы.Вставить("ТранспортныйДокументНомер", "");
СтруктуруПараметровПечатнойФормы.Вставить("ТранспортныйДокументДата", "");
СтруктуруПараметровПечатнойФормы.Вставить("ТранспортныйДокументВагоны", "");
СтруктуруПараметровПечатнойФормы.Вставить("Отправитель", "");
СтруктуруПараметровПечатнойФормы.Вставить("Поставщик", "Он же");
СтруктуруПараметровПечатнойФормы.Вставить("Получатель", "");
СтруктуруПараметровПечатнойФормы.Вставить("СтраховаяКомпания", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаОтправки", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДоговорНомер", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДоговорДата", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаИНомерТелефонограммыОтправителя", "");
СтруктуруПараметровПечатнойФормы.Вставить("ПереченьНФА", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаВремяПрибытияНаСтанцию", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаВремяВыдачиГрузаОрганомТранспорта", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаВремяВскрытияВагонаИДругихТранспортныхСредств", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаВремяДоставкиНаСкладПолучателя", "");
СтруктуруПараметровПечатнойФормы.Вставить("УсловияХраненияНаСкладеПолучателя", "");
СтруктуруПараметровПечатнойФормы.Вставить("СостояниеТарыИУпаковкиВМоментОсмотраПродукции", "");
СтруктуруПараметровПечатнойФормы.Вставить("КоличествоНедостающейПродукцииОпределено", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДругиеДанные", "");
СтруктуруПараметровПечатнойФормы.Вставить("ЗаключениеКомиссии", "");
СтруктуруПараметровПечатнойФормы.Вставить("ПереченПрилагаемыхДокументов", "");
СтруктуруПараметровПечатнойФормы.Вставить("Должность1", "");
СтруктуруПараметровПечатнойФормы.Вставить("Сотрудник1", "");
СтруктуруПараметровПечатнойФормы.Вставить("НомерДатаДокументаОВыдачеПолномочий", "");
СтруктуруПараметровПечатнойФормы.Вставить("Должность2", "");
СтруктуруПараметровПечатнойФормы.Вставить("Сотрудник2", "");
СтруктуруПараметровПечатнойФормы.Вставить("НомерДатаДокументаОВыдачеПолномочи2", "");
СтруктуруПараметровПечатнойФормы.Вставить("Должность3", "");
СтруктуруПараметровПечатнойФормы.Вставить("Сотрудник3", "");
СтруктуруПараметровПечатнойФормы.Вставить("НомерДатаДокументаОВыдачеПолномочи3", "");
СтруктуруПараметровПечатнойФормы.Вставить("ДатаОприходованияМатериальныхЦенностей", "");
СтруктуруПараметровПечатнойФормы.Вставить("КоммерческийАктНомер", "");
СтруктуруПараметровПечатнойФормы.Вставить("ЗаведующийСкладом", "");
КонецЕсли;
ВОзврат СтруктуруПараметровПечатнойФормы;
КонецФункции
|
|
| 1C |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
&НаКлиенте
Процедура ПечатьМ7(Команда)
СтруктураПараметров = РаботаСПечатнымиФормами.ВернутьСтруктуруПараметровПечатнойФормы("М_7");
ЗаполнитьСтруктуруПараметровПечати(СтруктураПараметров);
РаботаСПечатнымиФормами.Печать_М_7(СтруктураПараметров);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСтруктуруПараметровПечати(СтруктураПараметров)
СтруктураПараметров.Макет = ПолучитьОбщийМакет("М_7");
СтруктураПараметров.Номер = Объект.Номер;
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.КодОКПО = Объект.Организация.КодОКПО;
СтруктураДанныхРуководителя = ОбщегоНазначения.ВернутьСтруктуруДанныхРуководителя(Объект.Дата, Объект.Организация);
СтруктураПараметров.РуководительДолжность = ?(СтруктураДанныхРуководителя = Неопределено, "", СтруктураДанныхРуководителя.Должность);
СтруктураПараметров.Руководитель = ?(СтруктураДанныхРуководителя = Неопределено, "", СтруктураДанныхРуководителя.Сотрудник);
СтруктураПараметров.ДатаСоставленияДень = Формат(День(Объект.Дата), "ЧЦ=2; ЧДЦ=0; ЧВН=; ЧГ=0");
СтруктураПараметров.ДатаСоставленияМесяц = Формат(Месяц(Объект.Дата), "ЧЦ=2; ЧДЦ=0; ЧВН=; ЧГ=0");
СтруктураПараметров.ДатаСоставленияГод = Формат(Год(Объект.Дата), "ЧЦ=4; ЧДЦ=0; ЧГ=0");
СтруктураПараметров.Дата = Объект.Дата;
СтруктураПараметров.Склад = Объект.Склад;
СтруктураПараметров.ВремяНачалоПриемкиЧас = Формат(Час(Объект.ВремяНачалоПриемки), "ЧЦ=2; ЧДЦ=0; ЧН=00; ЧВН=; ЧГ=0");
СтруктураПараметров.ВремяНачалоПриемкиМинута = Формат(Минута(Объект.ВремяНачалоПриемки), "ЧЦ=2; ЧДЦ=0; ЧН=00; ЧВН=; ЧГ=0");
СтруктураПараметров.ВремяОкончанияПриемкиЧас = Формат(Час(Объект.ВремяОкончанияПриемки), "ЧЦ=2; ЧДЦ=0; ЧН=00; ЧВН=; ЧГ=0");
СтруктураПараметров.ВремяОкончанияПриемкиМинута = Формат(Минута(Объект.ВремяОкончанияПриемки), "ЧЦ=2; ЧДЦ=0; ЧН=00; ЧВН=; ЧГ=0");
СтруктураПараметров.СопроводительныйДокумент = Объект.СопроводительныйДокумент;
СтруктураПараметров.УдостоверениеОКачествеНомер = Объект.УдостоверениеОКачествеНомер;
СтруктураПараметров.Станция = Объект.Станция;
СтруктураПараметров.ТранспортныйДокументНомер = Объект.ТранспортныйДокументНомер;
СтруктураПараметров.ТранспортныйДокументДата = Формат(Объект.ТранспортныйДокументДата, "ДФ=dd.MM.yyyy");
СтруктураПараметров.ТранспортныйДокументВагоны = Объект.ТранспортныйДокументВагоны;
СтруктураПараметров.Отправитель = Объект.Отправитель;
СтруктураПараметров.Поставщик = Объект.Поставщик;
СтруктураПараметров.Получатель = Объект.Организация;
СтруктураПараметров.СтраховаяКомпания = Объект.СтраховаяКомпания;
СтруктураПараметров.ДатаОтправки = Формат(Объект.ДатаОтправки, "ДФ=dd.MM.yyyy");
СтруктураПараметров.ДоговорНомер = Объект.Договор.Номер;
СтруктураПараметров.ДоговорДата = Формат(Объект.Договор.Дата, "ДФ=dd.MM.yyyy");
СтруктураПараметров.ДатаИНомерТелефонограммыОтправителя = Объект.ДатаИНомерТелефонограммыОтправителя;
СтруктураПараметров.ПереченьНФА = Новый Массив;
Для Каждого Стр Из Объект.НФА Цикл
СтруктураНФА = Новый Структура;
СтруктураНФА.Вставить("ВидУпаковки", Стр.ВидУпаковки);
СтруктураНФА.Вставить("ЕдИзм", Стр.ЕдИзм);
СтруктураНФА.Вставить("Количество", Стр.Количество);
СтруктураНФА.Вставить("ОбъектНФА", Стр.ОбъектНФА);
СтруктураНФА.Вставить("Опломбировано", ?(Стр.Опломбировано, "Опломбировано", ""));
СтруктураНФА.Вставить("Масса", ВернутьМассуДляМ_7(Стр.Количество, Стр.ОбъектНФА));
СтруктураНФА.Вставить("ОтметкаОтправителя", Стр.ОтметкаОтправителя);
СтруктураПараметров.ПереченьНФА.Добавить(СтруктураНФА);
КонецЦикла;
СтруктураПараметров.ДатаВремяПрибытияНаСтанцию = Объект.ДатаВремяПрибытияНаСтанцию;
СтруктураПараметров.ДатаВремяВыдачиГрузаОрганомТранспорта = Объект.ДатаВремяВыдачиГрузаОрганомТранспорта;
СтруктураПараметров.ДатаВремяВскрытияВагонаИДругихТранспортныхСредств = Объект.ДатаВремяВскрытияВагонаИДругихТранспортныхСредств;
СтруктураПараметров.ДатаВремяДоставкиНаСкладПолучателя = Объект.ДатаВремяДоставкиНаСкладПолучателя;
СтруктураПараметров.УсловияХраненияНаСкладеПолучателя = Объект.УсловияХраненияНаСкладеПолучателя;
СтруктураПараметров.СостояниеТарыИУпаковкиВМоментОсмотраПродукции = Объект.СостояниеТарыИУпаковкиВМоментОсмотраПродукции;
СтруктураПараметров.КоличествоНедостающейПродукцииОпределено = Объект.КоличествоНедостающейПродукцииОпределено;
СтруктураПараметров.ДругиеДанные = Объект.ДругиеДанные;
СтруктураПараметров.ЗаключениеКомиссии = Объект.ЗаключениеКомиссии;
СтруктураПараметров.ПереченПрилагаемыхДокументов = Объект.ПереченПрилагаемыхДокументов;
СтруктураПараметров.Должность1 = Объект.Должность1;
СтруктураПараметров.Сотрудник1 = Объект.Сотрудник1;
СтруктураПараметров.НомерДатаДокументаОВыдачеПолномочий = Объект.НомерДатаДокументаОВыдачеПолномочий1;
СтруктураПараметров.Должность2 = Объект.Должность2;
СтруктураПараметров.Сотрудник2 = Объект.Сотрудник2;
СтруктураПараметров.НомерДатаДокументаОВыдачеПолномочи2 = Объект.НомерДатаДокументаОВыдачеПолномочий2;
СтруктураПараметров.Должность3 = Объект.Должность3;
СтруктураПараметров.Сотрудник3 = Объект.Сотрудник3;
СтруктураПараметров.НомерДатаДокументаОВыдачеПолномочи3 = Объект.НомерДатаДокументаОВыдачеПолномочий3;
СтруктураПараметров.ДатаОприходованияМатериальныхЦенностей = Объект.ДатаОприходованияМатериальныхЦенностей;
СтруктураПараметров.КоммерческийАктНомер = Объект.КоммерческийАктНомер;
СтруктураПараметров.ЗаведующийСкладом = Объект.ЗаведующийСкладом;
КонецПроцедуры
|
|
| 1C |
1
2
3
4
5
6
7
|
&НаКлиенте
Процедура Печать_М_7(СтруктураПараметров) Экспорт
ТабДок = РаботаСПечатнымиФормамиСервер.ВернутьТабДок_М_7(СтруктураПараметров);//ВернутьТабДок_М_7(СтруктураПараметров);
ПараметрыФормыПечати = Новый Структура("ТабДок", ТабДок);
ОткрытьФорму("ОбщаяФорма.ФормаПечати", ПараметрыФормыПечати);
КонецПроцедуры
|
|
Могу ли я как то похожим способом реализовать (ибо в БП 3.0 совсееем по-другому все данные берутся) ?

Сообщение от polax

И все это ради чего? Если это реальная задача, то ВПФ не вмешивается в конфигурацию и в данном случае и по-проще (не просто, а чуть легче) и правильней расширения
А ради того, что я буду разбираться в этом и смогу в других типовых конфигурациях уже делать таким образом, если от меня потребуют.
0
|