Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 11:21

ЗУП 8.2 -> Внешняя печатная форма. Помогите разобраться?

Автор Yaposha, 13 мар 2012, 18:10

0 Пользователей и 1 гость просматривают эту тему.

Yaposha

Доброго времени суток!
Помогите плиз новичку разобраться.....
Работаю с базой ЗУП 2.5 (2.5.46.1) 1С:Предприятие 8.2 (8.2.14.537)
Для документа ЗаявкаНаОткрытиеСчетов мне нужно сделать внешнюю печатную форму.
Смотрю как работает печать документа; процедуры в модуле формы документа ЗаявкаНаОткрытиеСчетов:

// Процедура - обработчик нажатия на кнопку "Печать по умолчанию"
Процедура ОсновныеДействияФормыПечатьПоУмолчанию(Кнопка)   
// Процедура - обработчик нажатия на кнопку "Печать"
Процедура ОсновныеДействияФормыПечать(Кнопка)

ссылаются на общий модуль УниверсальныеМеханизмы,
где в

Процедура ПечатьПоДополнительнойКнопке(УдалитьДеревоМакетов, Объект, Форма = Неопределено, ТекстКнопки) Экспорт

есть такие строки:

СтруктураВнутреннихПечатныхФорм = Объект.ПолучитьСтруктуруПечатныхФорм()
Объект.Печать(СтрокаКнопки.Имя, 0);

Только не смейтесь плиз! Помогите пожалуйста найти код этих процедур Печать() и ПолучитьСтруктуруПечатныхФорм()?
В модуле объекта ЗаявкаНаОткрытиеСчетов не вижу, в форме тоже нет...(((


Zverff


Yaposha

Я ее не выгружала, не уверена что это одобрит начальство( Да вроде она стандартная...

Zverff


Dethmontt

Выделяешь нужную Процедуру/Функцию и жмешь F12
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Yaposha

Спасибо за ответы) разобралась что в самом модуле документа нет ф-ии печати, а печать идет из внешней печатной формы, осталось ее доработать....

Yaposha

Подскажите плиз как организовать перебор результатов запроса, чтобы вывести список по подразделениям и в них отсортировать по алфавиту фамилии? Что-то я запуталась((((

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

   Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата);
   Запрос.УстановитьПараметр("ПодрОфис",ПодрОфис);
   Запрос.УстановитьПараметр("СписокФизЛиц", СсылкаНаОбъект.РаботникиОрганизации.ВыгрузитьКолонку("ФизЛицо"));
   Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
   
   Результат = Запрос.Выполнить();
*********************************************************************************************
   ВыборкаПодразделений = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   НомСтр = 1;
      
   Пока ВыборкаПодразделений.Следующий() Цикл
      ТабДокумент.Вывести(ОбластьМакетаШапка);
      ОбластьМакетаСтрокиПодразделение.Параметры.Подразделение = "" + ВыборкаПодразделений.ПодразделениеОрганизацииРодитель;
      ТабДокумент.Вывести(ОбластьМакетаСтрокиПодразделение);
      ВыборкаФизЛиц = ВыборкаПодразделений.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
      
      ТекФизЛицо = "";
      Пока ВыборкаФизЛиц.Следующий() Цикл
         Если  ТекФизЛицо <> ВыборкаФизЛиц.ФизЛицо Тогда
            ОбластьМакета.Параметры.Ном = НомСтр;
            ОбластьМакета.Параметры.ФИО = ВыборкаФизЛиц.ФизЛицо;
            ОбластьМакета.Параметры.НомКарты = ВыборкаФизЛиц.КонтрольнаяИнформация;
            ОбластьМакета.Параметры.Комент = ВыборкаФизЛиц.Комментарий;
            ТабДокумент.Вывести(ОбластьМакета);
         НомСтр = НомСтр + 1;
         КонецЕсли;
         ТекФизЛицо = ВыборкаФизЛиц.ФизЛицо;
         
      КонецЦикла;
**************************************************************************************
      ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
   КонецЦикла;
   Возврат ТабДокумент;
КонецФункции

Yaposha


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск