Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
jediAlex
2 / 2 / 2
Регистрация: 12.07.2011
Сообщений: 380
1

Не формируется макет печатной формы для документа "Отпуск" 1с ЗУП 3.1

07.06.2017, 11:36. Просмотров 748. Ответов 1
Метки нет (Все метки)

Здравствуйте. Делаю внешнюю печатную форму для документа "Отпуск" 1С ЗУП 3.1. Нужен макет справки на оплату чернобыльского отпуска. Сверстал макет., описал его в модуле внешней обработки:
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
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.Отпуск"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Справка на оплату отпуска по ЧАЭС"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Печатная форма справки");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Справка на оплату отпуска по ЧАЭС", "СправкаНаОплатуОтпускаЧАЭС", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
 
Возврат ПараметрыРегистрации;
   
КонецФункции
 
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
 
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
 
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
 
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
 
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СправкаНаОплатуОтпускаПоЧАЭС", "Справка на оплату отпуска по ЧАЭС", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
 
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СправкаНаОплатуОтпускаПоЧАЭС";
МакетОбработки = ПолучитьМакет("СправкаНаОплатуОтпускаЧАЭС");
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Номер=СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаДокумента=СсылкаНаДокумент.Дата;
ТабличныйДокумент.Вывести(ОбластьШапка);
ОбластьСправка= МакетОбработки.ПолучитьОбласть("Справка");
ОбластьСправка.Параметры.Сотрудник=СсылкаНаДокумент.Сотрудник;
ОбластьСправка.Параметры.ДатаНачалаОсновногоОтпуска=СсылкаНаДокумент.ДатаНачалаОсновногоОтпуска;
ОбластьСправка.Параметры.ДатаОкончанияОсновногоОтпуска=СсылкаНаДокумент.ДатаОкончанияОсновногоОтпуска;
ОбластьСправка.Параметры.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск=СсылкаНаДокумент.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск;
ОбластьСправка.Параметры.КонецПериодаЗаКоторыйПредоставляетсяОтпуск=СсылкаНаДокумент.КонецПериодаЗаКоторыйПредоставляетсяОтпуск;
ОбластьСправка.Параметры.Основание=СсылкаНаДокумент.Основание;
ОбластьСправка.Параметры.СреднийЗаработок=СсылкаНаДокумент.СреднийЗаработок;
ОбластьСправка.Параметры.СреднийЗаработокРуб=Цел(СсылкаНаДокумент.СреднийЗаработок);
ОбластьСправка.Параметры.СреднийЗаработокКоп=(СсылкаНаДокумент.СреднийЗаработок-Цел(СсылкаНаДокумент.СреднийЗаработок))*100;
ОбластьСправка.Параметры.Начислено=СсылкаНаДокумент.Начислено;
ОбластьСправка.Параметры.НачисленоРуб=Цел(СсылкаНаДокумент.Начислено);
ОбластьСправка.Параметры.НачисленоКоп=(СсылкаНаДокумент.Начислено-Цел(СсылкаНаДокумент.Начислено))*100;
ТабличныйДокумент.Вывести(ОбластьСправка);
ОбластьПодвал=МакетОбработки.ПолучитьОбласть("Подвал");
ОбластьПодвал.Параметры.Руководитель=СсылкаНаДокумент.Руководитель;
ОбластьПодвал.Параметры.ГлавныйБухгалтер=СсылкаНаДокумент.ГлавныйБухгалтер;
ОбластьПодвал.Параметры.РаботникКадровойСлужбы=СсылкаНаДокумент.РаботникКадровойСлужбы;
ТабличныйДокумент.Вывести(ОбластьПодвал);
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
    КонецФункции
В режиме предприятия обработка подключилась, но когда открываю любой проведенный документ "Отпуск" и выбираю в печати свой макет, вылетает ошибка:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(247)}: В обработчике печати не был сформирован табличный документ для: СправкаНаОплатуОтпускаЧАЭС
ВызватьИсключение(ТекстСообщенияОбОшибке);
Что я не так сделал? помогите пожалуйста. Сама ЗУП типовая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2017, 11:36
Ответы с готовыми решениями:

Закрытие формы документа из внешней печатной формы
Нужно после печати документа, закрыть его форму. Управляемое приложение. Никак...

Работа с областью печатной формы документа
Есть например отчет по инвентарицации. Нажали на печать и сформировалась...

Склонение имени в приказе на отпуск(Т-6) ЗУП
Здравствуйте Пытаюсь в ЗУП3.1 найти механизм, который склоняет имена по...

ЗуП -> добавление картинки в форму списка "справочника сотрудники"
Здравствуйте уважаемые программисты . приму любой совет от знающих людей ....

Макет для документа
Здравствуйте. Есть такая задача, нужно для расходной накладной сделать печатную...

1
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,595
Записей в блоге: 1
Завершенные тесты: 1
07.06.2017, 11:41 2
jediAlex, А что в ТекстСообщенияОбОшибке ???
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2017, 11:41

Место для подписи в печатной форме документа
Здравствуйте уважаемые сенсеи.Столкнулся с такой проблемой,есть...

Для заданого 0<=n<=200.Расматриваемого как возраст человека,вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет".
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст...

Кто может поделиться конфигурацией и базой для "общепита" или "ресторана", хочу потестить
Кто может поделиться конфигурацией и базой для 1с предприятие общепит или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru