Имя: Пароль:
1C
1С v8
Как вывести табличный документ, а не таблицу?
,
0 ляляля9999
 
09.12.15
13:39
Добрый день!
Перед тем как напечатать акт выполненных работ, я вывожу форму с дополнительными реквизитами и только после этого выводится печатная форма. Но у меня выводится таблица, что я делаю не так? как вывести печатную форму?
Пример кода:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт";
    ПечатьАктаОбОказанииУслуг(ТабДокумент);
    ТабДокумент.Показать();

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

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

Я так полагаю это из-за параметра ТабДокумент в функции, но если я этот параметр убираю, то выводится пустая таблица
1 Лефмихалыч
 
09.12.15
13:40
что такое "выводится таблица"?
2 Славен
 
09.12.15
13:41
А можно этот опус целиком?
Интересно у этого какое продолжение
       ОбластьШапки  = "ШапкаСКодом";
        ОбластьСтроки = "СтрокаСКодом";
3 singlych
 
09.12.15
13:46
Если по-быстрому, то
ТабДокумент.ОтображатьСетку = Ложь;
4 НЕА123
 
09.12.15
13:48
//  ТабДокумент = Новый ТабличныйДокумент;
5 Славен
 
09.12.15
13:55
(3) а данные заполнять на макете уже не надо.... .По быстрому это тогда блокнот открыть
6 singlych
 
09.12.15
13:57
(5) у нас разные представления о том, что написано в (0)
7 ляляля9999
 
09.12.15
13:58
(1) выводится просто сетка. В табличном документе есть кнопка печать, документ можно сохранить. У меня выводится просто сетка с данными.
8 ляляля9999
 
09.12.15
14:03
(3) а не по-быстрому как?
9 salvator
 
09.12.15
14:05
ДанныеДляПечати что-то возвращает в функции?
10 ляляля9999
 
09.12.15
14:07
Полный код:

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

КонецПроцедуры
// Функция формирует табличный документ с печатной формой акта об оказании услуг

// Возвращаемое значение:
//  Табличный документ - печатная форма акта

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

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

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

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

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

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

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

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

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

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

    КонецЦикла;

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

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

    Иначе

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

    КонецЕсли;

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

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

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

    КонецЕсли;

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

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

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

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

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

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

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

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

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


мВалютаРегламентированногоУчета   = Константы.ВалютаРегламентированногоУчета.Получить();
11 ляляля9999
 
09.12.15
14:09
(9) да, данные заполнены полностью.
12 singlych
 
09.12.15
14:11
(8) какая конфигурация?
13 ляляля9999
 
09.12.15
14:24
(12) Бухгалтерия предприятия, редакция 2.0 (2.0.64.37)
14 Мэс33
 
09.12.15
14:25
(13) что в макете?
ПолучитьМакет("Акт");
15 ляляля9999
 
09.12.15
14:29
(14) макет акта об оказании услуг, такой же как в реализации товаров и услуг. Моя обработка- внешняя.
16 Mankubus
 
09.12.15
14:29
(13) посмотреть как печатаются типовые формы не предлагать?
17 singlych
 
09.12.15
14:32
(13) там что-то вроде

УниверсальныеМеханизмы.НапечататьДокумент()
18 ляляля9999
 
09.12.15
14:36
(17) это вместо ТабДокумент.Показать();?
19 singlych
 
09.12.15
14:39
(18) Да. Естественно, туда еще всякие параметры нужно передать, ТабДок как минимум, я уже не помню точно какие еще.
20 ляляля9999
 
09.12.15
14:39
(17) спасибо Вам огромное! получилось то что нужно!
21 Timon1405
 
09.12.15
14:39
У вас переопределяется табдок в процедуре. не надо так.
Смотрите (4) вам пишут, закомментируйте строку в процедуре