Пропал пункт подменю "Печать" в расширении с момента выхода 23 платформы в апреле 2023

1. JM_1C 07.11.23 14:24 Сейчас в теме
Добрый день сообщество! Бьюсь уже очень долго над этой проблемой(видно по заголовку)). Я связываю именно с выходом 23-й платформы(до апреля на всех версиях платформы расширение рабочее), возможно поменялась логика работы платформ касаемо расширений с глобальными параметризуемыми командами(новичок в 1С просьба сильно не пинать). Обновилась сама форма документа, но это вряд ли повлияло на видимость пункта печатной формы - обновлял форму документа, добавлял(переопределял) заново команду печати, связывал как-то с отсутствием необходимых прав (включал галку в роли в пункте "Независимые права подчиненных объектов"). Уважаемые экперты, просьба помочь!

Это код команды печати расширения.

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	ТабДок = Новый ТабличныйДокумент;
	Печать(ТабДок, ПараметрКоманды);

	ТабДок.ОтображатьСетку = Ложь;
	ТабДок.Защита = Ложь;
	ТабДок.ТолькоПросмотр = Ложь;
	ТабДок.ОтображатьЗаголовки = Ложь;
	ТабДок.АвтоМасштаб=Истина;
	ТабДок.КоличествоЭкземпляров=2;
	//ТабДок.Показать("Спецификация");
	
	//
	КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Спецификация к договору");
	ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Спецификация к договору");
	ПечатнаяФорма.ТабличныйДокумент = ТабДок;
	ПечатнаяФорма.СинонимМакета="Спецификация к договору";
	КлючУникальности = Строка(Новый УникальныйИдентификатор);
	ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
	ПараметрыОткрытия.ПараметрКоманды = Новый Массив;
	ПараметрыОткрытия.ПараметрыПечати = Новый Структура;
	ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
	ПараметрыОткрытия.Вставить("ИменаМакетов","Спецификация к договору");
	ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, , КлючУникальности);
	//
	
	//ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
	 
КонецПроцедуры

&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
	Документы.СчетНаОплатуПокупателю.ПечатьСпецификации(ТабДок, ПараметрКоманды);
КонецПроцедуры
Показать


Прикрепленные файлы:
Найденные решения
42. Sashares 35 10.11.23 14:13 Сейчас в теме
(41)Вместо использования в расширении команды из метаданных документа, печать реализована с помощью стандартного функционала БСП.
А именно:
- в процедуру ДобавитьКомандыПечати модуля менеджера документа добавлена команда;
- в процедуре Печать модуля менеджера документа добавлен вызов процедуры печати для этой команды.

Почему в расширении на актуальной платформе не работают команды из метаданных документа разобраться не получилось. Похоже на баг платформы.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. Sashares 35 08.11.23 12:00 Сейчас в теме
(1)
Пропал пункт подменю "Печать" в расширении с момента выхода 23 платформы в апреле 2023

И как это выглядит в режиме предприятия?
8. JM_1C 08.11.23 12:46 Сейчас в теме
(3)
(6)
На платформе 8.3.21.1644 первый снимок, платформа 8.3.21.1775(выход в апреле) на втором. Не подгружается второй скрин но в целом там без пункта "Эни_спецификация"
Прикрепленные файлы:
10. Sashares 35 08.11.23 13:28 Сейчас в теме
(8) Через Еще - Изменить форму - ваша команда есть в подменю?
Если вынести команду из подменю Печать в другое место, будет отображаться?
В ПриСозданииНаСервере, в самом конец процедуры проверьте, есть ли ваша команда в подменю Печать.
Если есть, то у нее вероятно, выключена видимость. Тогда включайте видимость в ПриСозданииНаСервереПосле. Как костыльный вариант.

Другой вариант - реализовать печатную форму стандартным образом, согласно методике БСП:
В модуле менеджера документа в процедуре ДобавитьКомандыПечати - добавляете свою команду, по аналогии.
В модуле менеджера документа разместить процедуру печати вашей печатной формы.
В модуле менеджера документа в процедуре Печать вызывать вашу печатную форму по аналогии с остальными.
11. JM_1C 08.11.23 14:05 Сейчас в теме
(10) По первым двум вопросам - изменение места не меняет ситуацию и по кнопке "Изменить форму" нет в списке моей кнопки, даже если выношу в табличную часть "Товары" отдельной кнопкой.
Третий вопрос уточните пожалуйста процедура "ПриСозданииНаСервере" модуля формы документа?
12. Sashares 35 08.11.23 14:09 Сейчас в теме
(11)
Третий вопрос уточните пожалуйста процедура "ПриСозданииНаСервере" модуля формы документа?

Да.

Но причина скорее всего в другом.
У пользователя скорее всего просто нет прав на использования этой команды.

В расширении есть роли? Хотя бы одна?
Если роль есть, но она по сути не нужна, удалите ее.
Это должно решить проблему, если проблема в этом.
13. JM_1C 08.11.23 14:24 Сейчас в теме
У меня этой процедуры нет в расширении и не понятно как она влияет на печать формы? Какой-то блок новостей...
#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
	ПараметрыРазмещения.КоманднаяПанель = Элементы.ГруппаКоманднаяПанель;
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	// СтандартныеПодсистемы.ВерсионированиеОбъектов
	ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
	
	ОтправкаПочтовыхСообщений.ПриСозданииНаСервере(ЭтотОбъект);
	
	Если Не ЗначениеЗаполнено(Объект.ВидОперации) Тогда
		// Обработчик не завершил обновление документов
		Объект.ВидОперации = Перечисления.ВидыОперацийСчетаПокупателю.ТоварыИУслуги;
	КонецЕсли;
	
	ЭтоТоварыИУслуги = Объект.ВидОперации <> Перечисления.ВидыОперацийСчетаПокупателю.ОсновныеСредства;
	
	ГруппаСоздатьНаОсновании = Элементы.ГруппаГлобальныеКоманды.ПодчиненныеЭлементы.Найти("ФормаСоздатьНаОсновании");
	
	Документы.СчетНаОплатуПокупателю.УстановитьВидимостьСоздаваемыхНаОсновании(ГруппаСоздатьНаОсновании, ЭтоТоварыИУслуги);
	
	Если Параметры.Свойство("ПравилоПовторения") И ЗначениеЗаполнено(Параметры.ПравилоПовторения) Тогда
		ПравилоПовторения = Параметры.ПравилоПовторения;
		НадписьПовторение = НадписьПовторение(ПравилоПовторения, Параметры.Ключ.Пустая());
	Иначе
		ЗаполнитьПравилоПовторенияИНадпись();
	КонецЕсли;
	
	ПравоРедактированияСрокаОплаты = СрокиОплатыДокументов.ПравоРедактирования();
	
	Если Параметры.Ключ.Пустая() Тогда
		ПодготовитьФормуНаСервере();
	КонецЕсли;
	
	СсылкаДляПереходаНаКарту = УправлениеКонтактнойИнформациейБП.СтрокаСсылкиПоказатьНаКарте();

	// Активизировать первую непустую табличную часть
	СписокТабличныхЧастей = Новый СписокЗначений;
	СписокТабличныхЧастей.Добавить("Товары",         "Товары");
	СписокТабличныхЧастей.Добавить("ВозвратнаяТара", "ВозвратнаяТара");
	
	АктивизироватьТабличнуюЧасть = ОбщегоНазначенияБПВызовСервера.ПолучитьПервуюНепустуюВидимуюТабличнуюЧасть(
		ЭтотОбъект, СписокТабличныхЧастей);
	ОбщегоНазначенияБПВызовСервера.АктивизироватьЭлементФормы(ЭтотОбъект, АктивизироватьТабличнуюЧасть);
	
	УстановитьУсловноеОформление();
	
	// ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
	ПроверкаКонтрагентов.ПриСозданииНаСервереДокумент(ЭтотОбъект, Параметры);
	// Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
	
	УстановитьОтображениеЗакладок();
	
	Элементы.НовыйДоговор.Видимость = ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Справочники.ДоговорыКонтрагентов);
	Если Не ПравоРедактированияСрокаОплаты Тогда
		Элементы.СрокОплаты.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
		Элементы.СрокОплаты.ТолькоПросмотр       = Истина;
	КонецЕсли;
	Если НЕ ПравоДоступа("Просмотр", Метаданные.ОбщиеФормы.СрокиОплатыПокупателями) Тогда
		// В подсказке отображается ссылка на общую форму СрокиОплатыПокупателям.
		// Без этой ссылки подсказка теряет смысл, поэтому в случае, если пользователю
		// недоступна форма, то не показываем подсказку.
		Элементы.СрокОплаты.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
	КонецЕсли;
	
	// ИнтернетПоддержкаПользователей.Новости.КонтекстныеНовости_ПриСозданииНаСервере
	ИдентификаторыСобытийПриОткрытии = Новый Массив;
	ИдентификаторыСобытийПриОткрытии.Добавить("ПриОткрытии");
	Если УправлениеПечатьюБП.ИспользуетсяИзмененныйМакет(Объект.Ссылка) Тогда
		ИдентификаторыСобытийПриОткрытии.Добавить("ПриОткрытии_ИспользуетсяИзмененныйМакет");
	КонецЕсли;
	ОбработкаНовостейПереопределяемый.КонтекстныеНовости_ПриСозданииНаСервере(
		ЭтотОбъект,
		?(ЭтоТоварыИУслуги, "БП.Документ.СчетНаОплатуПокупателю", "БП.Документ.СчетНаОплатуПокупателюОС"),
		"ФормаДокумента",
		НСтр(?(ЭтоТоварыИУслуги, "ru='Новости: Счет покупателю'", "ru='Новости: Счет покупателю ОС'")),
		ИдентификаторыСобытийПриОткрытии);
	// Конец ИнтернетПоддержкаПользователей.Новости.КонтекстныеНовости_ПриСозданииНаСервере
	
	// Подсистема "ОбменСКонтрагентами".
	ОбменСКонтрагентамиБП.КомандыЭДО_ФормаДокумента(ЭтотОбъект);
	// Конец подсистема "ОбменСКонтрагентами".
	
	УправлениеПанельюПодсказки.ПриСозданииНаСервере(ЭтотОбъект);
	
	// ИнтеграцияС1СДокументооборотом
	Если ОбщегоНазначения.ПодсистемаСуществует("ИнтеграцияС1СДокументооборотом") Тогда
		МодульИнтеграцияС1СДокументооборотБазоваяФункциональность = ОбщегоНазначения.ОбщийМодуль(
			"ИнтеграцияС1СДокументооборотБазоваяФункциональность");
		МодульИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
	КонецЕсли;
	// Конец ИнтеграцияС1СДокументооборотом
	
КонецПроцедуры
Показать
14. Sashares 35 08.11.23 14:48 Сейчас в теме
(13)Проверьте наличие роли в расширении.
У пользователя скорее всего просто нет прав на использования этой команды.

В расширении есть роли? Хотя бы одна?
Если роль есть, но она по сути не нужна, удалите ее.
Это должно решить проблему, если проблема в этом.
15. JM_1C 08.11.23 15:56 Сейчас в теме
(14)Отмена роли в расширении не дала результат, полностью удалить роль не получилось пишет что есть ссылки. Но произошли странности после того как я отключил в Еще-Изменить форму - командная панель - кнопки командной панели - важные команды - печать - счет на оплату (отключил снял галку и у документа пропала табличная часть (Х_Х) А не все норм просто снята была галка "Страницы"
16. Sashares 35 08.11.23 16:12 Сейчас в теме
(15)
полностью удалить роль не получилось пишет что есть ссылки.

Следует очистить свойство Основные роли расширения.
После этого можно будет удалить роль.
Прикрепленные файлы:
17. JM_1C 08.11.23 16:19 Сейчас в теме
(16)Отменил удалил не помогло(((
18. Sashares 35 08.11.23 16:25 Сейчас в теме
(17)Под пользователем с полными правами тоже не видна команда?
19. JM_1C 08.11.23 16:32 Сейчас в теме
(18)Под любым и под полными правами тоже самое
20. Sashares 35 08.11.23 16:34 Сейчас в теме
(19)Тогда без базы у меня больше идей нет.
Если есть желание/возможность, загрузи cf на файлообменник и кинь ссылку в личку, могу посмотреть.
25. JM_1C 09.11.23 08:25 Сейчас в теме
(20) Спасибо, вам за участие. Чето с личкой как-то не очевидно, пытался найти пункт отправить сообщение не нашел, нужно добавить в друзья, чтобы отправить сообщение?
27. Sashares 35 09.11.23 09:27 Сейчас в теме
(25)Тык на логин - Написать.
Прикрепленные файлы:
21. Torin57 33 08.11.23 16:59 Сейчас в теме
(1)
(новичок в 1С просьба сильно не пинать)

Вот поэтому он и вялый. У старослужащих форума такая же проблема. А вдруг фигню какую-то фигню сморозит. Значит потеряет авторитет. Боятся выглядеть глупо. Поэтому вялый.
22. Torin57 33 08.11.23 17:19 Сейчас в теме
(1) То есть если конфигурацию запустить на 22 платформе, то команда будет видна?
24. JM_1C 09.11.23 08:08 Сейчас в теме
(22) Если бы) нет получается начиная с момента выпуска 23-ей все без исключения версии не воспроизводят мой пункт меню "Печать"
2. JM_1C 08.11.23 11:00 Сейчас в теме
Даа вяловатый здесь паблик
3. RustamZz 08.11.23 11:23 Сейчас в теме
(2) Тогда сделайте свой, упругий.
Если посетители форума не сталкивались с подобной ситуацией никто не будет за вас моделировать ее по вытертому снимку экрана. Выкладывайте расширение тогда возможно найдутся желающие за спасибо решить вашу проблему.
4. JM_1C 08.11.23 11:40 Сейчас в теме
(3) У какой грозный кавказский юноша!) Зато хоть один отклик, хотя бы такой, спасибо за реакшн! Алчность не красит людей. Я не прошу решать мою задачу(иначе я бы выставил награду, логично?), я прошу натолкнуть на мысль куда копать! Именно вас не заставляю реагировать впредь на мои "упругие" просьбы). Просьба была к экспертам, скучающим и дилетантам мимо
5. RustamZz 08.11.23 11:48 Сейчас в теме
(4) Я татарин. Не из Грозного. Решать за вас я и не собирался, а рассказал возможную причину молчания коллег. Пользуйся, не благодари.
23. Torin57 33 08.11.23 22:21 Сейчас в теме
(3) Если вам нужно задать вопрос на инфостарте, то как решаете проблему? Под анонимной учеткой заходите?
У меня впечатление что если у тебя много звезд, то задавать вопросы уже нельзя.
Фиксин задавал какой-то вопрос. Пришел Карамазов и очень удивился что Фиксин этого не знает. Ну раз над человеком удивляются, то понятно что он чего-то не то делает или говорит. Ну, думаю, Сергей может и под собой зайти, все-таки парень закален в боях еще со времен Мисты. А вы-то как?
26. RustamZz 09.11.23 08:30 Сейчас в теме
(23) Я за 13 лет на форуме ни одной темы еще не создал. И публикации тоже не размещал, поэтому и звезд нет. Если у меня проблемы, то или решаю сам, или пишу на v8, или на партнерский.
28. Torin57 33 09.11.23 12:28 Сейчас в теме
(26) А почему? Маловероятно что тут кто-то ответит? Или на партнерском форуме информация более достоверная? Пытаюсь понять что тут можно, а чего нельзя. Если на партнерском инфа достоверная, а здесь нет, то можно расслабиться. Сморозил фигню - ну мы же не на партнерском, так что по фиг.
29. RustamZz 09.11.23 14:27 Сейчас в теме
(28) Партнерский, я имел ввиду и семинар тоже, где можно пообщаться с разработчиками решения. И на форуме представители 1С отвечают. И там ты общаешься от своего имени и компании, а не как анонимный усёр длиннономерной.
30. JM_1C 09.11.23 14:39 Сейчас в теме
(29)Забавно тогда ваша миссия просто ходить по форумам и делать, то что вы сейчас описали в предыдущем посте! Полагаясь только на себя и на техподдержку вам далеко не продвинуться в профессиональном плане, как программисту(наверняка лезете в гугл за решением проблемы, но почему то упорно твердите, что вы делаете все сами и сами доходите). Главное для нашего брата обмен опытом и коммуникация. Иначе никак. Ладно хорош, иначе дядя модератор нас начнет банить за флуд не по теме!
Всем кисам пис всем писам кис! Да здравствует пис!
31. RustamZz 09.11.23 14:42 Сейчас в теме
(30) Конечно если есть вопрос то я его сначала загуглю, но на партнерском форуме и в нужном разделе.
32. JM_1C 09.11.23 14:45 Сейчас в теме
(31)блин классно у вас есть пратнерка, да вы везунчик!
33. RustamZz 09.11.23 14:51 Сейчас в теме
(32) Открой свою, с маджонгом и гейшами и не завидуй.
39. Torin57 33 10.11.23 11:11 Сейчас в теме
(26)
поэтому и звезд нет.

Какие-то есть. Интересно, по какому принципу они присваиваются?
https://disk.yandex.ru/i/DmXMyCmJg_4qWw
40. Sashares 35 10.11.23 11:28 Сейчас в теме
(39)Если в теме вашему сообщению ставят "Это решение", то этот счетчик увеличивается на 1.
7. aka Любитель XML 08.11.23 12:19 Сейчас в теме
Обновилась сама форма документа, но это вряд ли повлияло на видимость пункта печатной формы - возможно здесь после обновления срабатывает какая-либо процедура, которая удаляет все не нужные элементы командной панели, оставляя только часть по массиву имен (предположение)?
9. JM_1C 08.11.23 12:59 Сейчас в теме
(7)Именно, что-то видимо поменялось в самой схеме (возможно библиотеки(БСП) инициации процедур для создания печатных форм в механизме расширения, либо сама схема создания с глобальными командами изменилась). Но это просто фантазии. Но первопричина кроется именно в платформе.
34. lefthander 09.11.23 14:54 Сейчас в теме
(9)Странно, но вот у меня ни один пункт меню печать не исчез... К чему бы это? Может я не совсем правильно, или даже совсем не правильно установил 23 платформу?
35. JM_1C 09.11.23 15:29 Сейчас в теме
(34)да бывает такое устанавливаешь такой платформу а она собака правильно установилась на диск Цэ и тогда начинаются реальные проблемы и такой думаешь, а может ее неправильно установить или не установить вообще... Зачем она нужна вообще! Еще один юморист зашел.
38. Sashares 35 09.11.23 17:25 Сейчас в теме
(34)У меня воспроизвелось. На 8.3.22.1704 команда есть, на 8.3.22.2283 команда пропала.
41. JM_1C 10.11.23 12:41 Сейчас в теме
(38)Благодарю Sashares за помощь!
Решение такое(насколько я смог разобраться пусть меня поправит автор)
Все завязано не через команду метаданных документа, а через стандартные процедуры печати:
#Область ПрограммныйИнтерфейс

// Формирует и выводит на экран печатные формы.
// 
// Параметры:
//  ИмяМенеджераПечати - Строка - менеджер печати для печатаемых объектов;
//  ИменаМакетов       - Строка - идентификаторы печатных форм;
//  МассивОбъектов     - ЛюбаяСсылка
//                     - Массив из ЛюбаяСсылка - объекты печати;
//  ВладелецФормы      - ФормаКлиентскогоПриложения - форма, из которой выполняется печать;
//  ПараметрыПечати    - Структура - произвольные параметры для передачи в менеджер печати.
//
// Пример:
//   УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Обработка.ПечатнаяФорма", "СписаниеТоваров", ДокументыНаПечать, ЭтотОбъект);
//
Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт
	
	...
	
КонецПроцедуры

&После("ДобавитьКомандыПечати")
Процедура расш_ДобавитьКомандыПечати(КомандыПечати)...

&Вместо("Печать")
Процедура расш_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) ...

Процедура ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент,
	Картинка = Неопределено, ПолныйПутьКМакету = "", ИмяФайлаПечатнойФормы = Неопределено) Экспорт ...

// Сформировать печатные формы.
Функция СформироватьПечатныеФормы(Знач ИмяМенеджераПечати, Знач ИменаМакетов, Знач МассивОбъектов, Знач ПараметрыПечати, 
	ДопустимыеТипыОбъектовПечати = Неопределено, Знач КодЯзыка = Неопределено) Экспорт ...


Показать

задействуется общий модуль "Управление печатью"
, весь код реализуется в модуле менеджера документа
Это если очень в общем.
42. Sashares 35 10.11.23 14:13 Сейчас в теме
(41)Вместо использования в расширении команды из метаданных документа, печать реализована с помощью стандартного функционала БСП.
А именно:
- в процедуру ДобавитьКомандыПечати модуля менеджера документа добавлена команда;
- в процедуре Печать модуля менеджера документа добавлен вызов процедуры печати для этой команды.

Почему в расширении на актуальной платформе не работают команды из метаданных документа разобраться не получилось. Похоже на баг платформы.
36. Torin57 33 09.11.23 16:29 Сейчас в теме
Я вот думаю. Если в подменю печать нет команд, то подменю пропадает. А может такое быть что в основной конфигурации нет команд печати, подменю печать пропадает, хотя в расширении есть команда печати "Спецификация"?
37. Torin57 33 09.11.23 16:30 Сейчас в теме
Прошу прощения, невнимательно смотрел на картинки.
Оставьте свое сообщение

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