Имя: Пароль:
1C
1С v8
ПКО-РКО
0 Maxwell198705
 
17.06.15
07:57
У кого есть внешняя печатная форма для ПКО и РКО конф  Розница, дайте пож-та.
или может кто подскажет, почему вылазть ошибка модуля
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(225)}: Недостаточно фактических параметров
    ВнешняяОбработкаОбъект.Печать(.
Скопировал всё с модуля менеджера документов, а какого то параметра всё равно не хватает.
1 Mankubus
 
17.06.15
08:00
(0) открой внешнюю обработку и посмотри какие параметры в процедуре Печать()
2 Maxwell198705
 
17.06.15
09:05
вот с такими параметрами функции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПКО",
                "Приходный кассовый ордер",
                СформироватьПечатнуюФормуКО1(МассивОбъектов, ОбъектыПечати));
    
    
КонецПроцедуры
Теперь вываливается ошибка
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(237)}: В обработчике печати не был сформирован табличный документ для: ВПФ ПКО_Внешняя
            ВызватьИсключение(ТекстСообщенияОбОшибке);

модуль процедури общего модуля в котором возникает ошибка
    // Проверим, все ли макеты были сформированы.
    Для Каждого Стр Из КоллекцияПечатныхФорм Цикл
        Если Стр.ТабличныйДокумент = Неопределено Тогда
            ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"),
                Стр.ИмяМакета);
            ВызватьИсключение(ТекстСообщенияОбОшибке);
        КонецЕсли;
        
        Стр.ТабличныйДокумент.КоличествоЭкземпляров = Стр.Экземпляров;
    КонецЦикла;
3 dangerouscoder
 
17.06.15
09:10
(0) сам долго ковырялся с РКО правда для БП 3.0
может поможет статья http://catalog.mista.ru/public/180159/
4 Maxwell198705
 
17.06.15
09:37
сформировал с указанными там параметрами, при запуске в толстом клиенте выводится на печать, а в тонком, пишет сообщение
{ВнешняяОбработка.ПКО.МодульОбъекта(142)}: Ошибка при вызове метода контекста (Показать)
    ТабличныйДокумент.Показать();
по причине:
Метод недоступен на сервере


но текст обработки располагается в модуле обработки.
5 Gray776
 
17.06.15
09:46
(4) Ну вроде написала программа что:
"Ошибка при вызове метода контекста (Показать)
    ТабличныйДокумент.Показать();
по причине:
Метод недоступен на сервере "

Замени на доступный метод :) Если что я не в курсе какой доступный ...
6 Maxwell198705
 
17.06.15
09:46
ТабДок =     СформироватьПечатнуюФормуКО1(МассивОбъектов, ОбъектыПечати);
            ТабДок.Показать();


вот такоей метод вывода использую
7 Aprobator
 
17.06.15
09:48
Во внешней печатной форме, если про неё речь, конечно, методу показать - делать нечего.
8 VikingKosmo
 
17.06.15
09:48
(6) а зачем серверу показывать печатную форму?
9 Maxwell198705
 
17.06.15
09:49
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПКО",
                ПараметрыПечати.Представление,
                СформироватьПечатнуюФормуКО1(МассивОбъектов, ОбъектыПечати))

В таком формате вывести печатную форму не получается
10 Maxwell198705
 
17.06.15
09:50
как вывести печатную форму на клиенте, если табличный документ формируется нормально?
11 VikingKosmo
 
17.06.15
09:51
(9) и что именно в этом коде не получается то?
12 Maxwell198705
 
17.06.15
09:53
выводит такое сообщение
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(237)}: В обработчике печати не был сформирован табличный документ для: ВПФ Приходный кассовый ордер
            ВызватьИсключение(ТекстСообщенияОбОшибке);
13 VikingKosmo
 
17.06.15
09:55
(12) ну так может все таки сформировать ТабличныйДокумент в функции СформироватьПечатнуюФормуКО1()?!
14 Aprobator
 
17.06.15
09:55
Не сформирован табличный документ - ошибка в СформироватьПечатнуюФормуКО1 - есть подозрение, что там нет Возврат ТабличныйДокумент
15 Maxwell198705
 
17.06.15
09:57
Функция СформироватьПечатнуюФормуКО1(МассивОбъектов, ОбъектыПечати)
    
    ТабличныйДокумент = Новый ТабличныйДокумент();
    СинонимДокумента   = НСтр("ru='Приходный кассовый ордер'");
    
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриходныйКассовыйОрдер_ПФ_MXL_КО1";
    
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    Ссылка                КАК Ссылка,
    |    КорреспондирующийСчет КАК КорреспондирующийСчет
    |ИЗ
    |    Корсчета
    |;
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ПриходныйКассовыйОрдер.Номер                         КАК Номер,
    |    ПриходныйКассовыйОрдер.Дата                          КАК ДатаДокумента,
    |    ПриходныйКассовыйОрдер.Ссылка                        КАК Ссылка,
    |    ПриходныйКассовыйОрдер.Организация                   КАК Организация,
    |    ПриходныйКассовыйОрдер.Организация                   КАК ЮрФизЛицо,
    |    ПриходныйКассовыйОрдер.Организация                   КАК Руководители,
    |    ПриходныйКассовыйОрдер.Организация.Префикс           КАК Префикс,
    |    ПриходныйКассовыйОрдер.СуммаДокумента                КАК Сумма,
    |    ПриходныйКассовыйОрдер.ХозяйственнаяОперация         КАК ХозяйственнаяОперация,
    |    ПриходныйКассовыйОрдер.Контрагент                    КАК Контрагент,
    |    ПриходныйКассовыйОрдер.Контрагент.Представление      КАК ФИОПолучателя,
    |    ПриходныйКассовыйОрдер.Приложение                    КАК Приложение,
    |    ПриходныйКассовыйОрдер.Основание                     КАК Основание,
    |    ПриходныйКассовыйОрдер.Контрагент.НаименованиеПолное КАК НаименованиеПолное,
    |    ПриходныйКассовыйОрдер.Контрагент.Наименование       КАК Наименование,
    |    ПриходныйКассовыйОрдер.ПринятоОт                     КАК ПринятоОт,
    |    ПриходныйКассовыйОрдер.ДокументОснование             КАК ДокументОснование,
    |    ПриходныйКассовыйОрдер.ВТомЧислеНДС                  КАК ВТомЧислеНДС,
    |    ПриходныйКассовыйОрдер.Ответственный.ФизЛицо         КАК Кассир,
    |    ""50.01""                                            КАК КодДебета
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
    |ГДЕ
    |    ПриходныйКассовыйОрдер.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |    ПриходныйКассовыйОрдер.Дата,
    |    ПриходныйКассовыйОрдер.Ссылка
    |";
    
    Запрос.МенеджерВременныхТаблиц = ДенежныеСредстваСервер.ПолучитьМенеджерТаблицыКорсчетов(Документы.ПриходныйКассовыйОрдер.ПустаяСсылка(), МассивОбъектов);
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    
    МассивРезультатов = Запрос.ВыполнитьПакет();
    ТаблицаКорсчетаДебет = МассивРезультатов[0].Выгрузить();
    ДанныеПечати = МассивРезультатов[1].Выбрать();
    
    ПервыйДокумент = Истина;
    Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_КО1");
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    
    Пока ДанныеПечати.Следующий() Цикл
        
        Если Не ПервыйДокумент Тогда
            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        ПервыйДокумент = Ложь;
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

        ЕстьРасчетыСКонтрагентами = ДенежныеСредстваСервер.ЕстьРасчетыСКонтрагентами(ДанныеПечати.ХозяйственнаяОперация);
        
        СведенияОбОрганизации = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.ДатаДокумента);
        
        // Шапка накладной
        
        ОбластьМакета.Параметры.Заполнить(ДанныеПечати);
        ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
        ОбластьМакета.Параметры.СуммаРубКоп       = ФормированиеПечатныхФормСервер.СуммаРубКоп(ДанныеПечати.Сумма);
        ОбластьМакета.Параметры.Сумма             = Формат(ДанныеПечати.Сумма, "ЧЦ=15; ЧДЦ=2");
        ОбластьМакета.Параметры.СуммаПрописью     = ФормированиеПечатныхФормСервер.СформироватьСуммуПрописью(ДанныеПечати.Сумма);
        ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО;
        ОбластьМакета.Параметры.ДатаДокумента     = ДанныеПечати.ДатаДокумента;
        ОбластьМакета.Параметры.НомерДокумента    = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.Номер, ПустаяСтрока(ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы")), Истина);
        ОбластьМакета.Параметры.ВТомЧисле         = ДанныеПечати.ВТомЧислеНДС + ?(ДанныеПечати.ВТомЧислеНДС = НСтр("ru = 'Без налога (НДС)'"), "", " " + НСтр("ru = 'руб.'"));
        
        МассивКорСчетов = ТаблицаКорСчетаДебет.НайтиСтроки(Новый Структура("Ссылка", ДанныеПечати.Ссылка));
        КодыСчетДебет = "";
        Для каждого СтрокаКорсчета Из МассивКорсчетов Цикл
            КодыСчетДебет = КодыСчетДебет + "," + СтрокаКорсчета.КорреспондирующийСчет;
        КонецЦикла;
        
        ОбластьМакета.Параметры.Субсчет = Сред(КодыСчетДебет, 2);
        
        Руководители = ФормированиеПечатныхФормСервер.ОтветственныеЛицаОрганизаций(ДанныеПечати.Руководители, КонецДня(ДанныеПечати.ДатаДокумента));
        
        Бухгалтер    = Руководители.ГлавныйБухгалтер;
        
        ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = Бухгалтер;
        ОбластьМакета.Параметры.ФИОКассира            = ФормированиеПечатныхФормСервер.ФамилияИнициалыФизЛица(ДанныеПечати.Кассир);
        
        ОбластьМакета.Параметры.ПринятоОт  = ДанныеПечати.ПринятоОт;
        ОбластьМакета.Параметры.Основание  = ДанныеПечати.Основание;
        ОбластьМакета.Параметры.Приложение = ДанныеПечати.Приложение;
        
        ТабличныйДокумент.Вывести(ОбластьМакета);
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
        
    КонецЦикла;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    
    Возврат ТабличныйДокумент;
    
КонецФункции
16 Maxwell198705
 
17.06.15
09:58
в Серверном режиме этот код всё формирует и выводит, забличный документ заполняет, а в тонком клиненте не выводит
17 Maxwell198705
 
17.06.15
09:58
проблем в функции СформироватьПечатнуюФормуКО1()  нету, она нормально срабатывает
18 Maxwell198705
 
17.06.15
09:59
может у кого есть ВПФ ПКО и РКО, глянули бы у себя, как там ррганизованно
19 Aprobator
 
17.06.15
10:07
ну да - система "не сформирован печатный документ" просто так пишет, от нечего делать.
20 Aprobator
 
17.06.15
10:07
вернее табличный.
21 Maxwell198705
 
17.06.15
10:08
Может тогда подскажете, модуль функций и процедур для ВПФ на ПКО Розница 2.0? или укажете ошибку?
22 Aprobator
 
17.06.15
10:22
Запусти в толстом клиенте - управляемый режим. Там должна ошибка выскочить, почему не сформировался то табличный документ.
23 Maxwell198705
 
17.06.15
10:42
вот такая формируется ошибка {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(237)}: В обработчике печати не был сформирован табличный документ для: ВПФ Приходный кассовый ордер
            ВызватьИсключение(ТекстСообщенияОбОшибке);

при этом печатная форма отображается
куда и как дальше копать?
24 Aprobator
 
17.06.15
10:57
посмотри журнал, может там есть более подробное описание ошибки. Вообще странно. У меня когда во внешних печатных формах выскакивает ошибка, всегда есть более подробное описание. Правда, не помню, где я его беру )