|
Результат отчета по ссылке | ☑ | ||
---|---|---|---|---|
0
first_may
17.02.24
✎
20:35
|
Добрый вечер.
У меня есть ссылка на отчет.. Подскажите пож, как зная ее, получить результат отчета? Делаю вот так // получение данных и запись ВариантОтчета = ПолучитьСсылкуИзНавигационной("e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958"); // получаем вариант отчета Отчет = Отчеты[ВариантОтчета.Отчет.Имя].Создать(); //Получаем схему из макета СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем настройки по умолчанию //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; Настройки = ВариантОтчета.Настройки.Получить(); //Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаЗначений = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); получаю ошибку по причине: Ошибка компоновки макета по причине: Поле не найдено "Номенклатура.МойРеквизит" понимаю, что выполняется схема по умолчанию, а должна та, которая по ссылке.. Подскажите пож, как из ссылки получить схему? |
|||
1
Волшебник
17.02.24
✎
20:45
|
что за МойРеквизит? Назовите нормально
|
|||
2
first_may
17.02.24
✎
20:50
|
(1) в справочнике Номенклатуры добавлен реквизит - МойРеквизит
|
|||
3
Волшебник
17.02.24
✎
20:51
|
(2) Вот я и говорю: назовите его нормально. Не морочьте людям голову
|
|||
4
first_may
17.02.24
✎
20:53
|
(3) хорошо.. переименовал.. все остальное осталось как и раньше, но ошибка вот такая
по причине: Ошибка компоновки макета по причине: Поле не найдено "Номенклатура.п_МДЛП" |
|||
5
first_may
17.02.24
✎
20:57
|
(3) не думаю, что проблема в том, как он называется..
еще раз.. есть ссылка отчета e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958 если ее вызвать в предприятии, то откроется отчет и в нем можно нажать кнопку Сформировать, будет результат.. вопрос как этот результат выгрузить в Таблицу значений, имяя только ссылку.. Настройки = ВариантОтчета.Настройки.Получить(); - тут настройки берутся из того, что есть в ссылке СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); - а вот тут схема по умолчанию, но она же изменена.. из за этого ошибка я думаю.. |
|||
6
Волшебник
17.02.24
✎
21:07
|
(4) Что такое п_МДЛП?
|
|||
7
first_may
17.02.24
✎
21:13
|
(6) новый реквизит в справочнике номенклатуры..
|
|||
8
first_may
17.02.24
✎
21:13
|
есть ссылка отчета
e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958 если ее вызвать в предприятии, то откроется отчет и в нем можно нажать кнопку Сформировать, будет результат.. |
|||
9
first_may
17.02.24
✎
21:14
|
(6) в режиме предприятия ошибок нет..
|
|||
10
Волшебник
17.02.24
✎
21:16
|
(7) Если реквизит переименовали (кстати, что означают эти буквы?), то текст ошибки должен был поменяться. Или там опять МойРеквизит?
|
|||
11
first_may
17.02.24
✎
21:23
|
(10) Если реквизит переименовали (кстати, что означают эти буквы?), то текст ошибки должен был поменяться.
так и есть было по причине: Ошибка компоновки макета по причине: Поле не найдено "Номенклатура.МойРеквизит" стало по причине: Ошибка компоновки макета по причине: Поле не найдено "Номенклатура.п_МДЛП" но при чем тут реквизит?? есть ссылка на отчет "e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958 который в режиме предприятия был настроен пользователем, то есть выведены колонки, отличные от типового.. отборы какие то добавлены, отличные от типового.. но программно выдается ошибка.. мое предположение потому что //Получаем схему из макета СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); а надо взять схему из отчета по ссылке.. вот как это сделать? |
|||
12
Волшебник
17.02.24
✎
21:24
|
(11) >> но при чем тут реквизит??
Ругается-то на него. Всё дело в обращении к реквизиту, которого нет в справочнике. |
|||
13
first_may
17.02.24
✎
21:26
|
(12) он есть в справочнике!!
его нет в схеме, которая по умолчанию, типовая, не измененная.. так как СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); |
|||
14
first_may
17.02.24
✎
21:28
|
(12) а на самом деле, схема другая..
она как раз вот тут e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958 настройки я получаю из варианта настроек вот так Настройки = ВариантОтчета.Настройки.Получить(); а как получить схему из ВариантОтчета? где ВариантОтчета = ПолучитьСсылкуИзНавигационной("e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958"); // получаем вариант отчета |
|||
15
first_may
18.02.24
✎
09:07
|
попробую мысль сформировать по другому..
1 есть запрос ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура 2 на его основе делается СКД, то есть в типовом варианте выводится только одно поле! 3 пользователь в режиме предприятия через настройки выводит еще поле п_МДЛП, а также делает отбор, допустим только помеченные на удаление 4 это вариант он сохраняет и получает ссылку на него 5 вот он дает мне просто ссылку e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958 6 надо программно выполнить отчет и результат выгрузить в таблицу значений делаю // получение данных и запись ВариантОтчета = ПолучитьСсылкуИзНавигационной("e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9123c298ac7d888ee9b2549565958"); // получаем вариант отчета Отчет = Отчеты[ВариантОтчета.Отчет.Имя].Создать(); //Получаем схему из макета СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); - ВОТ ТУТ НЕ ТА СХЕМА, ПОЭТОМУ НИЖЕ И ВЫДАЕТСЯ ОШИБКА И НЕ ВАЖНО КАК ТАМ ПОЛЕ НАЗЫВАЕТСЯ, ПРОСТО В МАКЕТЕ ПО УМОЛЧАНИЮ ВООБЩЕ КРОМЕ ССЫЛКИ НЕТ НИЧЕГО //Из схемы возьмем настройки по умолчанию //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; Настройки = ВариантОтчета.Настройки.Получить(); |
|||
16
Волшебник
18.02.24
✎
09:15
|
Не ори
|
|||
17
Волшебник
18.02.24
✎
09:17
|
Уберите обращение к полю, которого нет в справочнике.
|
|||
18
first_may
18.02.24
✎
09:29
|
||||
19
Гена
18.02.24
✎
09:33
|
(17) поле стопудово есть, ведь пользователь-фармацевт его уверенно заполняет. Просто она там под себя наизменяла отчёт и скинула ссылку. А у ТС открывается ДРУГОЙ отчёт по данной ссылке, в котором поле не описано.
|
|||
20
Гена
18.02.24
✎
09:36
|
Понятно, что народ давно столкнулся с проблемой передачи в 1С чужих отчётов. Первое, что попалось:
https://infostart.ru/1c/tools/1921012/ |
|||
21
first_may
18.02.24
✎
09:39
|
(19) она там под себя наизменяла отчёт и скинула ссылку - именно так.. я про это и говорю же..
с настройками получается Настройки = ВариантОтчета.Настройки.Получить(); а с СКД не знаю как вытащить.. это не тот СКД СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); нужен который она сама настроила и сохранила |
|||
22
Волшебник
18.02.24
✎
09:42
|
(21) Запросите у неё схему компоновки, пусть выгрузит в XML и пришлёт отдельным файлом.
|
|||
23
first_may
18.02.24
✎
10:06
|
(22) я уже подумал об этом..
делал так, что хранил в обработке настройки в виде XML и потом их использовал.. но хотел бы универсальность, так как планируется не один отчет так делать.. когда делаю ВариантОтчета = ПолучитьСсылкуИзНавигационной("e1cib/data/Справочник.ВариантыОтчетов?ref=9ed9000c298ac7d411ee9b2549565958"); // получаем вариант отчета то получаю вот такое Свойство Значение Тип ВариантОтчета Продажи для МДЛП СправочникСсылка.ВариантыОтчетов Автор СправочникСсылка.Пользователи ВерсияДанных "AAAAAAGNf+0=" Строка ВидимостьПоУмолчанию Ложь Булево ВидимостьПоУмолчаниюПереопределена Ложь Булево Владелец Неопределено ИмяПредопределенныхДанных "" Строка ИнтерактивнаяПометкаУдаления Ложь Булево КлючВарианта "81679b36-7852-404a-a936-3ee8e110d3dd" Строка КлючевыеСлова "" Строка Код "" Строка Контекст "" Строка Назначение Десктоп ПеречислениеСсылка.НазначенияВариантовОтчетов Наименование "Продажи для МДЛП" Строка НаименованиеЯзык1 "SRM Номенклатура" Строка НаименованиеЯзык2 "SRM Номенклатура" Строка НаименованияПараметровИОтборов """Период Тип объекта Имя объекта Имя таблицы Выводить количество подчиненных записей""" Строка НаименованияПолей """Ссылка Ссылка.п_МДЛП" Строка Настройки ХранилищеЗначения ХранилищеЗначения Описание "" Строка ОписаниеЯзык1 "" Строка ОписаниеЯзык2 "" Строка Отчет Универсальный отчет (Отчет) СправочникСсылка.ИдентификаторыОбъектовМетаданных Пользовательский Истина Булево ПометкаУдаления Ложь Булево Предопределенный Ложь Булево ПредопределенныйВариант Неопределено Представления СправочникТабличнаяЧасть.ВариантыОтчетов.Представления СправочникТабличнаяЧасть.ВариантыОтчетов.Представления Размещение СправочникТабличнаяЧасть.ВариантыОтчетов.Размещение СправочникТабличнаяЧасть.ВариантыОтчетов.Размещение Родитель Универсальный отчет СправочникСсылка.ВариантыОтчетов Ссылка Продажи для МДЛП СправочникСсылка.ВариантыОтчетов ТипОтчета Внутренний ПеречислениеСсылка.ТипыОтчетов ТолькоДляАвтора Ложь Булево ХешНастроек "6CB8C681EE4BC9B096D1DDF6568FEB94" Строка ЭтоГруппа Ложь Булево вот вижу КлючВарианта НаименованияПолей |
|||
24
first_may
18.02.24
✎
10:08
|
||||
25
Волшебник
18.02.24
✎
22:12
|
(24) Что это за херня?
|
|||
26
DrZombi
19.02.24
✎
06:15
|
Интересное обсуждение, все свелось к тому, что пользователь под собой настроил отчет. Кинул ссылку. Вариант отчета доступен только пользователю и никому более.
У нас тоже было замечено в "БП 3.0" падение 1С при попытки записать чужой вариант отчета... ... В общем все привело к тому, что теперь пользователи сами могут контролировать права для своих вариантов отчета. :) |
|||
27
DrZombi
19.02.24
✎
06:16
|
(23) Если у пользователя нет права на какой либо реквизит, ваш отчет так же не будет работать, или "Не" работать как положен :)
|
|||
28
first_may
20.02.24
✎
15:14
|
(26) >> Интересное обсуждение, все свелось к тому, что пользователь под собой настроил отчет. Кинул ссылку. Вариант отчета доступен только пользователю и никому более.
и админу доступен.. я в режиме предприятия открываю его ссылку и вижу тот же результат, что и он.. один к одному.. |
|||
29
first_may
20.02.24
✎
15:15
|
(25)
"Вот я и говорю: назовите его нормально. Не морочьте людям голову Не ори Что это за херня " ?? |
|||
30
first_may
20.02.24
✎
15:15
|
(27) все это делается под правами админа..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |