Макеты печатных форм

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Макеты печатных форм, Невозможно добавить макеты печатных форм
 
Добрый день!

Конфигурация: CRM+УТ (2.0.7.2)

В шаблонах пытаюсь добавить макет печатных форм в формате doc. При сохранении выдает ошибку.
 
Добрый день!
Спасибо за сообщение.  Передала разработчикам.
 
Ошибка проявляется здесь:


РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм.Форма(992)


Процедура ДобавитьСтрокуДереваЗавершитьРедакирование(СтруктураДанных)

НайденныеСтроки = CRM_ОбщегоНазначенияКлиентСервер.НайтиВЭлементахДерева(СписокМакетов.ПолучитьЭлементы(), Новый Структура("ПолноеИмяОМ", СтруктураДанных.ПолноеИмяОМ));
 
Цитата
Юрий    Железняков пишет:
Ошибка проявляется здесь:


РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм.Форма(992)


Процедура ДобавитьСтрокуДереваЗавершитьРедакирование(СтруктураДанных)

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

"Результат.Вставить("ПолноеИмяОМ"  ,ПолноеИмяОМ)"

В ранних релизах она была.
 
Ещё интересное наблюдение.

Решил добавить шаблон печати события (ШаблонСобытия.doc) из "ШаблоныПечати" - папка из шаблона поставки последнего релиза.

В списке макетов печатных форм нет документа "Событие", его же нет в списке владельцев макета  и при попытке создать новый.

Возможно, "забыли" в общей команде "ДополнительныеПечатныеФормыОбъекта" добавить Событие в тип параметра команды?

Может такие шаблоны где-то в другом месте добавлять надо?
Изменено: Юрий Железняков - 25.08.2014 14:18:43
 
Итак, чтобы получить функционал для работы с шаблонами, аналогичный "чистому" CRM 2, пришлось сделать следующее:

Для документа Событие в общую команду "ДополнительныеПечатныеФормыОбъекта" добавить Событие в тип параметра команды.

Для Заказа клиента

1. В модуле РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм.Форма(992)
Процедура ДобавитьСтрокуДереваЗавершитьРедакирование(СтруктураДанных)  

Заменить текст на:

Процедура ОК(Команда)
Если ПроверитьЗаполнениеПолей() Тогда
 Результат = Новый Структура;
 Результат.Вставить("ПолноеИмяОМ",     ВладелецМакета);
  Результат.Вставить("ИмяМакета",      ИмяОбъектаМетаданныхМакета);
 Результат.Вставить("Представление",     ПредставлениеМакета);
 Результат.Вставить("ПредставлениеВладельца",  ПредставлениеВладельца);
  Результат.Вставить("ТипМакета",      ТипМакета);
 Результат.Вставить("ПутьКФайлуМакета",    ПутьКФайлуМакета);
 Результат.Вставить("CRM_ВнешнийМакет",    Истина);
 Результат.Вставить("Редактируется",    Истина);
  Закрыть(Результат);
КонецЕсли;
КонецПроцедуры

2. Добавить в модуль формы:

&НаКлиенте

Процедура Подключаемый_ПечатьВнешнегоМакета(Команда)

ИмяМакета = СтрЗаменить(Команда.Имя, "Печать_", "");

ОбъектыНазначения = Новый СписокЗначений;
ОбъектыНазначения.Добавить(Объект.Ссылка);

УправлениеПечатьюКлиент.CRM_ПечатьВнешнегоМакета(ИмяМакета, ОбъектыНазначения);

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

3. Добавить в модуль формы в "ПриСозданииНаСервере":

CRM_ОбщегоНазначенияСервер.УстановитьКнопкиПечати(Метаданные.НайтиПоТипу(ТипЗнч(Объект.Ссылка)).ПолноеИмя(), ЭтаФорма);

4. Добавить на форму в командной панели "ФормаАвтоКнопки" (копировал из Событие).

После этого макеты стали работать, естественно, при наличии рабочих тегов.
 
Цитата
Юрий    Железняков пишет:
Итак, чтобы получить функционал для работы с шаблонами, аналогичный "чистому" CRM 2, пришлось сделать следующее:

Для документа Событие в общую команду "ДополнительныеПечатныеФормыОбъекта" добавить Событие в тип параметра команды.

Для Заказа клиента

1. В модуле РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм.Форма(992)
Процедура ДобавитьСтрокуДереваЗавершитьРедакирование(СтруктураДанных)  

Заменить текст на:

Процедура ОК(Команда)
Если ПроверитьЗаполнениеПолей() Тогда
 Результат = Новый Структура;
 Результат.Вставить("ПолноеИмяОМ",     ВладелецМакета);
  Результат.Вставить("ИмяМакета",      ИмяОбъектаМетаданныхМакета);
 Результат.Вставить("Представление",     ПредставлениеМакета);
 Результат.Вставить("ПредставлениеВладельца",  ПредставлениеВладельца);
  Результат.Вставить("ТипМакета",      ТипМакета);
 Результат.Вставить("ПутьКФайлуМакета",    ПутьКФайлуМакета);
 Результат.Вставить("CRM_ВнешнийМакет",    Истина);
 Результат.Вставить("Редактируется",    Истина);
  Закрыть(Результат);
КонецЕсли;
КонецПроцедуры

2. Добавить в модуль формы:

&НаКлиенте

Процедура Подключаемый_ПечатьВнешнегоМакета(Команда)

ИмяМакета = СтрЗаменить(Команда.Имя, "Печать_", "");

ОбъектыНазначения = Новый СписокЗначений;
ОбъектыНазначения.Добавить(Объект.Ссылка);

УправлениеПечатьюКлиент.CRM_ПечатьВнешнегоМакета(ИмяМакета, ОбъектыНазначения);

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

3. Добавить в модуль формы в "ПриСозданииНаСервере":

CRM_ОбщегоНазначенияСервер.УстановитьКнопкиПечати(Метаданные.НайтиПоТипу(ТипЗнч(Объект.Ссылка)).ПолноеИмя(), ЭтаФорма);

4. Добавить на форму в командной панели "ФормаАвтоКнопки" (копировал из Событие).

После этого макеты стали работать, естественно, при наличии рабочих тегов.
Спасибо за сообщения и Вашу активность. Передала разработчику.
 
Цитата
Юрий    Железняков пишет:
Для Заказа клиента

1. В модуле РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм.Форма(992)
Процедура ДобавитьСтрокуДереваЗавершитьРедакирование(СтруктураДанных)  

Заменить текст на:

Процедура ОК(Команда)
Если ПроверитьЗаполнениеПолей() Тогда
 Результат = Новый Структура;
 Результат.Вставить("ПолноеИмяОМ",     ВладелецМакета);
  Результат.Вставить("ИмяМакета",      ИмяОбъектаМетаданныхМакета);
 Результат.Вставить("Представление",     ПредставлениеМакета);
 Результат.Вставить("ПредставлениеВладельца",  ПредставлениеВладельца);
  Результат.Вставить("ТипМакета",      ТипМакета);
 Результат.Вставить("ПутьКФайлуМакета",    ПутьКФайлуМакета);
 Результат.Вставить("CRM_ВнешнийМакет",    Истина);
 Результат.Вставить("Редактируется",    Истина);
  Закрыть(Результат);
КонецЕсли;
КонецПроцедуры
Не понял. Полностью удалить процедуру ДобавитьСтрокуДереваЗавершитьРедакирование и вместо неё поставить Процедура ОК()?
 
Сергей Ковальчук,

Виноват, не совсем точно указал-заменить процедуру ОК.
 
Цитата
Юрий    Железняков пишет:
Сергей Ковальчук,  

Виноват, не совсем точно указал-заменить процедуру ОК.
То есть в CRM_ФормаЗаписи надо отредактировать эту процедуру?
Изменено: Сергей Ковальчук - 26.08.2014 14:04:07
 
Сергей Ковальчук,

Да.
 
Цитата
Юрий    Железняков пишет:
Сергей Ковальчук,  

Да.
А пункты 2, 3, 4 - имеется в виду форма заказа клиента? Или форма РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм?
 
Цитата
Сергей Ковальчук пишет:
А пункты 2, 3, 4 - имеется в виду форма заказа клиента?

Да, форма, её модуль и кнопка  "ФормаАвтоКнопки".
 
Еще немножко расширили функционал, добавив возможность вывода тегов в нижний колонтитул.

Общий модуль "УправлениеПечатьюКлиент", процедура "CRM_ПечатьВнешнегоМакетаMicrosoftWord".


// Вывод колонтитулов документа.
   Область = ПолучитьОбласть(Макет, Области[ИмяМакета]["ВерхнийКолонтитул"]);
   ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
 

  Область = ПолучитьОбласть(Макет, Области[ИмяМакета]["НижнийКолонтитул"]);
   ПрисоединитьОбласть(ПечатнаяФорма, Область);


После получения области "НижнийКолонтитул" возможно только её присоединение без заполнения параметров.


Изм.:


// Вывод колонтитулов документа.
  Область = ПолучитьОбласть(Макет, Области[ИмяМакета]["ВерхнийКолонтитул"]);
   ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
 
  Область = ПолучитьОбласть(Макет, Области[ИмяМакета]["НижнийКолонтитул"]);
  ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
 
Цитата
Юрий    Железняков пишет:
Еще немножко расширили функционал, добавив возможность вывода тегов в нижний колонтитул.
А Вы проверяли? Пробовали добавлять в колонтитулы тэги?
 
Цитата
Сергей Ковальчук пишет:
А Вы проверяли? Пробовали добавлять в колонтитулы тэги?

Конечно, только они раньше не выводились, после изменения кода всё заработало.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С