Как вызывать обработку из кнопки печать

1. user1979322 18.12.24 09:14 Сейчас в теме
Всем привет, написал обработку и ее нужно интегрировать в документ, что бы при кликанье на кнопку Печать появлялась данная обработка. Как написано в инструкции через “Настройки”- “Печатные формы, отчеты и обработки”-“Дополнительные отчеты и обработки”. Попал в нужное место, в обработке в модуле менеджера добавил функцию СведенияОВнешнейОбработке. Вроде все. Кликаю на “Добавить из файла”, выбрал нужную обработку НО ее не видно в Документах при нажатии на кнопку Печать
1 Как ее удалить из этого списка?
2 Как добавить новую?
3 Почему не видно в кнопке печать?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 18.12.24 09:21 Сейчас в теме
(1) Это должна быть не просто дополнительная обработка, а печатная форма.
4. user1979322 18.12.24 09:23 Сейчас в теме
(3) Согласен, но как мне добавить эту внешнюю печатную форму в кнопку Печать
5. user2107191 18.12.24 09:26 Сейчас в теме
(4) А ты уверен, что это именно внешняя печатная форма, а не просто какая-то обработка? Тебя же об этом спрашивают...
7. RustamZz 18.12.24 09:38 Сейчас в теме
(4) Написать в СведенияОВнешнейОбработке
8. user1979322 18.12.24 09:41 Сейчас в теме
(7) Спасибо добавил, ни чего не изменилось. Как УДАЛИТЬ СТАРУЮ ОБРАБОТКУ
9. user2107191 18.12.24 09:44 Сейчас в теме
(8)
УДАЛИТЬ СТАРУЮ ОБРАБОТКУ
НАЙДИ ЕЁ В СПРАВОЧНИКЕ ОБРАБОТОК И УДАЛИ
11. user1979322 18.12.24 09:52 Сейчас в теме
(9) Нет справочника Обработок и что то похожего, да как эту фигню сжечь, удалить, растоптать
Прикрепленные файлы:
12. user2107191 18.12.24 10:01 Сейчас в теме
(11)
Нет справочника Обработок
Интересно, а что же это у тебя такое на весь экран развернуто?
13. user1979322 18.12.24 10:21 Сейчас в теме
(12) (12) Функции для технического специалиста, там все справочники, документы, регистры и т.д и там я не нашел Справочник.Обработка и что то похожее. У меня вопрос, да как удалить
16. user2107191 18.12.24 10:34 Сейчас в теме
(13) Слава, ты тормоз. Теперь официально.

А еще в конфигурациях нет справочника Материалов, Товаров, Услуг, Индивидуальных предпринимателей, Юридических лиц, Институтов, Университетов, Заводов, Железных труб, и прочего...
2. user2107191 18.12.24 09:21 Сейчас в теме
Имя и Наименование - это как бы разные вещи.
6. jmw 61 18.12.24 09:31 Сейчас в теме
Имя обработки и её название в справочнике — это совсем другое.
Там достаточно просто обновить из файла на новую

СведенияОВнешнейОбработке() должна быть строка типа:

ПараметрыРегистрации.Назначение.Добавить("Документ.ПриемНаРаботу");
10. user1979322 18.12.24 09:45 Сейчас в теме
(6) Добавил, ни чего не изменилось и почему эта обработка не появляется в списке обработок
Прикрепленные файлы:
14. user1979322 18.12.24 10:22 Сейчас в теме
Почему при выполнении всех манипуляций нужная обработка не появляется
Прикрепленные файлы:
15. nomad_irk 80 18.12.24 10:23 Сейчас в теме
(14) Потому что у обработки вид не "печатная форма", а какой-то другой.
18. user1979322 18.12.24 10:43 Сейчас в теме
(15) Реально запутался. Отличие печатной формы от обработки наличие функции Печать, я правильно понял, но что в ней не так
Прикрепленные файлы:
20. nomad_irk 80 18.12.24 10:50 Сейчас в теме
(18) Вид обработки задается в сведениях о ней, в модуле объекта. У вас задан вид "дополнительная обработка".
17. Bukaska 140 18.12.24 10:40 Сейчас в теме
(14) Что у вас здесь? Например.
ПараметрыРегистрации = Новый Структура;
	
	//указываем сведения о внешней печатной форме
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");//может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет и другие
	ПараметрыРегистрации.Вставить("Версия", "1.1");//Произвольная версия
	ПараметрыРегистрации.Вставить("Наименование", "Печатная форма для Счета (внешняя)");//имя под которым обработка будет зарегестрирована в справочнике внешних обработок
	ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма для документов");//Произвольное наименование

Обработку можно обновлять из файла, у вас там выше кнопка есть.
Смущает ошибка, что типа такое имя уже есть внизу
19. user1979322 18.12.24 10:44 Сейчас в теме
(17)
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации                 = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид             = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.БезопасныйРежим = Ложь;    
	ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя");
    
    НоваяКоманда               = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = Метаданные().Синоним;
    НоваяКоманда.Идентификатор = Метаданные().Имя;
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    
    Возврат ПараметрыРегистрации
    
КонецФункции
Показать
Прикрепленные файлы:
21. Bukaska 140 18.12.24 10:57 Сейчас в теме
(19) АктВыполненныхРабот - документа случаем нет такого в конфигурации?
Не нужно звать внешние данные тем именем, что уже есть в конфигурации.
НАзовите например ПечатнаяФормаДляАктаВыполненныхРабот.
Ну и не вижу в параметрах регистрации, что оно четко прописано, что это печатная форма. Посмотреть не могу, так как у меня пока что учебная версия на компе, на ней типовые не откроешь.
Таблица команд - это вроде тоже отдельная функция с возвратом таблицы значений, а вы все вместе но как то скромно намешали.. так номер не пройдет..
В командах тоже нужно указывать более прямо все назначения.
//добавляем команду - информация, которая необходима для создания кнопки печати в документе
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Печатная форма для Счета (внешняя)"; //наименование, которое пользователи будут видеть при нажатии на кнопку печати
	Команда.Идентификатор = "ПечатнаяФормаДляСчета";//!!! Этот идентификатор должен быть в процедуре печати во втором параметре !!!
	Команда.Использование = "ВызовСерверногоМетода";//Для печатных форм всегда это значение
	Команда.ПоказыватьОповещение = Истина; //Всплывающее оповещение после формирование печатной формы
	Команда.Модификатор = "ПечатьMXL";//Для печатных форм всегда это значение
33. Pavel Rodinchenko 18.12.24 12:33 Сейчас в теме
(19) Так в идентификаторе команды используется Метаданные().Имя. А обработка называется "АктВыполенныхРабот". Переименуйте обработку и будет счастье
22. 1234su 18.12.24 10:59 Сейчас в теме
А потом этими же руками ноют, что 1С плохая.
23. пользователь 18.12.24 11:04
Сообщение было скрыто модератором.
...
24. пользователь 18.12.24 11:12
Сообщение было скрыто модератором.
...
28. user2107191 18.12.24 11:25 Сейчас в теме
(23) Кто-нибудь успел прочитать - что там Слава мне насочинял в ответ? А то модератор успел скрыть (хотя там может быть просто проверяемая ссылка), а я только про стандартное раздражение от умников вижу в уведомлениях...
Прикрепленные файлы:
25. user1979322 18.12.24 11:19 Сейчас в теме
Все подключил, косяк был в названии обработки и в функции СведенияОВнешнейОбработке. Но Остается вопрос как
1) Получить ссылку выбранного документа. Когда писал обработку, в форме указал поле выбора документа из который и вытаскивал ссылку
2)автоматически запускать обработку при нажатии на кнопку Печать и выбора моей обработки. Раньше запускалась обработка при вызове ОбработкаВыбора, т.е когда выбрали нужный документ
27. Bukaska 140 18.12.24 11:25 Сейчас в теме
(25) Вот еще тут почитайте. Статья старая. Но может для себя что подчерпнете. Так как я еще не совсем понимаю, о чем вы спрашиваете.
https://infostart.ru/1c/tools/258450/
29. 1234su 18.12.24 11:26 Сейчас в теме
(25)
Но Остается вопрос как
Славик, ты вообще документацию пробовал читать? Или твоя секта прямо запрещает тебе это делать?
34. Bukaska 140 18.12.24 12:35 Сейчас в теме
(29) Автор скорее самоучка судя по всему. Но соглашусь, что курсы бы не помешали). Даже здесь на сайте edu куча курсов, в том числе для начинающих. Только учись)
30. RustamZz 18.12.24 11:29 Сейчас в теме
(25) Она передается через ОбъектыПечати
31. ELbailador 18.12.24 11:29 Сейчас в теме
(25) Не нужно ничего выбирать, текущий документ сразу напечатается.
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
		
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СменноеЗаданиеВнешняя") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
			"СменноеЗаданиеВнешняя", 
			НСтр("ru = 'Сменное задание (с колонкой Выход)'"),
			СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати));
	КонецЕсли;
		
КонецПроцедуры

Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	ВариантГруппировки = "";
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СменноеЗаданиеВнешняя"+ВариантГруппировки;
	
	Макет = ПолучитьМакет("ПФ_MXL_СменноеЗаданиеВнешняя");
................
КонецФункции;
Показать
26. ELbailador 18.12.24 11:24 Сейчас в теме
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.СменноеЗадание");
	ПараметрыРегистрации.Наименование = (НСтр("ru = 'Сменное задание (с колонкой Выход)'"));
	ПараметрыРегистрации.Информация = (НСтр("ru = 'Внешняя печатная форма Сменное задание (с колонкой Выход), Выход = Количество из операции * План '"));
//	ПараметрыРегистрации.БезопасныйРежим = ЛОЖЬ;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Сменное задание (с колонкой Выход)'");
	НоваяКоманда.Идентификатор = "СменноеЗаданиеВнешняя";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

Показать
32. 1234su 18.12.24 11:33 Сейчас в теме
(23)
поработав с такими карзуничевыми начинают ныть клиенты
Да похрен на клиентов, там "невидимая рука рынка" все потом расставляет. Загнутся они от таких Вячеславов - что ж, естественный отбор.
Славики просто не понимают, что выгонят их... и всё.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот