Имя: Пароль:
1C
1С v8
Бух 2.0 ошибка во внешней печатной форме
,
0 04347
 
25.02.14
08:27
БУХ 2.0.54.12. Внешняя форма для документа "Реализация товаров и услуг" через Файл - Открыть работает

Перем мВалютаРегламентированногоУчета Экспорт;

Функция СформироватьСтруктуруПодписейДляПечати( Руководители, Организация, Дата, ВозвращаемаяСтруктура = Неопределено)Экспорт
    
    Если ВозвращаемаяСтруктура = Неопределено Тогда
        ВозвращаемаяСтруктура = Новый Структура;
    КонецЕсли;
    
    Если ЗначениеЗаполнено(СсылкаНаОбъект.Руководитель)
        И Руководители.Руководитель <> СсылкаНаОбъект.Руководитель Тогда
        ДанныеПодотчетногоЛица = ОбщегоНазначения.ДанныеФизЛица(Организация, СсылкаНаОбъект.Руководитель, СсылкаНаОбъект.Дата);
        ФИОРуководителя = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект.Руководитель) + " " + СсылкаНаОбъект.ЗаРуководителяПоПриказу;
        ВозвращаемаяСтруктура.Вставить("Руководитель",          СсылкаНаОбъект.Руководитель);
        ВозвращаемаяСтруктура.Вставить("ФИОРуководителя",        ФИОРуководителя);
        ВозвращаемаяСтруктура.Вставить("ДолжностьРуководителя", "" + ДанныеПодотчетногоЛица.Должность);
    Иначе
        ВозвращаемаяСтруктура.Вставить("Руководитель",          Руководители.Руководитель);
        ВозвращаемаяСтруктура.Вставить("ФИОРуководителя",       Руководители.РуководительПредставление);
        ВозвращаемаяСтруктура.Вставить("ДолжностьРуководителя", Руководители.РуководительДолжность);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(СсылкаНаОбъект.ГлавныйБухгалтер) Тогда
        ФИОГлавБух = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект.ГлавныйБухгалтер) + " " + СсылкаНаОбъект.ЗаГлавногоБухгалтераПоПриказу;
        ВозвращаемаяСтруктура.Вставить("ГлавныйБухгалтер",      СсылкаНаОбъект.ГлавныйБухгалтер);
        ВозвращаемаяСтруктура.Вставить("ФИОГлавБухгалтера",        ФИОГлавБух);
    Иначе
        ВозвращаемаяСтруктура.Вставить("ГлавныйБухгалтер",      Руководители.ГлавныйБухгалтер);
        ВозвращаемаяСтруктура.Вставить("ФИОГлавБухгалтера",     Руководители.ГлавныйБухгалтерПредставление);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(СсылкаНаОбъект.ОтпускПроизвел) Тогда
        ДанныеПодотчетногоЛица = ОбщегоНазначения.ДанныеФизЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.ОтпускПроизвел, СсылкаНаОбъект.Дата);
        ФИОКладовщика = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект.ОтпускПроизвел);
        ВозвращаемаяСтруктура.Вставить("ФИОКладовщика", ФИОКладовщика);
        Если ДанныеПодотчетногоЛица.Должность <> Null Тогда
            ВозвращаемаяСтруктура.Вставить("ДолжностьКладовщика", ДанныеПодотчетногоЛица.Должность.Наименование);
        Иначе
            ВозвращаемаяСтруктура.Вставить("ДолжностьКладовщика", "");
        КонецЕсли;
        ВозвращаемаяСтруктура.Вставить("ФИОКладовщика", ФИОКладовщика);
    ИначеЕсли ЗначениеЗаполнено(СсылкаНаОбъект.Склад) Тогда
        Срез = РегистрыСведений.ОтветственныеЛица.СрезПоследних(Дата, Новый Структура("СтруктурнаяЕдиница", СсылкаНаОбъект.Склад));
        Если Срез.Количество() > 0 Тогда
            ДанныеПодотчетногоЛица = ОбщегоНазначения.ДанныеФизЛица(Организация, Срез[0].ФизическоеЛицо, Дата);
            ВозвращаемаяСтруктура.Вставить("ФИОКладовщика", "" + ДанныеПодотчетногоЛица.Представление);
            ВозвращаемаяСтруктура.Вставить("ДолжностьКладовщика", "" + ДанныеПодотчетногоЛица.Должность);
        Иначе
            ВозвращаемаяСтруктура.Вставить("ФИОКладовщика", "");
            ВозвращаемаяСтруктура.Вставить("ДолжностьКладовщика", "");
        КонецЕсли;
    Иначе
        ВозвращаемаяСтруктура.Вставить("ФИОКладовщика", "");
        ВозвращаемаяСтруктура.Вставить("ДолжностьКладовщика", "");
    КонецЕсли;
    
    Возврат ВозвращаемаяСтруктура;
    
КонецФункции    

Функция ПодготовитьДанныеДляПечатиАктаОбОказанииУслуг() Экспорт
    
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ВыводитьКоды    = Истина;
        Колонка         = "Артикул";
        ТекстКодАртикул = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ВыводитьКоды    = Истина;
        Колонка         = "Код";
        ТекстКодАртикул = "Код";
    Иначе
        ВыводитьКоды    = Ложь;
        Колонка         = "";
        ТекстКодАртикул = "Код";
    КонецЕсли;

    ЗапросШапка = Новый Запрос;
    ЗапросШапка.УстановитьПараметр("ТекущийДокумент",СсылкаНаОбъект);
    ЗапросШапка.Текст =
    "ВЫБРАТЬ
    |    Номер,
    |    Дата,
    |    ДоговорКонтрагента,
    |    ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
    |    Контрагент КАК Получатель,
    |    Организация КАК Поставщик,
    |    Организация,
    |    СуммаДокумента,
    |    ВалютаДокумента,
    |    УчитыватьНДС,
    |    СуммаВключаетНДС,
    |    ВалютаДокумента.Код КАК ВалютаДокументаКод,
    |    БанковскийСчетОрганизации КАК БанковскийСчет
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
    
    ТаблицаШапки = ЗапросШапка.Выполнить().Выгрузить();
    Если ТаблицаШапки.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Шапка = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(ТаблицаШапки[0]);
    КонецЕсли;

    ПодразделениеОтветственныхЛиц = Неопределено;
    Руководители = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбъект.Организация,СсылкаНаОбъект.Дата, ПодразделениеОтветственныхЛиц);
    СформироватьСтруктуруПодписейДляПечати(Руководители, СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата, Шапка);
    
    ЗапросУслуги = Новый Запрос;
    ЗапросУслуги.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    ЗапросУслуги.УстановитьПараметр("Кратность",       ЗаполнениеДокументов.КратностьДокумента(СсылкаНаОбъект, мВалютаРегламентированногоУчета));
    Если СсылкаНаОбъект.ВалютаДокумента = мВалютаРегламентированногоУчета
        Или Не СсылкаНаОбъект.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах Тогда
        ЗапросУслуги.УстановитьПараметр("Курс", 1);
        ВалютаВПодписи = СсылкаНаОбъект.ВалютаДокумента;
    Иначе
        ЗапросУслуги.УстановитьПараметр("Курс", ЗаполнениеДокументов.КурсДокумента(СсылкаНаОбъект,      мВалютаРегламентированногоУчета));
        ВалютаВПодписи = мВалютаРегламентированногоУчета;
    КонецЕсли;
    
    ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("РеализацияТоваровУслуг");
    
    ЗапросУслуги.Текст =
    "ВЫБРАТЬ
    |    ОбщаяТаблица.Номенклатура,
    |    ОбщаяТаблица.Товар,
    |    ОбщаяТаблица.КодАртикул,
    |    ОбщаяТаблица.Количество,
    |    ОбщаяТаблица.ЕдиницаИзмерения,
    |    ОбщаяТаблица.Цена,
    |    ОбщаяТаблица.Сумма,
    |    ОбщаяТаблица.СтавкаНДС,
    |    ОбщаяТаблица.СуммаНДС,
    |    ОбщаяТаблица.НомерСтроки,
    |    ОбщаяТаблица.НомерТабличнойЧасти,
    |    ОбщаяТаблица.ИмяТабличнойЧасти
    |ИЗ
    |(ВЫБРАТЬ
    |    Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |    Номенклатура." + ТекстКодАртикул + " КАК КодАртикул,
    |    Количество,
    |    ЕдиницаИзмерения  КАК ЕдиницаИзмерения,
    |    Цена * &Курс / &Кратность КАК Цена,
    |    Сумма * &Курс / &Кратность КАК Сумма,
    |    СтавкаНДС,
    |    СуммаНДС * &Курс / &Кратность КАК СуммаНДС,
    |    НомерСтроки,
    |    1 КАК НомерТабличнойЧасти,
    |    ""Товары"" КАК ИмяТабличнойЧасти
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    И
    |    РеализацияТоваровУслуг.Номенклатура.Услуга = Истина
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Номенклатура,
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    Номенклатура." + ТекстКодАртикул + " КАК КодАртикул,
    |    Количество,
    |    Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Цена * &Курс / &Кратность КАК Цена,
    |    Сумма * &Курс / &Кратность КАК Сумма,
    |    СтавкаНДС,
    |    СуммаНДС * &Курс / &Кратность КАК СуммаНДС,
    |    НомерСтроки,
    |    2 КАК НомерТабличнойЧасти,
    |    ""Услуги"" КАК ИмяТабличнойЧасти
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Номенклатура,
    |    " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |    Номенклатура." + ТекстКодАртикул + " КАК КодАртикул,
    |    Количество,    
    |    Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Цена * &Курс / &Кратность КАК Цена,
    |    Сумма * &Курс / &Кратность КАК Сумма,
    |    СтавкаНДС,
    |    СуммаНДС * &Курс / &Кратность КАК СуммаНДС,
    |    НомерСтроки,
    |    3 КАК НомерТабличнойЧасти,
    |    ""Агентские услуги"" КАК ИмяТабличнойЧасти
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.АгентскиеУслуги КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент) КАК ОбщаяТаблица
    |УПОРЯДОЧИТЬ ПО
    |    НомерТабличнойЧасти, НомерСтроки";
    
    ТабличнаяЧасть = ЗапросУслуги.Выполнить().Выгрузить();
    
    Если СсылкаНаОбъект.Проведен И (Шапка.РасчетыВУсловныхЕдиницах
        И (Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета И СсылкаНаОбъект.Дата >= '20090101000000')) Тогда
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
        Запрос.УстановитьПараметр("Содержание", "Реализация услуг");
        Запрос.УстановитьПараметр("СчетУчетаРасчетовСКонтрагентом", СсылкаНаОбъект.СчетУчетаРасчетовСКонтрагентом);
        Текст =
        "ВЫБРАТЬ
        |    СУММА(Хозрасчетный.Сумма) КАК Сумма
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
        |ГДЕ
        |    Хозрасчетный.Регистратор = &Ссылка
        |    И Хозрасчетный.СчетДт = &СчетУчетаРасчетовСКонтрагентом
        |    И Хозрасчетный.СчетКт В
        |            (ВЫБРАТЬ РАЗЛИЧНЫЕ
        |                РеализацияТоваровУслугУслуги.СчетДоходов
        |            ИЗ
        |                Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
        |            ГДЕ
        |                РеализацияТоваровУслугУслуги.Ссылка = &Ссылка)
        |            И Хозрасчетный.Содержание = &Содержание
        |";
        Запрос.Текст = Текст;
        СуммаВзаиморасчетов = Запрос.Выполнить().Выгрузить()[0].Сумма;
        
        РасчетСуммыНДСПоСтавке =  УчетНДС.РасчетНДСвРубляхПоСтавкеДокумента(Шапка.Дата);
        
        Если НЕ СуммаВзаиморасчетов = NULL Тогда
            
            ТабличнаяЧасть.Колонки.Добавить("СуммаБезНДС");
            
            МассивРаспределения = Новый Массив;
            
            Для Каждого СтрокаТовар Из ТабличнаяЧасть Цикл
                
                СуммаСНДС = СтрокаТовар.Сумма + ?(Шапка.СуммаВключаетНДС, 0, СтрокаТовар.СуммаНДС);
                СуммаБезНДС = СуммаСНДС - СтрокаТовар.СуммаНДС;

                МассивРаспределения.Добавить(СуммаСНДС);
                СтрокаТовар.СуммаБезНДС = СуммаБезНДС;
                                
            КонецЦикла;
            
            ТабличнаяЧасть.Колонки.Добавить("СуммаРублевая");
            УчетНДС.РаспределитьСуммуПоСтолбцу(МассивРаспределения, СуммаВзаиморасчетов, ТабличнаяЧасть, "СуммаРублевая");
            
            Для Каждого СтрокаТовар Из ТабличнаяЧасть Цикл
                
                Если РасчетСуммыНДСПоСтавке Тогда
                    //Выделение суммы НДС, Расчет суммы без НДС
                    ЗначениеСтавкиНДС = УчетНДС.ПолучитьСтавкуНДС(СтрокаТовар.СтавкаНДС);
                    
                    СтрокаТовар.СуммаНДС = ?(ЗначениеСтавкиНДС = 0, 0, Окр(СтрокаТовар.СуммаРублевая * ЗначениеСтавкиНДС/(100+ЗначениеСтавкиНДС),2));
                    СтрокаТовар.Сумма = СтрокаТовар.СуммаРублевая - СтрокаТовар.СуммаНДС;
                    
                Иначе
                    МассивРаспределения.Очистить();
                    МассивРаспределения.Добавить(СтрокаТовар.СуммаБезНДС);
                    МассивРаспределения.Добавить(СтрокаТовар.СуммаНДС);
                    МассивРаспределенныхСумм = ОбщегоНазначения.РаспределитьПропорционально(СтрокаТовар.СуммаРублевая, МассивРаспределения);
                    Если МассивРаспределенныхСумм <> Неопределено Тогда
                        СтрокаТовар.Сумма = МассивРаспределенныхСумм[0];
                        СтрокаТовар.СуммаНДС = МассивРаспределенныхСумм[1];
                    КонецЕсли;
                КонецЕсли;
                
                Если Шапка.СуммаВключаетНДС Тогда
                    СтрокаТовар.Сумма = СтрокаТовар.Сумма+СтрокаТовар.СуммаНДС;
                КонецЕсли;
                
            КонецЦикла;
            
        КонецЕсли;
        
    КонецЕсли;
    
    ДанныеДляПечати = Новый Структура();
    ДанныеДляПечати.Вставить("Шапка", Шапка);
    ДанныеДляПечати.Вставить("ТабличнаяЧасть", ТабличнаяЧасть);
    ДанныеДляПечати.Вставить("ВыводитьКоды", ВыводитьКоды);
    ДанныеДляПечати.Вставить("ТекстКодАртикул", ТекстКодАртикул);
    ДанныеДляПечати.Вставить("ВалютаВПодписи", ВалютаВПодписи);
    
    Возврат ДанныеДляПечати;
    
КонецФункции


Функция ПечатьАктаОбОказанииУслуг()Экспорт
    
    ТабДокумент = Новый ТабличныйДокумент;
    
    ДанныеДляПечати = ПодготовитьДанныеДляПечатиАктаОбОказанииУслуг();
    Если ДанныеДляПечати = Неопределено Тогда
        Возврат ТабДокумент;
    КонецЕсли;
    
    Шапка          = ДанныеДляПечати.Шапка;
    ТабличнаяЧасть = ДанныеДляПечати.ТабличнаяЧасть;
    
    Если ДанныеДляПечати.ВыводитьКоды Тогда
        ОбластьШапки  = "ШапкаСКодом";
        ОбластьСтроки = "СтрокаСКодом";
    Иначе
        ОбластьШапки  = "ШапкаТаблицы";
        ОбластьСтроки = "Строка";
    КонецЕсли;
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт";
    Макет       = ПолучитьМакет("Акт");

    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Акт");
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    СведенияОбОрганизации    = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
    //ольга    
    СведенияООрганизацииеАдрес     = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Шапка.Организация,"Юридический");
    ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,")+" "+ СведенияООрганизацииеАдрес;;
    
    //ольга

    //ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
    ОбластьМакета.Параметры.Поставщик                 = Шапка.Поставщик;
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    СведенияОКонтрагенте     = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
    //ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
    //ольга
    
    СведенияОКонтрагентеАдрес     = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Шапка.Получатель,"Юридический");
    ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,")+" "+ СведенияОКонтрагентеАдрес;
    //ольга
    
    ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
    ОбластьМакета.Параметры.Получатель = Шапка.Получатель;
    ТабДокумент.Вывести(ОбластьМакета);

    ЕстьСкидки = Ложь;

    // Вывести табличную часть
    ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки);
    Если ДанныеДляПечати.ВыводитьКоды Тогда
        ОбластьМакета.Параметры.ИмяКодАртикул = ДанныеДляПечати.ТекстКодАртикул;
    КонецЕсли;
    ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);

    НомерСтроки = 0;

    Для Каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл

        НомерСтроки = НомерСтроки + 1;
        
        ОбластьМакета.Параметры.Заполнить(СтрокаТабличнойЧасти);
        ОбластьМакета.Параметры.НомерСтроки = НомерСтроки;
        ОбластьМакета.Параметры.Товар = СокрЛП(СтрокаТабличнойЧасти.Товар);
        
        Если Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета Тогда
            ОбластьМакета.Параметры.Цена  = СтрокаТабличнойЧасти.Сумма / ?(СтрокаТабличнойЧасти.Количество = 0, 1, СтрокаТабличнойЧасти.Количество);
        КонецЕсли;
        
        ТабДокумент.Вывести(ОбластьМакета);

    КонецЦикла;

    Если ТабличнаяЧасть <> Неопределено Тогда

        Сумма    = ТабличнаяЧасть.Итог("Сумма");
        СуммаНДС = ТабличнаяЧасть.Итог("СуммаНДС");

    Иначе

        Сумма    = 0;
        СуммаНДС = 0;

    КонецЕсли;

    ОбластьМакета = Макет.ПолучитьОбласть("Итого");
    ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
    ТабДокумент.Вывести(ОбластьМакета);

    Если Шапка.УчитыватьНДС Тогда

        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
        
        Если СуммаНДС <> 0 Тогда
            ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
            ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, "В том числе НДС", " Сумма НДС");
        Иначе
            ОбластьМакета.Параметры.ВсегоНДС = "-";
            ОбластьМакета.Параметры.НДС      = "Без налога (НДС)";
        КонецЕсли;
        
        ТабДокумент.Вывести(ОбластьМакета);

    КонецЕсли;

    СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего оказано услуг " + НомерСтроки
                                           + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, ДанныеДляПечати.ВалютаВПодписи);
    ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеДляПечати.ВалютаВПодписи);
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
    ОбластьМакета.Параметры.ДолжностьИНазваниеОрганизации = "" + Шапка.ДолжностьРуководителя + " " + ПредставлениеПоставщика;
    //ольга
    ОбластьМакета.Параметры.ПредставлениеПоставщика = "" + ПредставлениеПоставщика;

    
    ОбластьМакета.Параметры.ЗаместительПоПриказу = Шапка.ФИОРуководителя;
    ТабДокумент.Вывести(ОбластьМакета);

    Возврат ТабДокумент;

КонецФункции // ПечатьАктаОбОказанииУслуг()


Функция Печать(КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
    ТабДокумент = ПечатьАктаОбОказанииУслуг();
    Возврат ТабДокумент;
КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)Экспорт
    // Вставить содержимое обработчика.
    
    ТабДокумент =Печать();
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент);
КонецПроцедуры


мВалютаРегламентированногоУчета   = Константы.ВалютаРегламентированногоУчета.Получить();


Вставляю через Дополнительные внешние печатные формы, пишет ошибку Не удалось сформировать внешнюю печатную форму!
Метод объекта не обнаружен (Печать)
1 огурец
 
25.02.14
08:27
отчет вставляешь как обработку?
2 04347
 
25.02.14
08:31
Дополнительные внешние печатные формы. В представлении указываю Реализацию
3 Dots_OMZ
 
25.02.14
08:36
Делал недавно. У печатной формы должен должен быть реквизит "СсылкаНаОбъект" + процедура в модуле объекта "Функция Печать() Экспорт". Причем она я так понял ниоткуда не вызывается. В итоге печатается всё нормально.
4 огурец
 
25.02.14
08:37
(2) Внешняя форма это отчет или обработка? erf или epf?
5 Поpyчик-4
 
25.02.14
08:43
(0) Почитать в сети материалы по разработке внешних печатных форм, не?
6 marvak
 
25.02.14
08:43
(0)
Смотри (3)
И поищи в Инете как правильно по стандартам делать внешние печатные формы для типовых 1С, причем именно НЕ для управляемого интерфейса
7 ultrannge89
 
25.02.14
08:43
Почитай требования к оформлению внешних печатных форм.
Внешняя печатная форма должна обязательно содержать функцию печать, а затем уже оттуда вызывать хоть что... Как бы оно и понятно, впф цепляется к стандартной печати. Кароче толкай все в функцию печать() Экспорт, которая вконце возвращает табдок.
8 04347
 
25.02.14
08:45
(3) спасибо. Перенесла из модуля формы в модуль объекта. заработало
9 04347
 
25.02.14
08:45
всем спасибо
10 marvak
 
25.02.14
08:46
(8) Эх, мне бы такое легкое отношение к жизни...
:)
11 Dots_OMZ
 
25.02.14
08:52
Да не за что (8)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.