Имя: Пароль:
1C
 
v8: Релиз УТ 11. Разбор полетов с печатью документов и прикрепление новых форм.
0 Eugeneer
 
25.07.10
11:47
Не нашел вообще как прицепить внешние печатные формы.
Второе - как я вижу процедуры печати теперь через команды.
Получается что внешние формы теперь без изменения конфигурации не прилепить?
1 bazvan
 
25.07.10
11:49
(0) Бу га га, ты только узнал???
2 Eugeneer
 
25.07.10
11:49
Хотя вижу в администрировании макеты. СЕйчас ковырять придется как с ними работать. Но надо не просто макет а как в старой УТ макет с модулем и кодом.
3 Eugeneer
 
25.07.10
11:51
(1) не я не привык в бетках начинать работать. Вчера вышел релиз, вот считай со всерашнего дня и начал работать. Перевел свою учетную базу на УТ11 со всей историей.
4 shuhard
 
25.07.10
12:35
(0) судя по хэлпу можно:
В зависимости от назначения, обработки подразделяются на следующие виды:

Обработки заполнение объекта
Обработки создания объектов на основании
Печатные формы
Отчеты
Дополнительные отчеты
Дополнительные обработки
При этом первые четыре вида обработок используются в различных формах объектов (т.н. назначаемые обработки), а два последних вида вызываются отдельно в командном интерфейсе. Для назначаемых обработок необходимо указать типы объектов, с которыми они должны работать.

Каждая обработка может поставлять одну или несколько команд.
5 shuhard
 
25.07.10
12:39
(4) позырь СведенияОВнешнейОбработке()
6 shuhard
 
25.07.10
12:43
(5) + 1
точно есть
ИначеЕсли ТипОбработки = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма Тогда
       
       ВнешняяОбработка.Печать(ИдентификаторКоманды, ОбъектыНазначения);
       
   КонецЕсли;
7 Eugeneer
 
25.07.10
15:35
Спасибо. Теперь осталось только найти где их вообще заводить))
8 Eugeneer
 
25.07.10
15:51
Я чото ничерта понять не могу. везде есть дополнительные обработки. Открываешь а там ни кнопок ни команд. вообще как что нибудь добавить?
9 Eugeneer
 
25.07.10
15:53
все нашел. блин.)))
10 Eugeneer
 
25.07.10
16:06
Блин
Вот пипец. Вылизит хоть тресни
Возможно, обработка (отчет) устарела или не является дополнительной:Метод объекта не обнаружен (СведенияОВнешнейОбработке)
11 Eugeneer
 
25.07.10
16:07
Такс. и кто в курсе как нужно теперь прописывать для УТ11 внешние обработки? Требует процедуру СведенияОВнешнейОбработке
12 tridog
 
25.07.10
16:09
Посмотри в последней БСП. Там примеры и внешних печатных форм и обработок заполнения ТЧ в общих макетах в бинарном виде есть.
13 inspam
 
25.07.10
16:21
(9) поделись где?
14 Eugeneer
 
25.07.10
16:22
В Администрировании справа в меню зарыто.
15 shuhard
 
25.07.10
16:22
(11) пипец
Маня отупел настолько, что не может в крошечном коде УТ найди параметры СведенияОВнешнейОбработке
16 inspam
 
25.07.10
16:29
(14) доп отчеты и обработки?
17 Eugeneer
 
25.07.10
16:52
(16) да. туда всю подключается. Это справочник.
(15) уже давно смотрю. Параметров много. Тектовых. Надо описание делать.
18 Eugeneer
 
26.07.10
11:39
Так ну форму я присоединил. Но результата нет.
Надо срочно описание передачи параметров включая параметры команд.
19 shuhard
 
26.07.10
11:47
(18) [Надо срочно описание передачи параметров включая параметры команд.]
мань - по 1000 руб. за параметр ?
20 shuhard
 
26.07.10
11:54
(19) молчание знак согласия
Использование при разработке конфигурации
Создание нового отчета или обработки

Примеры дополнительных обработок (отчетов) имеются в демонстрационной конфигурации. В общем виде, последовательность создания дополнительной обработки (отчета) следующая:

1. Создать внешнюю обработку (отчет)

2. Регистрация дополнительной обработки в информационной базе происходит на основании сведений, которые поставляет сама обработка. Эти сведения должны возвращаться в виде структуры в функции СведенияОВнешнейОбработке (приведено со служебными функциями):
Копировать в буфер обмена

Функция СведенияОВнешнейОбработке() Экспорт
 ПараметрыРегистрации.Вставить("Вид", …);
 ПараметрыРегистрации.Вставить("Назначение", …);
 ПараметрыРегистрации.Вставить("Наименование", …);
 ПараметрыРегистрации.Вставить("Версия", …);
 ПараметрыРегистрации.Вставить("БезопасныйРежим", …);
 ПараметрыРегистрации.Вставить("Информация", …);

 ТаблицаКоманд = ПолучитьТаблицу_Команд();

 ДобавитьКоманду(ТаблицаКоманд,
         <Имя команды>,
         <Идентификатор команды>,
         <Способ вызова команды>,
         <Показывать оповещение>,
         <Модификатор>);

 ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

 Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьТаблицу_Команд()

 Команды = Новый ТаблицаЗначений;
 Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
 Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
 Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
 Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
 Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

 Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

 НоваяКоманда = ТаблицаКоманд.Добавить();
 НоваяКоманда.Представление = Представление;
 НоваяКоманда.Идентификатор = Идентификатор;
 НоваяКоманда.Использование = Использование;
 НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
 НоваяКоманда.Модификатор = Модификатор;

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

где поля структуры имеют следующее назначение:

Ключ
   

Содержание

Вид
   

строка, вид обработки, один из возможных: "ДополнительнаяОбработка", "ДополнительныйОтчет", "ЗаполнениеОбъекта", "Отчет", "ПечатнаяФорма", "СозданиеСвязанныхОбъектов"

Назначение
   

Массив строк имен объектов метаданных в формате: <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>]. Например, "Документ.СчетЗаказ" или "Справочник.*". Прим. параметр имеет смысл только для назначаемых обработок, для глобальных может не задаваться.

Наименование
   

Наименование обработки, которым будет заполнено наименование элемента справочника по умолчанию - краткая строка для идентификации обработки администратором

Версия
   

Версия обработки в формате “<старший номер>.<младший номер>” используется при загрузке обработок в информационную базу. Например “.

БезопасныйРежим
   

Принимает значение Истина или Ложь, в зависимости от того, требуется ли устанавливать или отключать безопасный режим исполнения обработок. Если истина, обработка будет запущена в безопасном режиме. Более подбробно о безопасном режиме в справке к платформе 1С:Предприятие.

Информация
   

Краткая информация по обработке, описание обработки.

Команды
   

Команды, поставляемые обработкой. Таблица значений с колонками:

Представление – представление команды в пользовательском интерфейсе;

Идентификатор – идентификатор команды; любая строка, уникальная в пределах данной обработки (отчета). В случае с обработками печатных форм на основе макета табличного документа передается список макетов, на основе которых нужно получить печатную форму (см. описание параметра ИменаМакетов процедуры УправлениеПечатьюКлиент.ВыполнитьКомандуПечати в разделе Печать).

Использование – варианты запуска обработки:

? "ОткрытиеФормы" – открыть форму обработки;

? "ВызовКлиентскогоМетода" – вызвать клиентскую экспортную процедуру из модуля формы обработки;

? "ВызовСерверногоМетода" – вызвать серверную экспортную процедуру из модуля объекта обработки.

ПоказыватьОповещение – если Истина, требуется показать оповещение при начале и при завершении работы обработки. Имеет смысл только при запуске обработки без открытия формы.

Модификатор – дополнительный модификатор команды. Используется для дополнительных обработок печатных форм на основе табличных макетов, для таких команд должен содержать строку ПечатьMXL (см. пример в демонстрационной конфигурации).
21 Eugeneer
 
26.07.10
14:45
Спасибо.
22 Stagor
 
26.07.10
14:45
классная ветка, отмечусь.
23 France
 
26.07.10
14:47
и хдеж ты была, родимая конфа УТ 11 последние полгода..
24 shuhard
 
26.07.10
14:49
(21) код в студию
лично мне нах не надо, ибо работаю на УПП,
но первопроходцам пригодится
25 Новиков
 
26.07.10
14:50
Отмечусь также.
26 shuhard
 
26.07.10
15:09
(22)
(25)
зря, кина не будет
маня ушел в отказ,
мне не надо
27 trdm
 
26.07.10
15:16
(20) Дрочь какая-то.
28 shuhard
 
26.07.10
15:25
(27) а потом орать будешь,
что в типовой ошибки и у твоего нового документа нет доп.печатных форм
29 trdm
 
26.07.10
15:28
(28) Ты меня со слабоумными, которые читать не умеют не путай.
Я сначала теорию изучаю, а потом за практику берусь.
30 shuhard
 
26.07.10
15:31
(29) тогда к чему (27)
31 trdm
 
26.07.10
15:55
(30) (27) было к (20)
32 Eugeneer
 
26.07.10
21:31
код? да ща без проблем. правда это сейчас тупо для открытия обработки.
Завтра буду для печати ковырять. надо срочно акты передачи прав и печать договоров перевести. завтра буду мучать.
33 Eugeneer
 
26.07.10
21:32
если что на ИС потом выкину.
34 Immortal
 
26.07.10
21:45
нафига это в БЗ?
документацию по БСП читать надо
35 Eugeneer
 
26.07.10
21:49
Нету в БСП по крайней мере с июньского релиза. может не там смотрел. июльский еще не вышел.
36 Eugeneer
 
26.07.10
21:49
(34) нормально. еще сто тысяч раз этот вопрос будет подниматься.
37 tridog
 
26.07.10
21:56
(35) Уж не знай от какого месяца ИТС нужен, но в БСП 1.0.6 есть и работа с впеншними печ. формами и их примеры.
38 Eugeneer
 
26.07.10
22:00
ладна. завтра акты сделаю и договора. кстати надо чото думать. разрабатывать для УТ11 учет договоров.
39 Eugeneer
 
26.07.10
22:01
меня пока еще бесит то что шило на мыло перевернули. убивает когда начинают переименовывать прижившиеся термины. 1С этим славится. надо же блин где были Типы переименовать в Виды а где Виды в Типы. ну пипец просто.
40 Eugeneer
 
26.07.10
22:02
тперь не типы цен а виды цен и т.д. по всей конфе. тупое переназывание терминов. такое чувство что в 1С текучка кадров каждая из которых свою хигню придумывает чтобы показать значимость работ...
41 Eugeneer
 
26.07.10
22:03
ЗаказПокупателя = ЗаказКлиента и т.п. и т.д.
точно текучка какая то.
42 Eugeneer
 
27.07.10
09:09
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

 НоваяКоманда = ТаблицаКоманд.Добавить();
 НоваяКоманда.Представление = Представление;
 НоваяКоманда.Идентификатор = Идентификатор;
 НоваяКоманда.Использование = Использование;
 НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
 НоваяКоманда.Модификатор = Модификатор;

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

Функция СведенияОВнешнейОбработке() Экспорт
   
   РегистрационныеДанные = Новый Структура;
   
   Команды = Новый ТаблицаЗначений;
   Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
   Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
   
   ДобавитьКоманду(Команды,"SubSys: Многофункциональная загрузка документов","ОткрытиеФормы","ОткрытиеФормы",,);
         
   //Инициализация сведений об обработке
   РегистрационныеДанные.Вставить("Вид","ДополнительнаяОбработка");
   РегистрационныеДанные.Вставить("Назначение","");
   РегистрационныеДанные.Вставить("Наименование","SubSys: Многофункциональная загрузка документов");
   РегистрационныеДанные.Вставить("Версия","25-07-2010");
   РегистрационныеДанные.Вставить("БезопасныйРежим",Истина);
   РегистрационныеДанные.Вставить("Информация","");
   РегистрационныеДанные.Вставить("Команды",Команды);
   
   Возврат РегистрационныеДанные;
           
КонецФункции
43 Поручик
 
28.07.10
23:59
Здесь можно взять рабочий пример внешней печатной формы для УТ 11
http://forum.aeroion.ru/topic473.html
44 Seducer
 
29.07.10
00:11
Хорошая тема. Надо будет попробовать прицепить свои печатные формы
45 shuhard
 
29.07.10
06:42
(43) содержательная часть:
Функция СведенияОВнешнейОбработке() Экспорт
   
   ОбъектыНазначенияФормы = Новый Массив;
   ОбъектыНазначенияФормы.Добавить("Документ.ЧекККМ");
   
   ПараметрыРегистрации = Новый Структура;
   ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
   ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);
   ПараметрыРегистрации.Вставить("Наименование", "Товарный чек");
   ПараметрыРегистрации.Вставить("Версия", "1.0");
   ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
   ПараметрыРегистрации.Вставить("Информация", "Печатная форма товарного чека для Чека ККМ. Содержит наименование магазина, номер чека ККМ.");

   ТаблицаКоманд = ПолучитьТаблицу_Команд();

   ДобавитьКоманду(ТаблицаКоманд,
       "Товарный чек (с наименованием магазина)",                // Представление команды в пользовательском интерфейсе
       "ТоварныйЧек",        // Уникальный идентификатор команды или имя макета печати
       "ВызовСерверногоМетода",    // Способ вызова команды: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода"
       Ложь,                        // Показывать оповещение
       "ПечатьMXL"                // Модификатор
   );

   ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

   Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьТаблицу_Команд()

   Команды = Новый ТаблицаЗначений;
   Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
   Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

   Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ВызовСерверногоМетода", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

   НоваяКоманда = ТаблицаКоманд.Добавить();
   НоваяКоманда.Представление = Представление;
   НоваяКоманда.Идентификатор = Идентификатор;
   НоваяКоманда.Использование = Использование;
   НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
   НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн