Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:09

Внешний отчёт СКД

Автор Nosferatu112, 13 фев 2023, 14:00

0 Пользователей и 1 гость просматривают эту тему.

Nosferatu112

Благодарен за ответы я решил чуть по другому, может ни так лаконично но моего наставника устраивает, у меня другой вопрос.

Это код моего решения

ВЫБРАТЬ
Товары.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВТ_Номенклатура
ИЗ
Документ.ЗаказКлиента.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Товары.Номенклатура
ИЗ
Документ.ЗаказПоставщику.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Товары.Номенклатура
ИЗ
Документ.ЗаказНаПеремещение.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Товары.Номенклатура
ИЗ
Документ.ПеремещениеТоваров.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Товары.Номенклатура
ИЗ
Документ.ПриобретениеТоваровУслуг.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Товары.Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК Товары
ГДЕ
Товары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличии,
СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток + СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК Резерв,
СвободныеОстаткиОстатки.ВНаличииОстаток - (СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток + СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток) КАК Доступно,
СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
СвободныеОстаткиОстатки.Характеристика КАК Характеристика,
СвободныеОстаткиОстатки.Склад КАК Склад
ИЗ
РегистрНакопления.СвободныеОстатки.Остатки(
,
Номенклатура В
(ВЫБРАТЬ
Т.Номенклатура КАК Номенклатура
ИЗ
ВТ_Номенклатура КАК Т)) КАК СвободныеОстаткиОстатки

А вот вопрос,

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.1.7.178");
ПараметрыРегистрации.Информация = НСтр("ru = 'Отчет по остаткам'");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = "1.0.0.8";
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказКлиента");
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПоставщику");
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказНаПеремещение");
ПараметрыРегистрации.Назначение.Добавить("Документ.ПеремещениеТоваров");
ПараметрыРегистрации.Назначение.Добавить("Документ.ПриобретениеТоваровУслуг");
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");

Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Отчет по остаткам'");
Команда.Идентификатор = "ОсновнаяСхемаКомпоновкиДанных";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.ПоказыватьОповещение = Истина;
Команда.Модификатор = "ВнешнийОтчет";

Возврат ПараметрыРегистрации;

КонецФункции

Этот код подключает внешку и в печатной форме он создавал кнопку для печати посредством строки параметрыРегистрации.Назначение, для отчета это не сработало как сделать эту злосчастную кнопку или может я что ни правильно прописал?

Nosferatu112

На всех сайтах написано  сделать ровно то что я сделал в коде, но кнопка от этого не появляеться :dfbsdfbsdf:

Afinogen

добавьте во всех пакетах
"выбрать различные" а то у вас будет полным полно дублей номенклатуры

Nosferatu112

Afinogen, Отчёт с таким запросом выводиться нормально без дублей

Проблема только в том что кнопка отчета не выводиться в документах хотя судя по всем статьям которые я прочитал этот код должен выводить эту чёртову кнопку

P.S. Как закидывать сюда скрины почему они всегда не отображаются

Nosferatu112

Ладно кто может ответить на более простой вопрос в УТ11 в списке документов и в самом документе есть кнопка отчеты в этой кнопке выпадающий список в котором должна быть кнопка дополнительные отчёты, почему её там нет

LexaK

Nosferatu112, зависит так-же от версии базы и версии используемой БСП,
и от настроек самого внешнего отчета.

самое простое, найти у себя в базе уже работающий пример внешнего отчета для документа,
и по его примеру (очень внимательно) настроить свой
если помогло нажмите: Спасибо!

Jubilee

Функция СведенияОВнешнейОбработке() Экспорт

ИмяОтчета = ЭтотОбъект.Метаданные().Имя;
Синоним = ЭтотОбъект.Метаданные().Синоним;
Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
ПараметрыРегистрации.Версия = "1.0.0.1";
ПараметрыРегистрации.Наименование = Синоним;
ПараметрыРегистрации.БезопасныйРежим = Ложь;
ПараметрыРегистрации.Информация = "Контекстный отчет";
ПараметрыРегистрации.ОпределитьНастройкиФормы = Истина;

ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказКлиента");
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПоставщику"); 
ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказНаПеремещение");
ПараметрыРегистрации.Назначение.Добавить("Документ.ПеремещениеТоваров");
ПараметрыРегистрации.Назначение.Добавить("Документ.ПриобретениеТоваровУслуг");
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");



Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = Синоним;
Команда.Идентификатор = ИмяОтчета;
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Ложь;

Возврат ПараметрыРегистрации;

КонецФункции


Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт

Настройки.ФормироватьСразу = Истина;
Настройки.РазрешеноИзменятьВарианты = Ложь;
Настройки.События.ПриСозданииНаСервере = Истина;

КонецПроцедуры
Nosferatu112, Если еще требуется, должно работать) Если вы сделали это задание, то можете скинуть ?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск