БСП Как вставить в новый документ отчет по движениям документа?
На текущий момент сделал так (рабочий вариант):
Пробовал добавлять кнопку с вызовом команды "Отчет.ДвиженияДокумента.Команда.ДвиженияДокумента", в качестве параметра указал объект, в таком случае ничего не отображается.
Также пробовал подключить отчет через БСП, сначала вставил код для подсистемы "Подключаемые команды".
Затем вставил:
При запуске получил сообщение об ошибке: отсутствует экспортная процедура ДобавитьКомандуОтчетОДвиженияхДокумента.
Манипуляции проводил на Конфигурации УТ 11.4.1.261.
ОткрытьФорму("Отчет.ДвиженияДокумента.Форма",
Новый Структура("Документ", Объект.Ссылка),
ЭтаФорма,
УникальныйИдентификатор,
ЭтаФорма.Окно);
Пробовал добавлять кнопку с вызовом команды "Отчет.ДвиженияДокумента.Команда.ДвиженияДокумента", в качестве параметра указал объект, в таком случае ничего не отображается.
Также пробовал подключить отчет через БСП, сначала вставил код для подсистемы "Подключаемые команды".
Затем вставил:
Процедура ПередДобавлениемКомандОтчетов(КомандыОтчетов, Параметры, СтандартнаяОбработка) Экспорт
ДокументыСОтчетомОДвижениях = Новый Массив;
ДокументыСОтчетомОДвижениях.Добавить(Метаданные.Документы._ДемоНачислениеЗарплаты);
ДокументыСОтчетомОДвижениях.Добавить(Метаданные.Документы._ДемоПоступлениеТоваров);
ДокументыСОтчетомОДвижениях.Добавить(Метаданные.Документы._ДемоРеализацияТоваров);
Отчеты.ДвиженияДокумента.ДобавитьКомандуОтчетОДвиженияхДокумента(КомандыОтчетов, Параметры, ДокументыСОтчетомОДвижениях);
КонецПроцедуры
При запуске получил сообщение об ошибке: отсутствует экспортная процедура ДобавитьКомандуОтчетОДвиженияхДокумента.
Манипуляции проводил на Конфигурации УТ 11.4.1.261.
По теме из базы знаний
- Создание внешней печатной формы под УП с возможностью передачи параметров (для конфигураций на БСП)
- Пример создания документа с движениями в ERP 2.5.7
- Подключение нового справочника к подсистемам БСП (дополнительные реквизиты, файлы, запрет редактирования)
- Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия
- Быстрый фронт в базе размером 8.8 терабайт – наши стандарты при разработке компонентов системы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В ЗУП делал так:
В ПриСозданииНаСервере добавил
В модуль формы добавил процедуры
!!!Самое главное (убил полдня, пока врубился)
В регистре сведений ПараметрыРаботыПрограммы надо прибить строку с именем параметра СтандартныеПодсистемы.ПодключаемыеКоманды
В ПриСозданииНаСервере добавил
// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
В модуль формы добавил процедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
Показать!!!Самое главное (убил полдня, пока врубился)
В регистре сведений ПараметрыРаботыПрограммы надо прибить строку с именем параметра СтандартныеПодсистемы.ПодключаемыеКоманды
(2)
Дай бог тебе здоровье!
От себя добавлю что в ЗУПЕ достаточно выполнить ПодключаемыеКоманды.ОперативноеОбновлениеОбщихДанныхКонфигурации();
Для своих документов в модуле формы "ПриСозданииНаСервере" в самое начало вставляю вот такой код:
В регистре сведений ПараметрыРаботыПрограммы надо прибить строку с именем параметра СтандартныеПодсистемы.ПодключаемыеКоманды
Дай бог тебе здоровье!
От себя добавлю что в ЗУПЕ достаточно выполнить ПодключаемыеКоманды.ОперативноеОбновлениеОбщихДанныхКонфигурации();
Для своих документов в модуле формы "ПриСозданииНаСервере" в самое начало вставляю вот такой код:
ПараметрыПодключенияКСтандартнымПодсистемам = СтандартныеПодсистемыСервер.ПараметрРаботыПрограммы("СтандартныеПодсистемы.ПодключаемыеКоманды");
СинонимОбъектаМетаданных = Объект.Ссылка.Метаданные().Синоним;
ТребуетсяОперативноеОбновление = Истина;
Для Каждого ПодключенныйОбъект из ПараметрыПодключенияКСтандартнымПодсистемам.ПодключенныеОбъекты Цикл
Если ПодключенныйОбъект.Ключ.Синоним = СинонимОбъектаМетаданных Тогда
ТребуетсяОперативноеОбновление = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ТребуетсяОперативноеОбновление = Истина Тогда
ПодключаемыеКоманды.ОперативноеОбновлениеОбщихДанныхКонфигурации();
КонецЕсли;
Показать
(3) Что-бы не втыкать ПодключаемыеКоманды.ОперативноеОбновлениеОбщихДанныхКонфигурации();
В установленном шаблоне конфигурации БСП есть папка с вспомогательными обработками. нужно воспользоваться обработкой "ОбновлениеВспомогательныхДанных" обновить варианты отчетов.
В установленном шаблоне конфигурации БСП есть папка с вспомогательными обработками. нужно воспользоваться обработкой "ОбновлениеВспомогательныхДанных" обновить варианты отчетов.
Можно в код не лезть и поступить проще. Спасибо Курсам по 1С РФ. Вот здесь https://xn----1-bedvffifm4g.xn--p1ai/%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE% D0%B5/2020-03-03-how-to-display-links-to-document-movements/
Функционал БСП. На форме
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
Показать
Я сделал так: открыл демо конфигурацию БСП и в ней в формах документа и списка документов увидел одинаковый механизм подключения:
и все тут же заработало
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#Область СлужебныеПроцедурыИФункции
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
Показатьи все тут же заработало
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот