Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

печать в управляемых формах

печать в управляемых формах
Я
   _barracuda_
 
14.03.18 - 11:25
Добрый день вопросик.В обычных формах к примеру вывожу акт и в конце еще один лист с приложением.Но в управляемых формах ругается на ВывестиПриложение-переменная не определена.Подскажите плиз как вывести к акту в догонку приложение?
Процедура ПечатьАкта()
///вывод акта
....
.....
//вывод акта

ВывестиПриложение();
КонецПроцедуры
 
 
   Lexey_
 
1 - 14.03.18 - 11:27
(0) определи переменную
   novichok79
 
2 - 14.03.18 - 11:30
(0) в тексте процедуры нету скобок рядом с ВывестиПриложение? а вообще отладчиком лучше посмотреть.
   novichok79
 
3 - 14.03.18 - 11:31
ни версии платформы, ни версии конфигурации... очень точный запрос на помощь.
   _barracuda_
 
4 - 14.03.18 - 11:32
(2)непонял
(1)это модуль менеджера
#Если сервер.....
   _barracuda_
 
5 - 14.03.18 - 11:32
УНФ.модуль менеджера заказ
   novichok79
 
6 - 14.03.18 - 11:33
(4) тебе написало - "переменная не определена", значит это не функция, рядом с функцией обычно стоят скобочки.
   Мандалай
 
7 - 14.03.18 - 11:35
Какая директива стоит перед вызовом процедуры
Процедура ПечатьАкта()     
?
&НаКлиенте
или
&НаСервере
?
   Мандалай
 
8 - 14.03.18 - 11:36
И до кучи, кэш почисти
   _barracuda_
 
9 - 14.03.18 - 11:36
(6) видно же что скобки стоят ну!
   _barracuda_
 
10 - 14.03.18 - 11:38
(7) перед процедурой печати акта стоит функция у нее в верху стоит #На сервере
 
 Рекламное место пустует
   novichok79
 
11 - 14.03.18 - 11:38
(9) все мои предположения строятся на догадках, т. к. полного текста в наличии у меня нет.
   AllJoke
 
12 - 14.03.18 - 11:40
Написать там же процедуру ВывестиПриложени();
   AllJoke
 
13 - 14.03.18 - 11:41
Процедура ПечатьАкта()
....
ВывестиПриложение();
КонецПроцедуры

Процедура ВывестиПриложение()
.....
КонецПроцедуры
   _barracuda_
 
14 - 14.03.18 - 12:07
(13)ну я как бы не совсем чайник)))процедура есть
   Мандалай
 
15 - 14.03.18 - 12:08
Кэш почистил?
   _barracuda_
 
16 - 14.03.18 - 14:23
почистил но дело не в этом.пишет процедура не доступна на сервере
   Lexey_
 
17 - 14.03.18 - 14:25
(16) может уже пришло время показать код и точный текст ошибки?
   _barracuda_
 
18 - 14.03.18 - 14:25
наСервере
функция Остаток()
//////////////

КонецПроцедуры

функция ПечатьАкта()
//////////////

/////////////

ПечатьПриложения();
КонецПроцедуры

функция ПечатьПриложения()
////////////////

Конецфункции
   Lexey_
 
19 - 14.03.18 - 14:30
(18) здесь только код.
У тебя в (4) написано #Если сервер, в (10) #На сервере, тут наСервере, чему верить?
   Ц_У
 
20 - 14.03.18 - 14:32
модуль менеджера объекта, какие тут сервер на сервере, объект только на сервере и существует
   _barracuda_
 
21 - 14.03.18 - 14:37
(19)пардон на Сервере.надо было расчет остатка сделать в функции ПечатьАкта()
боюсь весь код вылить там несколько тысяч строк может сотен.фиг кто читать будет
в кратце я их описал
   hhhh
 
22 - 14.03.18 - 14:45
(21) ты тут написал придуманный код для примера. Скопипасьть реальный код из программы.
   _barracuda_
 
23 - 14.03.18 - 14:45
#Если сервер это в модуле менеджера в самом верху стоит.пардон
   _barracuda_
 
24 - 14.03.18 - 14:45
(22)там не одна сотня  строк.ну ща попробую
   hhhh
 
25 - 14.03.18 - 14:47
(24) конкретно эту строку
ВывестиПриложение();

и

ПечатьПриложения();

уже видим 10 различий.
   _barracuda_
 
26 - 14.03.18 - 15:00
&НаСервере
Функция СформироватьЗапросЦены(Номенклатура)
    Запрос=Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ 
    |        Номенклатура КАК Номенклатура,
    |        Цена КАК Цена,
    |        ВидЦен КАК ВидЦен
    |    ИЗ
    |        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦен=&ВидЦен И Номенклатура = &Номенклатура) КАК ЦеныНоменклатуры";
    Запрос.УстановитьПараметр("Дата", ТекущаяДата());
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("ВидЦен", Справочники.ВидыЦен.НайтиПоНаименованию("Учетная цена"));
    выб=Запрос.Выполнить().Выбрать();
    Если  выб.Следующий() Тогда
        Цена=выб.Цена;
    КонецЕсли;
    Возврат Цена;
КонецФункции 

Функция ПечатьАктОбОказанииУслуг(МассивОбъектов, ОбъектыПечати, ИмяМакета)
        
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ЗаказПокупателя";
    
    Запрос = Новый Запрос();
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ЗаказПокупателя.Ссылка КАК Ссылка,
    
    |    ЗаказПокупателя.ВидЦен КАК ВидЦен,
    |    ЗаказПокупателя.ДатаЗавоза КАК ДатаЗавоза,
    |    ЗаказПокупателя.ДатаВывоза КАК ДатаВывоза,
    |    ЗаказПокупателя.Номер КАК Номер,
    |    ЗаказПокупателя.Организация КАК Организация,
    |    ЗаказПокупателя.Организация КАК Руководители,
    |    ЗаказПокупателя.СуммаВключаетНДС КАК СуммаВключаетНДС,
    |    ЗаказПокупателя.Организация.Префикс КАК Префикс,
    |    ЗаказПокупателя.Контрагент.ВидКонтрагента КАК ПокупательЮрФизЛицо,
    |    ЗаказПокупателя.Договор КАК Договор,
    |    ЗаказПокупателя.НалогообложениеНДС КАК НалогообложениеНДС,
    |    ЗаказПокупателя.Получил КАК ПредставительПокупателя,
    |    ЗаказПокупателя.Отпустил КАК ПредставительПоставщика,
    |    ЗаказПокупателя.ОтпустилДолжность КАК ДолжностьПредставителяПоставщика,

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

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

        ОбластьМакета.Параметры.ПредставлениеПокупателя         = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ПолноеНаименование,");
        //ОбластьМакета.Параметры.Текст=

        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // выводим сведения о договоре и сделке

        
        // Заканчиваем формировать текст акта

        ОбластьМакета = Макет.ПолучитьОбласть("ТекстАктаКонец");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        ЕстьСкидки = Шапка.Работы.Выгрузить().Итог("ЕстьСкидка") <> 0;
        

        
        Сумма        = 0;
        СуммаНДС    = 0;
        Всего        = 0;
        Количество    = 0;
        
            
            Количество = Количество + 1;
            //ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокЗапасы);

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

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

КонецФункции// ПечатнаяФорма()


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

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

        ОбластьМакета.Параметры.ПредставлениеПокупателя         = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ПолноеНаименование,");
        //ОбластьМакета.Параметры.Текст=

        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Заканчиваем формировать текст акта

        ОбластьМакета = Макет.ПолучитьОбласть("ТекстАктаКонец");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        ЕстьСкидки = Шапка.Работы.Выгрузить().Итог("ЕстьСкидка") <> 0;
        
    ВсегоЦенаПрих=0;
        Пока ВыборкаСтрокЗапасы.Следующий() Цикл 

            Количество = Количество + 1;
            //ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокЗапасы);

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

        //Если СуммаНДС = 0 Тогда

        //    ОбластьМакета.Параметры.НДС = НСтр("ru='Без налога (НДС)';uk='Без податку (ПДВ)'", КодЯзыкаПечать);

        //    ОбластьМакета.Параметры.ВсегоНДС = "-";

        //Иначе

        //    ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='В тому числі ПДВ:'", КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'", КодЯзыкаПечать));

        //    ОбластьМакета.Параметры.ВсегоНДС = УправлениеНебольшойФирмойСервер.ФорматСумм(СуммаНДС);

        //КонецЕсли; 

        //ТабличныйДокумент.Вывести(ОбластьМакета);

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

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

КонецФункции// ПечатнаяФорма()
   _barracuda_
 
27 - 14.03.18 - 15:00
если че сильно не материть))
   novichok79
 
28 - 14.03.18 - 15:07
(27) а ну да, то есть ты кидаешь в тему декларации процедур и функций, а потом просишь гадать по ним, где косяк. ну нормально так, чо.
   novichok79
 
29 - 14.03.18 - 15:07
(27) а соррян, не увидел ))) а на какой строке ошибка у тебя в этом всем?
   novichok79
 
30 - 14.03.18 - 15:12
мозгоeбля какая-то. ни ВывестиПриложение, ни ПечатьПриложения у тебя тут нет. код сделан вроде как бы и для БСП, но структура не БСП-шная.
ты из формы их вызываешь? модуль обработки (внешней печатной формы) не доступен из формы, только через реквизитыформывзначение.
   _barracuda_
 
31 - 14.03.18 - 15:27
в модуле менеджера ругается№ "метод не доступен на сервере"
   novichok79
 
32 - 14.03.18 - 15:28
(31) очень информативное сообщение.
   Lexey_
 
33 - 14.03.18 - 15:28
(31) сложно скопировать текст шибки?
 
 
   _barracuda_
 
34 - 14.03.18 - 15:37
((((сорян ребята.жму печать и тупо один меседж "метод не доступен на сервере" ни подробно ничего
   _barracuda_
 
35 - 14.03.18 - 15:37
а что за метод...
   _barracuda_
 
36 - 14.03.18 - 15:40
как только в ПечатьАктОбОказанииУслуг закоментирую ПечатьАктОбОказанииУслугПриемка так отркывается первая процедура печати и все гуд.
   novichok79
 
37 - 14.03.18 - 15:41
(36) а журнал регистрации к чему? поищи там ошибку.
   _barracuda_
 
38 - 14.03.18 - 15:45
(37)там то же самое
   novichok79
 
39 - 14.03.18 - 15:47
(38) скрин в студию...
   novichok79
 
40 - 14.03.18 - 15:47
(38) ну или включи логи технологического журнала и посмотри там.
   Любопытная
 
41 - 14.03.18 - 15:49
ТабличныйДокумент.Показать(); - это ты кому показывать на сервере собрался?
   _barracuda_
 
42 - 14.03.18 - 16:12
(41)спасибо))))
убрал.не ругается.но выводит только один листок.хотя процедура отрабатывает
   Любопытная
 
43 - 14.03.18 - 16:14
(42) наверное потому что это не процедура, а функция и она должна этот самый табличный документ вернуть на клиент, чтобы на клиенте его уже выводить.
Точно не новичок?
   _barracuda_
 
44 - 14.03.18 - 16:16
(43)есть немного)))скиньте пример
   Любопытная
 
45 - 14.03.18 - 16:18
"ну я как бы не совсем чайник)))"... кофейник видимо(
Пример чего скинуть? Чем процедура от функции отличается?
   _barracuda_
 
46 - 14.03.18 - 16:19
(45)как выкрутиться.Вы правы это не процедура.функция
   SSSSS_AAAAA
 
47 - 14.03.18 - 16:19
(44) Пример чего скинуть? Возврата табличного документа?
Возврат ТабличныйДокумент:
Это так сложно и до сих пор тебе не известно?
   SSSSS_AAAAA
 
48 - 14.03.18 - 16:20
(46) молча. А из чего выкручиваться то?
   Любопытная
 
49 - 14.03.18 - 16:22
(46) Вы ведь ее где-то вызвали? Вот там где вызвали напишите ТабДок = ИмяВашейФункции(тут какие-то параметры);
И потом ТабДок.Показать();

В самой функции в конце надо написать
Возврат ТабличныйДокумент;

И будет счастье. Наверное. Возможно. Но это не точно)
 
 Рекламное место пустует
   _barracuda_
 
50 - 14.03.18 - 16:23
(47)
    ТабличныйДокумент.АвтоМасштаб = Истина;
//    ТабличныйДокумент.Вывести();

//    ТабличныйДокумент.Показать();
    Возврат ТабличныйДокумент;

не выводит!
   Любопытная
 
51 - 14.03.18 - 16:27
Вы прикалываетесь...
   _barracuda_
 
52 - 14.03.18 - 16:33
(51)нет.только пробую силенки
   Любопытная
 
53 - 14.03.18 - 16:34
(52) ну и?
   _barracuda_
 
54 - 14.03.18 - 16:36
а в чем прикол?есть 2 функции абсолютно одинаковые практически с выводом разных макетов.только вторая без ошибок не выводит документ.сейчас попробую сделать как вы сказали
   Любопытная
 
55 - 14.03.18 - 16:37
   Любопытная
 
56 - 14.03.18 - 16:38
(54) может попробовать посмотреть как же работает первая функция и сделать так же?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует