Всем привет, написал обработку и ее нужно интегрировать в документ, что бы при кликанье на кнопку Печать появлялась данная обработка. Как написано в инструкции через “Настройки”- “Печатные формы, отчеты и обработки”-“Дополнительные отчеты и обработки”. Попал в нужное место, в обработке в модуле менеджера добавил функцию СведенияОВнешнейОбработке. Вроде все. Кликаю на “Добавить из файла”, выбрал нужную обработку НО ее не видно в Документах при нажатии на кнопку Печать
1 Как ее удалить из этого списка?
2 Как добавить новую?
3 Почему не видно в кнопке печать?
1 Как ее удалить из этого списка?
2 Как добавить новую?
3 Почему не видно в кнопке печать?
Прикрепленные файлы:
По теме из базы знаний
- Дополнительные отчеты и обработки для конфигураций, основанных на БСП. Часть 2. Печатные формы (MXL).
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Печатная форма Т-5 для документа Кадровый перевод списком (печать только одного выбранного сотрудника)
- [БСП] Внешняя печатная форма: как перед печатью выводить форму настроек
- Как отредактировать документ перед печатью в 1С. Советы пользователям
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Имя обработки и её название в справочнике — это совсем другое.
Там достаточно просто обновить из файла на новую
СведенияОВнешнейОбработке() должна быть строка типа:
ПараметрыРегистрации.Назначение.Добавить("Документ.ПриемНаРаботу");
Там достаточно просто обновить из файла на новую
СведенияОВнешнейОбработке() должна быть строка типа:
ПараметрыРегистрации.Назначение.Добавить("Документ.ПриемНаРаботу");
(14) Что у вас здесь? Например.
Обработку можно обновлять из файла, у вас там выше кнопка есть.
Смущает ошибка, что типа такое имя уже есть внизу
ПараметрыРегистрации = Новый Структура;
//указываем сведения о внешней печатной форме
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");//может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет и другие
ПараметрыРегистрации.Вставить("Версия", "1.1");//Произвольная версия
ПараметрыРегистрации.Вставить("Наименование", "Печатная форма для Счета (внешняя)");//имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма для документов");//Произвольное наименованиеОбработку можно обновлять из файла, у вас там выше кнопка есть.
Смущает ошибка, что типа такое имя уже есть внизу
(17)
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.БезопасныйРежим = Ложь;
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = Метаданные().Синоним;
НоваяКоманда.Идентификатор = Метаданные().Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Возврат ПараметрыРегистрации
КонецФункции
ПоказатьПрикрепленные файлы:
(19) АктВыполненныхРабот - документа случаем нет такого в конфигурации?
Не нужно звать внешние данные тем именем, что уже есть в конфигурации.
НАзовите например ПечатнаяФормаДляАктаВыполненныхРабот.
Ну и не вижу в параметрах регистрации, что оно четко прописано, что это печатная форма. Посмотреть не могу, так как у меня пока что учебная версия на компе, на ней типовые не откроешь.
Таблица команд - это вроде тоже отдельная функция с возвратом таблицы значений, а вы все вместе но как то скромно намешали.. так номер не пройдет..
В командах тоже нужно указывать более прямо все назначения.
Не нужно звать внешние данные тем именем, что уже есть в конфигурации.
НАзовите например ПечатнаяФормаДляАктаВыполненныхРабот.
Ну и не вижу в параметрах регистрации, что оно четко прописано, что это печатная форма. Посмотреть не могу, так как у меня пока что учебная версия на компе, на ней типовые не откроешь.
Таблица команд - это вроде тоже отдельная функция с возвратом таблицы значений, а вы все вместе но как то скромно намешали.. так номер не пройдет..
В командах тоже нужно указывать более прямо все назначения.
//добавляем команду - информация, которая необходима для создания кнопки печати в документе
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Печатная форма для Счета (внешняя)"; //наименование, которое пользователи будут видеть при нажатии на кнопку печати
Команда.Идентификатор = "ПечатнаяФормаДляСчета";//!!! Этот идентификатор должен быть в процедуре печати во втором параметре !!!
Команда.Использование = "ВызовСерверногоМетода";//Для печатных форм всегда это значение
Команда.ПоказыватьОповещение = Истина; //Всплывающее оповещение после формирование печатной формы
Команда.Модификатор = "ПечатьMXL";//Для печатных форм всегда это значение
(23) Кто-нибудь успел прочитать - что там Слава мне насочинял в ответ? А то модератор успел скрыть (хотя там может быть просто проверяемая ссылка), а я только про стандартное раздражение от умников вижу в уведомлениях...
Прикрепленные файлы:
Все подключил, косяк был в названии обработки и в функции СведенияОВнешнейОбработке. Но Остается вопрос как
1) Получить ссылку выбранного документа. Когда писал обработку, в форме указал поле выбора документа из который и вытаскивал ссылку
2)автоматически запускать обработку при нажатии на кнопку Печать и выбора моей обработки. Раньше запускалась обработка при вызове ОбработкаВыбора, т.е когда выбрали нужный документ
1) Получить ссылку выбранного документа. Когда писал обработку, в форме указал поле выбора документа из который и вытаскивал ссылку
2)автоматически запускать обработку при нажатии на кнопку Печать и выбора моей обработки. Раньше запускалась обработка при вызове ОбработкаВыбора, т.е когда выбрали нужный документ
(25) Не нужно ничего выбирать, текущий документ сразу напечатается.
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СменноеЗаданиеВнешняя") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"СменноеЗаданиеВнешняя",
НСтр("ru = 'Сменное задание (с колонкой Выход)'"),
СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
КонецПроцедуры
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт
УстановитьПривилегированныйРежим(Истина);
ВариантГруппировки = "";
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СменноеЗаданиеВнешняя"+ВариантГруппировки;
Макет = ПолучитьМакет("ПФ_MXL_СменноеЗаданиеВнешняя");
................
КонецФункции;
Показать
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.Назначение.Добавить("Документ.СменноеЗадание");
ПараметрыРегистрации.Наименование = (НСтр("ru = 'Сменное задание (с колонкой Выход)'"));
ПараметрыРегистрации.Информация = (НСтр("ru = 'Внешняя печатная форма Сменное задание (с колонкой Выход), Выход = Количество из операции * План '"));
// ПараметрыРегистрации.БезопасныйРежим = ЛОЖЬ;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Сменное задание (с колонкой Выход)'");
НоваяКоманда.Идентификатор = "СменноеЗаданиеВнешняя";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Показать
(23)
Славики просто не понимают, что выгонят их... и всё.
поработав с такими карзуничевыми начинают ныть клиенты
Да похрен на клиентов, там "невидимая рука рынка" все потом расставляет. Загнутся они от таких Вячеславов - что ж, естественный отбор.
Славики просто не понимают, что выгонят их... и всё.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот