Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Сен 2017, 04:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Печать документа. Какой макет печатается?  (Прочитано 1230 раз)

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

Оффлайн riff666

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-28
  • Сайт: 
Доброго времени суток. Прошу помочь в следующем. Пришлось заняться администрированием 1С 8.2. Начинаю потихоньку вникать, но пока заданий больше чем знаний. Задача в следующем. Имеется документ, в нем есть макет "Договор". Если нажать на кнопку "Договор+РКО" то происходит печать макета "Договор". Но если нажать на меню "Печать" появляется подменю и вот если в подменю  нажать на "Договор займа" то происходит печать договора но не из макета "Договор" как понять какой макет выводится на печать. В модуле формы документа нашел код, как я понял он формирует подменю, но откуда идет заполнение подменю?
// Процедура устанавливает подменю "Печать" и кнопку "Печать по умолчанию" при необходимости
//
Процедура УстановитьКнопкиПечати()

мДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(
Ссылка, ПолучитьСтруктуруПечатныхФорм(),
Новый Действие("ОсновныеДействияФормыПечать"),
Новый Действие("ОсновныеДействияФормыУстановитьПечатьПоУмолчанию"));

УниверсальныеМеханизмы.УстановитьПодменюПечати(
мПодменюПечати, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов.Строки.Количество() > 0);

УниверсальныеМеханизмы.УстановитьПечатьПоУмолчанию(
мПечатьПоУмолчанию, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов, Метаданные().Имя,
Новый Действие("ОсновныеДействияФормыПечатьПоУмолчанию"));

Если Не мПодменюПечати = Неопределено Тогда
УниверсальныеМеханизмы.СформироватьПодменю(мДеревоМакетов, мПодменюПечати,Истина,Истина);
КонецЕсли;

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


Оффлайн riff666

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-28
  • Сайт: 
Методом тыка и отладчика дошел до процедуры где формируются макеты для печати.
Функция ПолучитьДеревоМакетовПечати(СсылкаОбъекта, ВнутренниеПечатныеФормы, Действие = Неопределено, ДействиеУстановитьПечатьПоУмолчанию = Неопределено) Экспорт
ДеревоКнопок = ИнициализироватьДеревоДополнительныхКнопок();
Если Не ВнутренниеПечатныеФормы = Неопределено Тогда
ДобавитьВДеревоМакетовВстроенныеФормы(ДеревоКнопок, ВнутренниеПечатныеФормы, Действие);
КонецЕсли;
ДобавитьВДеревоМакетовДополнительныеФормы(ДеревоКнопок, СсылкаОбъекта, Действие);
СтрокаПоУмолчанию = ПолучитьСтрокуДереваМакетовПоУмолчанию(СсылкаОбъекта.Метаданные().Имя ,ДеревоКнопок);
Если Не СтрокаПоУмолчанию = Неопределено Тогда
СтрокаПоУмолчанию.Пометка = Истина;
КонецЕсли;
Если ДеревоКнопок.Строки.Количество() > 0 Тогда
ДобавитьСтрокуВДеревоКнопок(ДеревоКнопок, Строка(Новый УникальныйИдентификатор), ТипКнопкиКоманднойПанели.Разделитель);
ДобавитьСтрокуВДеревоКнопок(ДеревоКнопок, "ПечатьПоУмолчанию", ТипКнопкиКоманднойПанели.Действие, "По умолчанию...", ДействиеУстановитьПечатьПоУмолчанию, "ПечатьПоУмолчанию");
КонецЕсли;
Возврат ДеревоКнопок;
КонецФункции //
В итоге все равно не доходит откуда берутся макеты?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Сервис->дополнительные отчеты и обработки->дополнительные внешние печатные формы.
А что за конфигурация?

Оффлайн riff666

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-28
  • Сайт: 
Сервис->дополнительные отчеты и обработки->дополнительные внешние печатные формы.
А что за конфигурация?
Такого меню к сожалению не нашел. Толи я дурак толи лыжи не едут. Конфигурация как я понял "Бухгалтерия предприятия, редакция 2.0", но допиленная под свои нужды.
Путем все того же отладчика через "Вычислить выражение" дошел до процедуры
Функция НапечататьВнешнююФорму(Ссылка, ИсточникМакета) Экспорт
Перем ДополнительныеПараметры;
ДвоичныеДанные = ИсточникМакета.СсылкаНаВнешнююОбработку.Принадлежность[ИсточникМакета.НомерСтроки - 1].ХранилищеВнешнейОбработки.Получить();
// Получить дополнительные параметры внешней обработки
ИсточникМакета.Свойство("ДополнительныеПараметрыОбработки", ДополнительныеПараметры);
Если ДвоичныеДанные = Неопределено Тогда
ДвоичныеДанные = ИсточникМакета.СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить();
КонецЕсли;
Если ДвоичныеДанные = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
ТабДокумент = Неопределено;
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
Попытка
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.СсылкаНаОбъект = Ссылка;
// Передать внешней обработке дополнительные параметры
Если ДополнительныеПараметры <> Неопределено Тогда
// Если у внешней обработки есть реквизит для дополнительных параметров, присвоить ему значение
Если НЕ Обработка.Метаданные().Реквизиты.Найти("ДополнительныеПараметры") = Неопределено Тогда
Обработка.ДополнительныеПараметры = ДополнительныеПараметры;
КонецЕсли;
КонецЕсли;
ТабДокумент = Обработка.Печать();
УдалитьФайлы(ИмяФайла);
Исключение
ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Не удалось сформировать внешнюю печатную форму!");
КонецПопытки;
Возврат ТабДокумент;
КонецФункции
Посмотрев имя файла в отладчике, нашел файл "C:\Users\Администратор\AppData\Local\Temp\3\v8_E7EB_42.epf". Осталось разобраться как и откуда происходит его создание.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Такого меню к сожалению не нашел.

тогда открывайте через операции справочник "Внешние Обработки".
Добавлено: 29 Июн 2016, 09:42

Конфигурация как я понял "Бухгалтерия предприятия, редакция 2.0"

Справка->о программе.

Оффлайн riff666

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-28
  • Сайт: 
тогда открывайте через операции справочник "Внешние Обработки".
Добавлено: 29 Июн 2016, 09:42

Справка->о программе.
В справке о конфигурации то что написал выше, если подробнее то "Бухгалтерия предприятия, редакция 2.0 (2.0.39.5) (http://v8.1c.ru/buhv8/) Copyright (С) ООО "1C", 2009 - 2012. Все права защищены (http://www.1c.ru)"
Скопировал раздел конфигурация.
Спасибо огромное за подсказку про справочник внешние обработки! Я малость не так редактировал договор. Я через конфигуратор открыл файл "Договор" отредактировал. А надо было еще открыть его через справочник "Внешние обработки" чтоб сохранить его в базу. Будем дальше изучать и курить мануалы)) Был системным администратором, хочу поменять специализацию.
vitasw Кнопочку спасибо нажал))

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Я через конфигуратор открыл файл "Договор" отредактировал. А надо было еще открыть его через справочник "Внешние обработки" чтоб сохранить его в базу.

Не совсем так. В конфигураторе есть код, который печатает макет опять же из конфигуратора. Разработчики добавили отдельный механизм присоединения внешних печатный форм, который по большому счету никак не зависит от того, что уже есть какая-то печать в конфигураторе. При открытии формы любого ссылочного объекта система формирует динамически список из печатный форм: то что есть в конфигураторе + то что есть в доп. обработках. При этом при подключении ВПФ (внешней печатной формы) можно настроить так, чтобы в ВПФ "была главнее". Сложно объяснить - проще чтобы вы сами ручками что-то поподключали и почитали.

Оффлайн riff666

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-28
  • Сайт: 
проще чтобы вы сами ручками что-то поподключали и почитали.

Само собой поподключаю и почитаю.


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4333
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 15142
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3971
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 444
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7470
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
156 Сообщений
alex0402
86 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
84 Сообщений
Golickoff Golickoff
32 Сообщений
Kironten
29 Сообщений
BuhRust
26 Сообщений
AIFrame
25 Сообщений
ilyay ilyay
24 Сообщений
AsadRoman
24 Сообщений
Варвар
20 Сообщений

* Кто онлайн

  • Точка Гостей: 224
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal