Имя: Пароль:
1C
1С v8
Как отладить внешнюю печатную форму для справочника
, ,
0 malder
 
26.12.11
15:23
Для документа получилось сделать!

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

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

Функция Печать() Экспорт
1 malder
 
26.12.11
15:24
Параметры_Авторегистрации

Справочники.СотрудникиОрганизаций    Согласие на обработку персональных данных            
Документы.ПриемНаРаботуВОрганизацию    Согласие на обработку персональных данных
2 andrewks
 
26.12.11
15:24
и?
3 malder
 
26.12.11
15:25
в справочнике СотрудникиОрганизаций  появляеться кнопка Согласие на обработку персональных данных но при нажатии ничего не происходит !!!
4 malder
 
26.12.11
15:26
Документ ПриемНаРаботуВОрганизацию  все нормально печается!!!
5 Azverin
 
26.12.11
15:30
Сообщить("Привет");
ыыы)
6 Галахад
 
гуру
26.12.11
15:30
А чо, макеты у них одинаковые?
7 malder
 
26.12.11
15:31
да
8 malder
 
26.12.11
15:33
ссылко на обработку http://ifolder.ru/27819581
9 Галахад
 
гуру
26.12.11
15:38
А тип какой у СсылкаНаОбъект?
10 malder
 
26.12.11
15:40
составной Справочники.СотрудникиОрганизаций + Документы.ПриемНаРаботуВОрганизацию
11 Галахад
 
гуру
26.12.11
15:45
Ну тогда отладчиком смотреть.
12 malder
 
26.12.11
15:51
точки ставлю, они не сработывают, для документов у меня есть специальная обработка для отладки УТП_ТестированиеВнешнихПечатныхФорм.81
13 malder
 
26.12.11
15:52
для справочника она не работает!
14 malder
 
26.12.11
15:52
Вот и вопрос как отлаживать!?
15 viktor_vv
 
26.12.11
15:53
Добавь форму. на форму выведи СсылкаНаОбъект, добавь кнопку сформировать и вперед.
16 Галахад
 
гуру
26.12.11
15:53
(12) Чо это?

(14) На форму положи полеввода = Ссылка на объект.
ПечатьСотррудников сделай экспортной.

И отлаживай.
17 shuhard
 
26.12.11
15:54
(13) у меня работает,
пишет на мове загадочные обязательства и и три раза печать
18 malder
 
26.12.11
16:13
(17) - у тебя справочник печатает, через (15) ???
19 shuhard
 
26.12.11
16:19
(18) да,нет
20 malder
 
26.12.11
16:20
(19) какая конфа!?
21 shuhard
 
26.12.11
16:22
(20) УПП 1.3.20.1
22 BigShmax
 
26.12.11
16:26
+1  УПП 1.3.20.1  подключенная внешняя форма работает  в служебн\ых  тр ираза Печать и сама  форма
23 malder
 
26.12.11
16:34
через (15) добавил в  Функция ПечатьСотрудники()
 ТабДокумент.Показать(); и справочник печатаеться
24 malder
 
26.12.11
16:35
отсталось теперь сделать что бы и без формы печатало!
25 BigShmax
 
26.12.11
16:45
(24)  внедряй УПП  там работает :-)
26 malder
 
26.12.11
17:30
(25) ага уже качаю!!!
27 viktor_vv
 
26.12.11
17:35
(23) Ты теперь смотри в

Функция Печать() Экспорт

что ты там вызываешь и сколько раз
28 malder
 
26.12.11
18:20
в конфе косяк! Всем спасибо!!!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс