Ошибка при загрузке скд

30.06.2022

При разработке своих отчетов, как правило, мы их делаем на последних версиях платформы. А некоторые наши клиенты скачивают отчеты и пытаются работать на старых платформах. И сталкиваются с тем, что их платформа их просто не открывает. Поэтому мы решили создать для себя (и поделиться с вами) небольшой базой знаний, что следует учитывать при разработке отчетов на СКД

Условное оформление на СКД

Очень интересный момент. Если сделать отчет на СКД и добавить условное оформление на платформе 8.3.19 и потом попытаться открыть этот отчет на платформе 8.3.12 или 8.3.10 то сталкиваемся с проблемой, что отчет не открывается и ругается на Ошибка преобразования данных XDTO. Причем если то же самое условное оформление сделать на платформе 8.3.10 с абсолютно такими же настройками, то он нормально работает на платформе 8.3.10. Но если этот отчет открыть в конфигураторе 8.3.19 и просто сохранить его, то он уже не откроется на старой платформе. Видимо, 8.3.19 что-то добавляет в отчет свое.

Какой выход: либо делать отчеты на старых платформах, либо задавать условное оформление программным путем. Мы пошли по второму пути

Использовать группировки запроса если возможно

Еще один кейс. Если в СКД поставить флаг “Использовать группировки запроса если возможно”, то он также не будет открываться на платформе 8.3.12. Отчет будет выдавать ошибку:

Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: dataSet Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/schema}DataSet
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}useQueryGroupIfPossible Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType

Чтобы отчет открывался на старых платформах эта галочка должна быть установлена во всех наборах, во всех схемах компоновки данных этого отчета:

2022 10 25 16 30 32

2022 10 25 16 30 32

Платформа 8.2.19.130.

Хочу получить результат отчета в дерево значений. Выполняю код

[1c]

&НаСервере

Процедура СохранитьРезультатОтчетаСервер()

    ТекОтчет = РеквизитФормыВЗначение(«Отчет»);

    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ТекОтчет.СхемаКомпоновкиДанных, Отчет.КомпоновщикНастроек.Настройки,,, Тип(«ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений»));

    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

    
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    
    ДЗ = Новый ДеревоЗначений;

    
    ПроцессорВывода.УстановитьОбъект(ДЗ);

    
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

КонецПроцедуры

[/1c]

Выходит ошибка

[1c]

{ОбщаяФорма.ФормаОтчетаУпрСКД.Форма(101)}: Ошибка при вызове метода контекста (Инициализировать)

    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

по причине:

Ошибка компоновки данных

по причине:

Ошибка инициализации

по причине:

Ошибка в выражении

по причине:

Синтаксическая ошибка «СервисОтчетов.ПолучитьСсылочноеЗначение»

[/1c]

В схеме один из параметров отчета (справочник ссылка) определяется вызовом функции общего модуля «СервисОтчетов».

У модуля установлены флаги «Клиент», «Сервер», «Вызов сервера».

Если заменить выражение Параметра на предопределенное значение, то все работает.

Неужели при программном выполнении отчета нельзя использовать вызов функций общих модулей?

1C 8 Система компоновки данных (СКД): вывод вычисляемых полей при программном формировании отчета

Описание ошибки:
Отчет на СКД формируется программно. При этом используется одно вычисляемое поле, в выражении которого указана экспортная функция глобального модуля. При формировании отчета возникает ошибка:
{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

Найденные решения:

1с 8 скд вывод вычисляемого поля с выражением при программном выводе

1с 8 ошибка при выводе вычисляемого поля с выражением отчета на СКД при программном выводе

Подробное изучение методической информации дало понять, что при программном выводе отчета в коде было отключено использование внешних функций. См. текст из синтаксис-помощника метода Инициализировать() процессора компоновки данных (ПроцессорКомпоновкиДанных):

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>),
где <ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь

Поэтому в код программного вывода отчета было добавлено отсутствующее условие (выделено жирным):

ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпановки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

Но после этого СКД отказалсь вывести отчет, рапортуя ошибку:

1с 8 скд ошибка вывода вычисляемого поля отчета на СКД использующего выражение с функцией при программном выводе

{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
        ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Функция не найдена «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

При этом функция по всем правилам была экспортной и к этому моменту проверок размещена в глобальном модуле. Поэтому название модуля было исключено из значения выражения вычисляемого поля системы компоновки данных и отчет вывелся.

1с 8 скд использование функции в выражении вычисляемого поля программно выводимого отчета

А для случая, если функция для расчета выражения вычисляемого поля скд, размещена не в глобальном модуле, то необходимо указать и имя самого модуля, содержащего используемую функцию (пример рис. 01).

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

22-05-2015

Журавлев А.С.
(www.azhur-c.ru)

Содержание:

1.     Ошибка при открытии настроек отчета СКД 1С

         Как-то поступило обращение от пользователя с просьбой о помощи. Пользователь открывает отчет, разработанный в системе компоновки данных 1С, нажимает на кнопку «Настройки» и на экран пользователя выводится окно с сообщением об ошибки (Рис. 1). Пример ошибки проиллюстрирован в конфигурации Зарплата и управление персоналом, редакция 3.1.

Рисунок № 1.

         В данном случае ошибка связана с установленной настройкой на вкладке «Условное оформление» (Рис. 2).

Рисунок № 2.

         Это можно увидеть из описания ошибки, которую можно получить, нажав на кнопку «Подробно» (Рис. 3).

Рисунок № 3.

         Увидеть причину ошибки в пользовательском режиме 1С не получится так как при попытке открыть настройки в пользовательском режиме 1С возникает ошибка.

         Когда пользователь завершает работу с отчетом система может автоматически сохранить изменения в настройках или пользователь самостоятельно вручную сохраняет вариант отчета. Через некоторое время разработчик может внести изменения в отчет, которые могут быть не совместимы с сохраненными пользователем или автоматически системой настройками, что может быть причиной ошибки. Теоретически возможно, но маловероятно ошибка была совершена на этапе разработки программистом. Есть разные комбинации подобных ошибок, когда сохраненные настройки начинают конфликтовать со структурой модифицированного (измененного) отчета. В данном случае ошибка возникает при нажатии кнопки «Настройки».

         Может быть заказчик попросил доработать отчет, для этого отчета был создан новый вариант отчета 1С СКД. И этот новый вариант отчета 1С СКД должен был открываться непосредственно с помощью команды, которая размещена в области команд, навигации и действий для определенного раздела. После обновления релиза 1С конфигурации отчет перестает открываться.  

2.     Варианты решения проблемы в конфигурации системы 1С

         Когда удается открыть форму отчета 1С СКД, то одним из вариантов решения проблемы — это установить стандартные настройки 1С. Для этого нужно в окне отчета нажать кнопку «Ещё» (Рис. 4). Из выпадающего списка выбрать команду «Стандартные настройки 1С», но иногда она бывает не доступна.

Рисунок № 4.

         Стандартные настройки 1С — это оригинальный вариант настроек, который определен разработчиком.

         Ошибка может возникать и при открытии отчета. Тогда установить стандартные настройки 1С не получиться, форма отчета 1С СКД не откроется, система будет выводить окно с сообщением об ошибке.

         Если данная проблема возникла в конфигурации Зарплата и управление персоналом, редакция 3.1 нужно открыть раздел «Администрирование»-«Настройки пользователей и прав»-«Настройки пользователей». В окне «Настройки пользователей» нужно открыть вкладку «Настройки отчетов». На вкладке «Настройки отчетов», в списке нужно найти отчет. С помощью кнопки «Очистить» (Рис. 5) удалить настройку по этому отчету.

Рисунок № 5.

Специалист  компании «Кодерлайн»

Быков Владимир

Описание ошибки

Ошибка в том что…
Я создал и отладил схему компоновки в универсальном отчете, сохранил схему компоновки на диск и хочу импортировать схему в отдельный отчёт, встроенный в конфигурацию (расширение).
В ред. 2021.1.7 после импорта на закладке «Макеты» пусто во всех разделах: список макетов с областями, параметров макета и сам макет
В ред. 2021.3.2 заполняется только список макетов с областями (колонка область пустая), параметры макетов, сам макет пустой.

Как воспроизвести

  1. Создаем новый отчет в импортированной конфигурации, например ERP
  2. Открываем схему компоновки и импортируем её из файла

Скриншоты

Result
Expected
Result1 7
Expext1 7

Ожидаемое поведение

Корректно загруженная закладка макеты при загрузке схемы компоновки
СКД_ТЕСТ_МАКЕТА.zip
.

Лог рабочей области

logs.zip

Версия 1С:EDT

2021.1.7, 2021.3.2

Операционная система

Windows, Linux

Установленные плагины

No response

Дополнительная информация

Можно использовать любую типовую конфигурацию, где есть справочник Организации с полями ИНН и КПП
Платформа 8.3.19.1467 версия проекта 8.3.19
Ошибку можно обойти, если в конфигураторе загрузить схему, затем импортировать в проект.

30.06.2022

При разработке своих отчетов, как правило, мы их делаем на последних версиях платформы. А некоторые наши клиенты скачивают отчеты и пытаются работать на старых платформах. И сталкиваются с тем, что их платформа их просто не открывает. Поэтому мы решили создать для себя (и поделиться с вами) небольшой базой знаний, что следует учитывать при разработке отчетов на СКД

Условное оформление на СКД

Очень интересный момент. Если сделать отчет на СКД и добавить условное оформление на платформе 8.3.19 и потом попытаться открыть этот отчет на платформе 8.3.12 или 8.3.10 то сталкиваемся с проблемой, что отчет не открывается и ругается на Ошибка преобразования данных XDTO. Причем если то же самое условное оформление сделать на платформе 8.3.10 с абсолютно такими же настройками, то он нормально работает на платформе 8.3.10. Но если этот отчет открыть в конфигураторе 8.3.19 и просто сохранить его, то он уже не откроется на старой платформе. Видимо, 8.3.19 что-то добавляет в отчет свое.

Какой выход: либо делать отчеты на старых платформах, либо задавать условное оформление программным путем. Мы пошли по второму пути

Использовать группировки запроса если возможно

Еще один кейс. Если в СКД поставить флаг “Использовать группировки запроса если возможно”, то он также не будет открываться на платформе 8.3.12. Отчет будет выдавать ошибку:

Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: dataSet Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/schema}DataSet
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}useQueryGroupIfPossible Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType

Чтобы отчет открывался на старых платформах эта галочка должна быть установлена во всех наборах, во всех схемах компоновки данных этого отчета:

2022 10 25 16 30 32

2022 10 25 16 30 32
  

XiPyPg2012

03.09.13 — 10:31

Ошибка преобразования данных XDTO:

НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/settings}Settings    Форма: Элемент    Тип: {http://v8.1c.ru/8.1/data-composition-system/settings}Settings

по причине:

Ошибка преобразования данных XDTO:

НачалоСвойства: item    Форма: Элемент    Тип: {http://v8.1c.ru/8.1/data-composition-system/core}ParameterValue

по причине:

Ошибка преобразования данных XDTO:

Значение: {http://v8.1c.ru/8.1/data/ui/style}ПросроченныеДанныеЦвет    Тип: {http://v8.1c.ru/8.1/data/ui}Color

по причине:

Ошибка отображения типов:

Отображение типа ‘String’ в тип ‘{http://v8.1c.ru/8.1/data/ui}Color’

Подскажите что это такое, точно такой же отчет ничего не изменилось, 1 условие в запросе добавилось.

Ошибка при открытии СКД-Отчета в веб-браузере

Автор TreeDogNight, 02 сен 2015, 15:40

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

Платформа 1С 8.3.5.1383, работа в веб-браузере. При попытке открытия некоторых СКД-отчетов выходит ошибка. Текст ошибки в разных браузерах разный, в IE текст ошибки самый понятный:
http://i72.fastpic.ru/big/2015/0902/4b/c3e1369d53ff5746e92edf180969fe4b.png
Уважаемые форумчане, подскажите, в какую сторону рыть?

Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все — мало кто может это сделать.


NULL значения обычно появляются в запросе, смотрите запросы.


Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все — мало кто может это сделать.


А в тонком/толстой клиенте ошибка проявляется?


Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все — мало кто может это сделать.


Пичаль. Попытаться вы конечно можете, но… проблема с браузерами, которые неправильно настроены.
Ну, или переделайте СКД так, чтобы NULL в принципе не выводился.


Цитата: vitasw от 03 сен 2015, 11:13
Пичаль. Попытаться вы конечно можете, но… проблема с браузерами, которые неправильно настроены.
Ну, или переделайте СКД так, чтобы NULL в принципе не выводился.

К моему удивлению вы оказались правы! Проставил во все поля запросов EСТЬNULL и ошибка выходить перестала. Спасибо вам большое!

Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все — мало кто может это сделать.


1С 8.3 СКД «Ошибка обработки представления»

При программном формировании СКД отчета, вылетало в ошибку. Хотя с запросом все в порядке, в консоли отрабатывает, в консоли СКД также все окей.

В моем случае данная ошибка возникала при связи вирт. таблицы регистра сведений «СрезПоследних» со справочником или другим регистром.

В параметр период передавался некий параметр «ПЗ» в результате чего приводило к ошибке.

Для устранения проблемы формирования отчета необходимо снять галку автозаполнение в закладке «Наборы данных»

и вручную переопределить поля выборки в конструкторе запроса в закладке «Компоновка данных» — «Поля»

Описание ошибки

Ошибка в том что…
Я создал и отладил схему компоновки в универсальном отчете, сохранил схему компоновки на диск и хочу импортировать схему в отдельный отчёт, встроенный в конфигурацию (расширение).
В ред. 2021.1.7 после импорта на закладке «Макеты» пусто во всех разделах: список макетов с областями, параметров макета и сам макет
В ред. 2021.3.2 заполняется только список макетов с областями (колонка область пустая), параметры макетов, сам макет пустой.

Как воспроизвести

  1. Создаем новый отчет в импортированной конфигурации, например ERP
  2. Открываем схему компоновки и импортируем её из файла

Скриншоты

Result
Expected
Result1 7
Expext1 7

Ожидаемое поведение

Корректно загруженная закладка макеты при загрузке схемы компоновки
СКД_ТЕСТ_МАКЕТА.zip
.

Лог рабочей области

logs.zip

Версия 1С:EDT

2021.1.7, 2021.3.2

Операционная система

Windows, Linux

Установленные плагины

No response

Дополнительная информация

Можно использовать любую типовую конфигурацию, где есть справочник Организации с полями ИНН и КПП
Платформа 8.3.19.1467 версия проекта 8.3.19
Ошибку можно обойти, если в конфигураторе загрузить схему, затем импортировать в проект.

Содержание:

1.     Ошибка при открытии настроек отчета СКД 1С

         Как-то поступило обращение от пользователя с просьбой о помощи. Пользователь открывает отчет, разработанный в системе компоновки данных 1С, нажимает на кнопку «Настройки» и на экран пользователя выводится окно с сообщением об ошибки (Рис. 1). Пример ошибки проиллюстрирован в конфигурации Зарплата и управление персоналом, редакция 3.1.

Рисунок № 1.

         В данном случае ошибка связана с установленной настройкой на вкладке «Условное оформление» (Рис. 2).

Рисунок № 2.

         Это можно увидеть из описания ошибки, которую можно получить, нажав на кнопку «Подробно» (Рис. 3).

Рисунок № 3.

         Увидеть причину ошибки в пользовательском режиме 1С не получится так как при попытке открыть настройки в пользовательском режиме 1С возникает ошибка.

         Когда пользователь завершает работу с отчетом система может автоматически сохранить изменения в настройках или пользователь самостоятельно вручную сохраняет вариант отчета. Через некоторое время разработчик может внести изменения в отчет, которые могут быть не совместимы с сохраненными пользователем или автоматически системой настройками, что может быть причиной ошибки. Теоретически возможно, но маловероятно ошибка была совершена на этапе разработки программистом. Есть разные комбинации подобных ошибок, когда сохраненные настройки начинают конфликтовать со структурой модифицированного (измененного) отчета. В данном случае ошибка возникает при нажатии кнопки «Настройки».

         Может быть заказчик попросил доработать отчет, для этого отчета был создан новый вариант отчета 1С СКД. И этот новый вариант отчета 1С СКД должен был открываться непосредственно с помощью команды, которая размещена в области команд, навигации и действий для определенного раздела. После обновления релиза 1С конфигурации отчет перестает открываться.  

2.     Варианты решения проблемы в конфигурации системы 1С

         Когда удается открыть форму отчета 1С СКД, то одним из вариантов решения проблемы — это установить стандартные настройки 1С. Для этого нужно в окне отчета нажать кнопку «Ещё» (Рис. 4). Из выпадающего списка выбрать команду «Стандартные настройки 1С», но иногда она бывает не доступна.

Рисунок № 4.

         Стандартные настройки 1С — это оригинальный вариант настроек, который определен разработчиком.

         Ошибка может возникать и при открытии отчета. Тогда установить стандартные настройки 1С не получиться, форма отчета 1С СКД не откроется, система будет выводить окно с сообщением об ошибке.

         Если данная проблема возникла в конфигурации Зарплата и управление персоналом, редакция 3.1 нужно открыть раздел «Администрирование»-«Настройки пользователей и прав»-«Настройки пользователей». В окне «Настройки пользователей» нужно открыть вкладку «Настройки отчетов». На вкладке «Настройки отчетов», в списке нужно найти отчет. С помощью кнопки «Очистить» (Рис. 5) удалить настройку по этому отчету.

Рисунок № 5.

Специалист  компании «Кодерлайн»

Быков Владимир

На чтение 14 мин Просмотров 17 Опубликовано 9 апреля 2023 Обновлено 9 апреля 2023

Содержание

  1. Редактирование настроек для не основной схемы компоновки данных
  2. Не установлена схема компоновки данных
  3. Решение
  4. Ошибка Выполнения отчета :Не установлена схема компоновки данных
  5. 1С 8.3 : Как сформировать отчет СКД без проверки прав (в привилегированном режиме)?
  6. Есть несколько способов как это сделать:
  7. Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
  8. Формирование СКД отчетов в другой базе с возвратом результата через COM-соединение
  9. Грабли на СКД
  10. Оглавление
  11. Выбранные поля в разных элементах структуры. Автополе и отключенное поле
  12. Расположение итогов = нет
  13. Ресурсы рассчитываются только для группировок
  14. Параметр Период – Стандартный период
  15. Параметры Период, НачалоПериода, КонецПериода
  16. Установка параметров выражением НайтиПоКоду(), НайтиПоНаименованию()
  17. Отборы в наборе данных объект
  18. Некорректный расчет итогов

Редактирование настроек для не основной схемы компоновки данных

Иногда требуется обеспечить редактирование настроек компоновки данных не для основной схемы компоновки данных отчета, либо вообще не в отчете.

Для обеспечения редактирования настроек произвольной схемы компоновки данных нужно инициализировать компоновщик настроек источником доступных настроек. После инициализации компоновщика настроек он будет оперировать доступными полями схемы, источник которой ему установлен.

В обычной форме можно использовать источник доступных настроек для схемы компоновки данных.

В данном примере предполагается, что в переменной Схема находится схема компоновки данных.

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

В качестве адреса схемы компоновки данных может выступать адрес во временном хранилище, в которое поместили схему компоновки данных, или адрес значения в записи базы данных.

Пример создания источника доступных настроек для схемы, помещенной во временное хранилище:

В данном примере во временное хранилище помещается схема компоновки данных, находящаяся в переменной Схема .

Пример создания источника доступных настроек для схемы, расположенной в базе данных:

В данном примере схема будет получаться базы данных, из реквизита с именем СхемаКомпоновкиДанных объекта со ссылкой Ссылка .

Источник

Не установлена схема компоновки данных

Добрый день, такая проблема, делаю отчет на основе скд, все по аналогии с другим сделанным мною отчетом, но выдает ошибку, не установлена схема компоновки СКД, что может быть не так?

Добавлено через 34 секунды
ах да, и доступных полей тоже нету

Отчет: Схема компоновки данных, как связать поля?
Доброе время суток всем! Помогите пожалуйста разобраться, уже сколько времени долбаюсь не могу.

Система компоновки данных
Нужно организовать расшифровку отчета в зависимости от строки и столбца таблицы. Можно ли это.

Конструктор настроек компоновки данных(программно)
Всем привет. У меня отчет с СКД, но мне надо иногда делать изменение групповых полей и порядка.

Система компоновки данных — добавить поле
Как в отчёт добавить новое поле, если он был создан системой компоновки данных?

Решение

Несколько схем компоновки данных в одном отчете
Всем доброго времени суток. Задача передо мной стоит такая: нужно сделать отчет с помощью СКД и при.

Как программно создать вложенную схему компоновки данных
Добрый вечер, как создать программно вложенную схему компоновки данных и заполнить у неё свойство.

Схема компоновки данных
Доброго времени суток! Правильно ли я думаю что схема компоновки данных это вот это окно на рисунке.

Отчеты и Схема компоновки данных
Доброго времени суток! Наиболее подходящий вариант это создание отчета используя схему компоновки.

Источник

Ошибка Выполнения отчета :Не установлена схема компоновки данных

Ошибка выполнения отчета
по причине:
Не установлена схема компоновки данных

Был отчет без СКД, переделанный из стандартного отчета «ТоварныйОтчетТорг29».
Помимо всего прочего — вызывался из справочника «Номенклатура» с автоматическим формированием при открытии.
Процедура «СформироватьОтчетНаСервере» запускалась из события «ПриСозданииНаСервере» если в отчет передавался параметр «СформирвоатьПриОткрытии».

Все работало до недавнего времени — но пользователи н сразу стали жаловаться на появление ошибки — соотвественно не до конца понятно — это результат нового релиза конфигурации, платформы или перехода из файлового режима в клиент-серверный.

при обычном открытии отчета из меню или при ручном нажатии кнопки сформировать — все работает нормально без ошибок.

Кто нибудь сталкивался с сабжем?

(3)
В стандартном отчете 1С БП в форме отчета прописан функционал работы с интерфейсами и форма бух отчетов.

Он стандартный для всех отчетов, которые в БП сделаны без СКД. Само формирование отчета осуществляется через длительные операции, а код отчета в модуле менеджера.

Если открыть ТОРГ29 — то можно посмотреть кто работает.

Ну если не сталкивались — то наверное механизм работы отчета заочно вряд ли даст что нибудь

В общем оказалось как обычно.

«СформироватьПриОткрытии» — это расширение формы отчета — и в качестве «своего» параметра передаваемого в форму — его использовать нельзя.

Раньше я когда передавал параметр он просто не отрабатывал — т.к. к отчету СКД не привязана.
А после очередного обновления платформы — поведение отчета изменилось и он стал выдавать ошибку связанную с отсутствием СКД.

Свой параметр переименовал. Ошибка исчезла. А формирование отчета при открытии переделал на обработчик ожидания как в «Реестре документов».

Источник

1С 8.3 : Как сформировать отчет СКД без проверки прав (в привилегированном режиме)?

Что при разработке отчетов требуется чтобы у пользователя с ограниченными правами, отчет формировался полностью без проверки прав!

Особенно если настроен RLS

Есть несколько способов как это сделать:

1. Установить привилегированный режим в модуле отчета

Форма отчета должна быть Управляемой, далее в модуле отчета процедура обработчика «При компоновке результата»:

2. Формирование в привилегированном режиме через Общий модуль с галкой Привелигерованный

так же как в пункте 1 в обработчике «При компоновке результата» пишем:

В общем модуле МЕ_ДляОтчетаСКД_ПривелРежим код:

3. Если включен режим Использовать ограничение на уровне прав доступа — RLS

Часто используется в типовых. Тут в модуле для текущего пользователя можно на время формирования отчету установить параметр сеанса ИспользоватьОграниченияПравДоступаНаУровнеЗаписей в Ложь и RLS не сработает.

После завершения формирования, не забудьте включить rls обратно установив = Истина

4. Если в запросе используется конструкция вида регистратор.дата и это поле не отображается в полях отчета СКД

Допустим Вы сделали запрос по регистру накоплений и через регистратор обратились к дате или сумме документа и при формировании отчета СКД, эти поля недоступны !? как же быть?

Проблема в том — что у регистратором может выступать несколько документов и видимо права чтение/просмотр есть не на все — поэтому через скд эта таблица целиком недоступна, решение:

1. открыть доступ на все регистраторы регистра

Источник

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

Формирование СКД отчетов в другой базе с возвратом результата через COM-соединение

При наличии нескольких баз РБД существует проблема получения данных в подчиненной базе из отчетов СКД, т.к. далеко не все данные присутствуют в текущей базе. Например: есть центральная база и периферийная, в центральной работает регламент по расчету себестоиомости, вводятся доп. расходы и прочее, а в периферийной делаются только продажи, однако менеджерам нужно видеть актуальную себестоимость, мотивацию, рассчитанную на основании этих данных. Или руководитель хочет видеть продажи других магазинов, а документов в этой базе нет! (причем хотят видеть в динамике!). Какой выход из этой ситуации? Пускать их в основную базу будет неправильно, поэтому решено было сделать универсальный механизм для СКД отчетов.

При компоновке данных вставляется специальная функция, которая будет сериализировать различные параметры отчета, передавать их в другую базу, выполнять отчет и возвращать параметры, которые нужно десереализовать в нашей базе.

Расшифровка также работает в этом механизме, однако если какого-то ссылочного объекта не будет в нашей базе, при попытке открытия будет выдано сообщение «Объект не найден», но само представление этих объектов в отчете будет видно.

В файле присутствует отчет с разработанным механизмом, который выводит справочник валюты (отчет может быть любой сложности). Все функции для удобства находятся в модуле менеджера, но лучше их разместить в общих модулях конфигурации, тогда изменение отчета займет всего 3 строки кода. Также необходимо отметить, что схему компоновки у отчета не придется переделывать, здесь не используется внешний набор данных, только сериализация.

Параметры подключения находятся в функции «ПодключитьсяКБазе()», их нужно указать для центральной базы.

Источник

Грабли на СКД

Статья описывает наиболее частые(на мой взгляд) проблемы, с которыми сталкиваются программисты 1С при разработке отчетов на СКД. Люди с большим опытом работы с этим механизмом, скорее всего, не найдут здесь ничего нового.

Поскольку механизм СКД де-факто является стандартом разработки отчетов, то даже начинающие разработчики имеют с ним дело. Иногда из-за недостатка опыта или по невнимательности допускают ошибки которые приводят к неожиданным результатам.

Оглавление

Выбранные поля в разных элементах структуры. Автополе и отключенное поле

Нередко возникает ситуация, когда структура отчета имеет множество вложенных элементов (группировок). Это нормально. Бывает такое, что у каждой группировки отдельно указаны свои выбранные поля.

Рис. 1. Индивидуальная настройка полей выбора в каждой группировке

Рис. 2. В группировке отключено использование выбранного поля

В общем, это не плохо, когда вы контролируете какие поля в каждой группировке. Но для того чтобы понять, в какой группировке какие поля выводятся – придется прощёлкать все группировки. Также бывают ситуации, что на уровне отчета выбраны одни поля, а поскольку в выбранных полях группировки отсутствует Автополе, то они не выводятся, и приходится проверять настройки.

Вывод: Я рекомендую по максимуму располагать выбранные поля на уровне Отчет, а в группировках дополнять/исключать поля совместно с автополем.

Бывает еще такая ситуация: на уровне отчета указываются несколько выбранных полей, в группировке в выбранных полях есть Автополе, и добавлено поле Сумма, но его использование отключено. На первый взгляд отключенное поле не будет оказывать влияние не результат, но это не так – убедиться в этом можно, развернув Автополе.

Рис. 3. Какие поля будут выведены при такой структуре отчета?

Рис. 4. Перечень полей, если развернуть Автополе

В итоге в детальных записях будут выведены все выбранные поля с вышестоящих группировок, кроме поля Сумма (т.к. оно отключено), т.е. поля Покупатель, Товар.

Вывод: Такое поведение кажется неявным, тем не менее отсутствие выбранного поля <> присутствие поля с отключенным использованием.

Рис. 5. Результат при такой настройке

Расположение итогов = нет

Наверное, самые частые грабли, которые я видел на форумах. К счастью, это легко проверяется. Симптомы: разработчик добавляет в выбранные поля ресурсы, но ресурсы не выводятся в отчет. Как правило, разработчик хочет добиться отключения общих итогов по горизонтали или по вертикали, а получается так. Структура, как правильно имеет следующий вид:

Но в итоге отчет выглядит следующим образом:

Рис. 7. Вид отчета с настройкой Расположение итогов = нет

Все дело в настройках на вкладке дополнительно – Расположение итогов = нет. Установив эту настройку, ресурсы вообще не выводятся. Здесь надо четко понимать расположение итогов – отвечает за вывод всех ресурсов в группировке, Расположение общих итогов, Расположение общих итогов по горизонтали, по вертикали – отвечает за то, где будет располагаться секция Итого по группировке.

Рис. 8. Настройка Расположение итогов, Расположение общих итогов.

Для чего может пригодиться управление дополнительными параметрами Расположение итогов, Расположение группировок продемонстрировано в этом видео: и здесь.

Вывод: Не отключайте расположение итогов, вам скорее всего нужна настройка Расположение общих итогов 🙂

Ресурсы рассчитываются только для группировок

Значения ресурсов не вычисляются для детальных записей, но есть нюансы. Например, в схему добавлено вычисляемое поле ТоварыВГруппе


Рис. 9. Вычисляемое поле

Поле сделано ресурсом — для него указано выражение ресурса.

Рис. 10. Выражения ресурсов

Если в детальных записях будет присутствовать хотя бы одно поле, не являющееся ресурсом, например поле Регистратор, то результат будет следующим…

Рис. 11. Настройки компоновки. В детальных записях поле Регистратор

Значение ресурса не будет вычислено (и соответственно выведено) в детальных записях:

Рис. 12. Значение ресурса не определено в детальных записях

Но, есть небольшой нюанс – если детальные записи вложены в группировку и в детальных записях выводятся только ресурсы, то в поле ресурса выводится значение из вышестоящей группировки. И, честно говоря, не знаю, для чего может понадобиться вкладывать в группировку детальные записи, состоящие только из ресурсов.

Рис. 13. Детальные записи в группировке

Вывод: не ищите значение ресурсов среди детальных записей, они рассчитываются в группировках и общих итогах

Параметр Период – Стандартный период

Для удобства ввода начала и окончания периода отчета используется следующий прием – в параметры отчета добавляется параметр с типом СтандартныйПериод. Например, мы разрабатываем отчет по продажам за период, флаг Автозаполнение в наборе данных запрос стоит, автоматически будут созданы параметры НачалоПериода, КонецПериода. Мы добавляем параметр Период с типом СтандартныйПериод, включаем ограничение доступности для параметров НачалоПериода, КонецПериода.

Рис. 14. Настройки параметров периода

Далее, дорабатываем схему, добавляем в запрос виртуальную таблицу СрезПоследних (СрезПервых, Остатки). Перечень параметров отчета при этом не поменялся, параметр Период, который мы добавили никуда не делся, и кроме того, его тип как был СтандартныйПериод так и остался. При такой конфигурации схемы при её компоновке будет ошибка:

Рис. 15. Ошибка: Несоответствие типов

Все верно – т.к. в параметр Период, виртуальной таблицы СрезПоследних передано значение типа СтандарныйПериод.
Для исправления ошибки в параметр виртуальной таблицы надо передавать значение правильного типа (Дата), а не СтандарныйПериод.

Вывод: Чтобы избежать путаницы, я рекомендую параметру с типом СтандарныйПериод присваивать имя, отличное от Период, например «ПериодОтчета»

Рис. 16. Параметры Период, СтандартныйПериод на своем месте

Параметры Период, НачалоПериода, КонецПериода

При использовании в СКД флага Автозаполнение в схему буду добавлены параметры виртуальных таблиц: Период – для виртуальных таблиц СрезПервых, СрезПоследних, Остатки, а так же НачалоПериода, КонецПериода – для виртуальных таблиц Обороты, ОстаткиИОбороты. Бывают случаи, когда необходимо использовать виртуальную таблицу с пустым параметром периода и проморгать, что для нее будет использоваться такой параметр, хотя в нашем случае мы хотели бы оставить параметр пустым.

Например, надо получить текущие остатки на складе на одну дату, в ценах на другую дату.

Для виртуальной таблицы Остатки будет использован стандартный параметр – Период, для таблицы среза – ПериодЦены. Но для таблицы СрезПоследних СКД при Автозаполнении так же определит параметр Период (это не видно в тексте запроса) – параметр расширения языка запросов для СКД. В этом случае, если параметр Период используется – то именно его значение будет подставлено в запрос, созданный компоновщиком макета и результат будет неверный. Вот такой текст будет сгенерирован компоновщиком.

Чтобы этого избежать можно указывать параметры в расширении языка запросов. А для диагностики я рекомендую пользоваться инструментом Консоль СКД (любой консолью, которая показывает текст и параметры компоновщика макета)

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

Установка параметров выражением НайтиПоКоду(), НайтиПоНаименованию()

Случай, когда в схеме для параметров прописывается выражение вида:

Здорово, что в СКД так можно делать – написать выражение на встроенном языке, которое будет вычислено при компоновке результата. Но! А что будет если в результате поиска ничего не будет найдено? Правильно – параметру будет присвоена пустая ссылка и мы об этом не узнаем, т.к. ограничение доступности для этого параметра стоит.

Рис. 17. Выражения в параметрах СКД

Вывод: Я рекомендую устанавливать значения параметров компоновки данных в событии ПриКомпоновкеРезультата, при чем, проверяя все результаты поисков и сообщая о непредвиденных результатах пользователю.

Отборы в наборе данных объект

Если добавить набор данных объект и для полей набора данных не указать свойство Тип значения, то в настройках отбора будет доступно лишь сравнение с полем компоновки данных. На скриншоте ниже для Поле1 – не указан тип и система не будет знать из какого справочника предлагать пользователю значения сравнения, для поля Поле2 – указан тип справочник Контрагенты, соответственно в элементе отбора будут предлагаться элементы этого справочника.

Рис. 18. Набор данных объект. Для Поле1 не указан Тип значения.

Рис. 19. Отбор по полю набора данных объект, для которого не указан тип значения.

Вывод: при использовании набора данных объект, если предполагается отбор по полю – указываем его тип в настройках. Можно указывать тип для всех полей

Некорректный расчет итогов

Когда в СКД выбираем таблицу ОстаткиИОбороты и в данных появляется периодичность, т.е. поле содержащее в себе период записи — секунда, день, месяц, год, то для корректного расчета начального, конечного остатка требуется правильно указать роли полей набора данных: Период, Измерения, поле Начального, Конечного остатка.

Рис. 20. Пример правильной настройки ролей

Тем не менее, для того чтобы СКД правильно расставила порядок, одного поля Регистратор недостаточно, нужно еще поле Период и оно даже есть в нашем наборе данных (на скриншоте). Но, если это поле не используется в настройках компоновки, то компоновщик макета его удаляет и результат в группировках может быть вычислен неправильный. Чтобы такого не было – в роли поля Период ставим флаг Обязательное.

Бывают сложные случаи, разрешить которые можно только понимая, как СКД считает итоги. Какие бывают вариации:

1. В наборе данные присутствуют данные виртуальной таблицы ОстаткиИОбороты, но выбирается только Начальный или только Конечный остаток

2. Объединение виртуальной таблицы ОстаткиИОбороты еще с какими-то данными

Источник

30.06.2022

При разработке своих отчетов, как правило, мы их делаем на последних версиях платформы. А некоторые наши клиенты скачивают отчеты и пытаются работать на старых платформах. И сталкиваются с тем, что их платформа их просто не открывает. Поэтому мы решили создать для себя (и поделиться с вами) небольшой базой знаний, что следует учитывать при разработке отчетов на СКД

Условное оформление на СКД

Очень интересный момент. Если сделать отчет на СКД и добавить условное оформление на платформе 8.3.19 и потом попытаться открыть этот отчет на платформе 8.3.12 или 8.3.10 то сталкиваемся с проблемой, что отчет не открывается и ругается на Ошибка преобразования данных XDTO. Причем если то же самое условное оформление сделать на платформе 8.3.10 с абсолютно такими же настройками, то он нормально работает на платформе 8.3.10. Но если этот отчет открыть в конфигураторе 8.3.19 и просто сохранить его, то он уже не откроется на старой платформе. Видимо, 8.3.19 что-то добавляет в отчет свое.

Какой выход: либо делать отчеты на старых платформах, либо задавать условное оформление программным путем. Мы пошли по второму пути

Использовать группировки запроса если возможно

Еще один кейс. Если в СКД поставить флаг “Использовать группировки запроса если возможно”, то он также не будет открываться на платформе 8.3.12. Отчет будет выдавать ошибку:

Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: dataSet Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/schema}DataSet
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}useQueryGroupIfPossible Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType

Чтобы отчет открывался на старых платформах эта галочка должна быть установлена во всех наборах, во всех схемах компоновки данных этого отчета:

2022 10 25 16 30 32

2022 10 25 16 30 32

Канал про 1С появился в telegram

Следите за выходом отчетов и расширений для 1С на новом Telegram-канале здесь. Нас уже более 700 человек!

Канал про 1С в Telegram (1c в Телеграм)

  • Ошибка при загрузке скайпа
  • Ошибка при загрузке системы 0xc000000f
  • Ошибка при загрузке системы 0x0000007b
  • Ошибка при загрузке приложения 0x000007b
  • Ошибка при загрузке приложение ютуб