Как отремонтировать БСП в переписанной конфигурации?

1. jan-pechka 426 06.04.22 09:00 Сейчас в теме
БП 3.0.70.50 переписанная. Цель: чтобы в самописном документе появлялась кнопка "Печать" с нужным макетом- работает это обычно с помощью механизмов БСП.
Устроит так же и печать внешнего отчета из этого документа.

но пока НЕ получается никак распечатать этот документ.....эх, БСП...

Что делала:
1.Стандартная обработка БСП "ОбновлениеВспомогательныхДанных.epf" - прерывается с ошибками и не записывает в справочник "ОбъектыМетаданных" самописный документ.
2.Обработка вот отсюда https://infostart.ru/public/295372/ не помогла ни под каким соусом...
3.Перезапуск с параметрами "/C ЗапуститьОбновлениеИнформационнойБазы" записал в справочник "ОбъектыМетаданных" самописный документ,

но это не помогло завести в этом документе БСП-шную печать...

4.да, в ОпределяемыхТипах "ОбъектСДополнительнымиКомандами" регистрировала данный документ,
5.да в модуле формы и списка стоят запускающие процедуры:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды	
Показать


6.да, в модулеМенеджера документа типовое обращение к БСП-шной Печати есть:
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	//Инвентаризационная опись ОС (ИНВ-3)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ИНВ3";
	КомандаПечати.Представление = НСтр("ru = 'Инвентаризационная опись ОС (ИНВ-3)'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";        
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокументаЗ";	
КонецПроцедуры

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

Функция ПечатьИнв3(МассивОбъектов, ОбъектыПечати, ВалютаРегламентированногоУчета)
///расчет табличного макета
КонецФункции

Показать

.......................но на выходе: НЕТУ кнопки печати!!! БСП не отрабатывает...Внешней печатной формой из самого документа - так же не получается сделать: в справочнике "ДополнительныеОтчетыИОбработки" - при нажатии на гиперссылку "Размещение объекта" - НЕТУ этого самописного документа....

7.Да, претащила данный документ в подраздел и "Склад"-на этот подраздел есть общие команда ДополнительныеОтчетыСклад, а так же поставила галку на подсистему "БухгалтерияПредприятияПодсистема"-в этой самой подсистеме просто есть типовой док."ПеремещениеОС"(он так же есть и в подсистеме "Склад") - на который очень легко и просто вешаются любые внешние печатные формы из документа, а так же восхитительно работает БСП-шная Печать!....но ничего не дало....

8.не знаю что делать дальше...пока сейчас конфа под админ.пользователем БЕЗ пароля- стоит на формировании отчета из БСП "ПроверкаВнедренияБСП.erf"...крутится долго...два раза выбивало: сначала из-за длинного имени в названии пути к данным базы и самих объектов базы (должно быть менее 80 символов), второй раз - выбило из-за непонятной критической ошибки в отчете...ждем третью попытку....

п.с.может кто-чего может подсказать?
Вознаграждение за ответ
Показать полностью
Найденные решения
3. maks_20 169 06.04.22 09:21 Сейчас в теме +0.5 $m
В общем модуле УправлениеПечатьюПереопределяемый в процедуре ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) добавили свой документ в список?
jan-pechka; +1 Ответить
14. triviumfan 97 06.04.22 12:19 Сейчас в теме +0.5 $m
(13) у меня под рукой только 3.0.90, там БСП 3.1
Все работает. Элементы формы не менял, они создаются автоматически.
Прикрепленные файлы:
jan-pechka; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kolesonik 15 06.04.22 09:11 Сейчас в теме
4. jan-pechka 426 06.04.22 09:26 Сейчас в теме
(2)
Сделайте все по порядку

Спасибо.Хорошая памятка для исправного БСП...в моем описании проблемы есть практически все эти шаги...+регистрация самописного документа в ОпределяемыхТипах...а результат=0
3. maks_20 169 06.04.22 09:21 Сейчас в теме +0.5 $m
В общем модуле УправлениеПечатьюПереопределяемый в процедуре ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) добавили свой документ в список?
jan-pechka; +1 Ответить
5. jan-pechka 426 06.04.22 09:29 Сейчас в теме
(3)
добавили свой документ в список?


пробывала - не на что это не влияет.

п.с. заранее скажу, что БСП реальная, соответствующая версии БП. => БСП 3_0_1_428_для бух_версии_3-0-70-50
6. laperuz 47 06.04.22 09:40 Сейчас в теме
Выложите cf, если там ничего секретного, посмотрим.
7. jan-pechka 426 06.04.22 10:14 Сейчас в теме
(6)
секретного


не могу.....
8. ImHunter 327 06.04.22 10:19 Сейчас в теме
(1) А с Подключаемыми командами интегрировали?
Далее, в формах объектов, подключенных на предыдущем шаге, в которых требуется выводить подменю с командами печати, нужно:
Встроить подсистему Подключаемые команды.
Опционально. Для целей оптимизации производительности при открытии формы рекомендуется добавить в командную панель подменю для вывода команд печати по шаблону:
Имя: ПодменюПечать.
Заголовок: Печать.
Вид: Подменю.
Отображение: Картинка.
Картинка: Печать (стандартная картинка). Если предполагается, что в этом подменю может быть выведено большое количество команд (более 10), то рекомендуется добавить вложенные группы кнопок с суффиксами Важное, Обычное и СмТакже. Например: ПодменюПечатьВажное, ПодменюПечатьОбычное и ПодменюПечатьСмТакже. Суффиксы этих групп указываются в свойстве Важность тех команд, которые должны выводиться в этих группах (подробнее про это свойство см. далее в таблице Параметры команд печати).
jan-pechka; +1 Ответить
9. jan-pechka 426 06.04.22 10:31 Сейчас в теме
(8)
Подключаемыми командами интегрировали

да. и в ОпределяемыеТипы "ОбъектСДополнительнымиКомандами" - прописала документ,
и на форме есть реквизит "ПараметрыПодключаемыхКоманд" с типом Произвольный.....

вывод один: мало любыми путями зарегистрировать свой документ в справочник "ОбъектыМетаданных" и вписать этот док. в "ОбъектСДополнительнымиКомандами" - нужно все-таки запустить бсп-шную обработку "ОбновлениеВспомогательныхДанных", а она выбивает с миллионом ошибок....

на данный момент уже в пятый раз запускаю бсп-шный отчет "ПроверкаВнедренияБСП"...вышибает, без объяснения ошибки...
сейчас буду шинковать по одной подсистеме тестировать, т.к. все разом не получается....
Прикрепленные файлы:
10. ImHunter 327 06.04.22 11:03 Сейчас в теме
(9) И обработчики для Подключаемых команд все прописаны? Вот это:
Для подключения форм объектов программы, в которых требуется выводить подменю Печать, Отчеты или Заполнить, необходимо:

В процедуре ПриСозданииНаСервере (обработчик события формы) вставить вызов по шаблону:

// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
В модуле формы вставить процедуры (обработчики команд):

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, <ОбъектИлиТаблицаФормы>);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, <ОбъектИлиТаблицаФормы>);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, <ОбъектИлиТаблицаФормы>);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
Показать
jan-pechka; +1 Ответить
11. jan-pechka 426 06.04.22 11:14 Сейчас в теме
(10)
И обработчики для Подключаемых команд

да, в описании у меня есть.

после пятой попытки загнать бсп-шный отчет на проверку хотя бы 1-й подсистемы "ДополнительныеОтчетыИОбработки" - вылетает "длительные процедуры".

.....пришла мысль: а чего я мучаюсь в клиент-серверном варианте? Сейчас попробую в файловом запустить тот же отчет по одной подсистеме.
12. triviumfan 97 06.04.22 11:31 Сейчас в теме
Скинь хотя бы конфу поставщика, ибо такого старья давно нет, а на итс только обновы)
jan-pechka; +1 Ответить
13. jan-pechka 426 06.04.22 12:07 Сейчас в теме
(12)
конфу поставщика

ок. в архив добавлю ИнструментыРазработчика с БСП от этой версии конфы

п.с. кстати, хорошая идея! я тоже отдельно заряжу поставщика и cf-кой нацеплю на него ТОЛЬКО один единственный этот док - и проверю. Идея супер, спасибо. Да, тогда можно будет как раз выгрузить сюда cf-ку поставщика с этим одним доком! сейчас сделаю.
14. triviumfan 97 06.04.22 12:19 Сейчас в теме +0.5 $m
(13) у меня под рукой только 3.0.90, там БСП 3.1
Все работает. Элементы формы не менял, они создаются автоматически.
Прикрепленные файлы:
jan-pechka; +1 Ответить
15. jan-pechka 426 06.04.22 12:34 Сейчас в теме
(14)
3.0.90, там БСП 3.1

стандартная бсп-шная обработка "ОбновитьВспомогательные" - заходит легко? своих ролей нету?

п.с. сейчас, объединяется-это не быстро...
16. triviumfan 97 06.04.22 12:41 Сейчас в теме
(15) Она мне не нужна, там особенности обработок под свою версию БСП.
Я лишь добавил документ и команды печати.
Мне достаточно ключа запуска "/ЗапуститьОбновлениеИнформационнойБазы"
17. jan-pechka 426 06.04.22 13:01 Сейчас в теме
(16)
Достаточно ключа "/ЗапуститьОбновлениеИнформационнойБазы"


он регит в справочнике "ОбъектыМетаданных".

но зарегиный в этом спр. документ и зарегиный в в ОпределяемыхТипах "ОбъектСДополнительнымиКомандами" - должен появится в спр."ДополнительныеОбработкиИОтчеты"->НазначениеОбъекта для Печатной внешней формы....а мой там не появляется, потому что обработка эта не проходит...
18. triviumfan 97 06.04.22 14:02 Сейчас в теме
(17) так тебе внешняя пф нужна или обычная? определись уже)
jan-pechka; +1 Ответить
19. jan-pechka 426 06.04.22 14:43 Сейчас в теме
(18)
так тебе внешняя пф нужна или обычная? определись уже)


мне нужна Печать, любая.

Обычная - тоже через бсп создается, внешняя - через обр-ку, к-я тоже с помощью бсп работает. У меня ни тот ни др.вариант не запускается..............

п.с. сделала архив с поставщиком и одним доком (почистила его на скорую руку)+БСП к этой версии
док.ИнвентаризацияЗабаланс в м.Склад, оставила основные подключаемые команды.Еще не запускала в этой чистой на ОбновлениеИнфоБазы, и в Определяемых типах тоже здесь еще не регила.

на файлообменнике:
https://wdho.ru/a21b3a
20. jan-pechka 426 06.04.22 16:45 Сейчас в теме
хи-хи, Семен Семеныч я)))))))))))))))))))))))))))))))

Короче, в форме документа от старых БСП тянется, что "УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);" - устарела и нужно использовать новую "ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);", так вот и я сама себе решила, что в Общ.Модуле "УправлениеПечатьюПредопределенный" проц.ПриОпределенииОбъектовСКомандамиЗаполнения - не нужно вписывать свой док, а стоит ГЛОБАЛЬНЫМ поиском поискать по всей конфе где еще есть проц.ПриОпределенииОбъектовСКомандамиЗаполнения - и я нашла))) -
в ОбщемМодуле "ЗаполнениеОбъектовПредопределенный" и вот туда прописала свой документ:

// Определяет список объектов конфигурации, в модулях менеджеров которых предусмотрена процедура 
// ДобавитьКомандыЗаполнения, формирующая команды заполнения объектов.
// Синтаксис процедуры ДобавитьКомандыЗаполнения см. в документации.
//
// Параметры:
//   Объекты - Массив - объекты метаданных (ОбъектМетаданных) с командами заполнения.
//
// Пример:
//	Объекты.Добавить(Метаданные.Справочники.Организации);
//   
Процедура ПриОпределенииОбъектовСКомандамиЗаполнения(Объекты) Экспорт
	
	Объекты.Добавить(Метаданные.Документы.ПередачаЗадолженностиНаФакторинг);
	Объекты.Добавить(Документы.МСЧ_ИнвентаризацияЗабСчета);
	
КонецПроцедуры
Показать


и ничего поэтому у меня не получалось)))))))))))))))))))))))))))))))))))))
Вот эта запись, к-я сбила меня с толку))

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


на самом деле -1с как-то странно меняют свой состав БСП и "дописки к ним": тут работаем по новому/тут по старому, тут жирное пятно.......
могли бы уже в папки с БСП класть инструкцию по "допискам" к своим системам..................эх!!!

Главное - заработало!!! т.к. я зарегила свой док в спр. "ОбъектыМетаданных" (в чистой конфе - спокойно заходит бсп-шная обработка "ОбновлениеВспомогательныхДанных.epf", в "поношенной конфе)"-лучше запускаться через Параметры), включила в ОпределяемыеТипы-"ОбъектСДополнительнымиКомандами",вписала и в модуль формы/списка ПодключаемыеКоманды, и в модулеМенеджера Печать описана. и самое главное - дописала свой документ именно в общМодуль УправлениеПечатьюПредопределенный" проц.ПриОпределенииОбъектовСКомандамиЗаполнения - и все сразу заработало!!! и ПечатныеФормы в документе и и внешние печатные формы из документа!!!

п.с. Спасибо огромное за идеи triviumfan и maks_20 !!!!!
Прикрепленные файлы:
Оставьте свое сообщение

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