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

Кто-то сталкивался с такой ошибкой при формировании отчета? Предыстория, есть отчет, добавил в него поле и параметр, после пытаюсь сформировать и выходить такая ошибка.
Заранее спасибо!

ошибка компановки.jpg

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


Изменено 14 апреля, 2022 пользователем evilfrog

Пишите ошибку текстом

СКД: программное формирование

Я
   mikecool

13.02.15 — 18:36

Как то пользуюсь своими старыми наработками

пишу:

Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек); //тут устанавливаются нужные параметры

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

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

по-умолчанию было:

    Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

    URLСхемы = ПоместитьВоВременноеХранилище(Макет);

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

    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы));

    КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию);

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

    УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек);

    УстановитьОтборыДляОсновнойСхемы(КомпоновщикНастроек);

чего такого я изменил, что начала валиться ошибка?

   mikecool

1 — 13.02.15 — 18:37

пробовал в по-умолчанию поменять на

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

    КомпоновщикНастроек1.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы));

    КомпоновщикНастроек1.ЗагрузитьНастройки(КомпоновщикНастроек.ПолучитьНастройки());

    Настройки = КомпоновщикНастроек1.ПолучитьНастройки();

    УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек1);

ошибка та же

   mikecool

2 — 13.02.15 — 18:40

работающий мой вариант

    СхемаКомпоновкиДанных = Обработки.Имя.ПолучитьМакет(«Подбор»);

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

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

ничего вроде бы от самого первого написанного не отличает

   mikecool

3 — 13.02.15 — 18:42

если перемещаю так:

Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек);

то ошибка валится 9 раз, выводит результат, потом выдается еще три раза

но при этом приложение продолжает работать, при ошибке в сабже — закрывалось

чего же такого я наделал?

   mikecool

4 — 13.02.15 — 18:43

если перемещаю так:

Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек);

читать как

если перемещаю так:

Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек);

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

   mikecool

5 — 13.02.15 — 18:57

ошибка связана с добавленным на полю реквизитом КомпоновщикНастроек

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

   mikecool

6 — 13.02.15 — 19:05

дальнейшее расследование привело к тому, что ошибка валится на строке

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

после чего предлагает завершить предприятие

  

mikecool

7 — 17.02.15 — 17:30

итить колотить

при формировании отчета сработало:

    Макет = Обработки.Имя.ПолучитьМакет(«Основной»);

    URLСхемы = ПоместитьВоВременноеХранилище(Макет);

    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы));

    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

    УстановитьПараметрыДляОсновнойСхемы(КомпоновщикНастроек);

о сколько нам открытий чудных готовит Нуралиев дух )

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

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

Ошибка связана с динамическими списками.

Данная ошибка наблюдается при использовании режима работы «низкой скорости соединения».

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

Здравствуйте. В модуле формы в процедуре ПриСозданииНаСервере пишу: При выполнении выдается ошибка: Ошибка создания источника доступных настроек. Читала руководство разработчика — вроде пишу все правильно. В отладчике смотрю: макет получается, адрессхемы формируется. Ошибка вознивает здесь: (Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы) Смотрю в отладчике значение, пишет: Ошибка при вызове конструктора (ИсточникДоступныхНастроекКомпоновкиДанных) Может кто сталкивался и поделится опытом в каких случаях возникает такая ошибка?

У тебя ошибка здесь: (Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)

Какая? подскажите, плиз. я что-то не вижу

наверное потому, что адрес не является урл хранилища

это я понимаю. но что не так делаю, не понимаю.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

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

Вопрос

Не совсем понятно, зачем помещать во временное хранилище схему компоновки данных в одном и том же серверном вызове? Вроде бы как КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)) нормально отрабатывает. Не пойму смысл.

Ответ

Добрый день! Разработчики платформы рекомендуют для управляемых форм применять такой способ – поместить схему во временное хранилище и инициализировать источник доступных настроек полученным адресом:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)   
    СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
    АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор);   
    ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);
    КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
    КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);   
КонецПроцедуры

В противном случае может возникать непонятное поведение системы, например, в пользовательском режиме список доступных полей отбора окажется пустым. Тут дело в том, что в управляемом приложении на клиенте схема компоновки данных отсутствует. Подробнее в статье на сайте ИТС – Редактирование настроек для не основной схемы компоновки данных.

Вопрос

В моем пониманию временное хранилище – это переменная на сервере доступная по адресу и предназначена для хранения объектов доступных только на сервере или данных, которых нет смысла гонять с сервера на клиент туда-сюда, чтобы не нагружать канал и используется временное хранилище именно для межсерверных вызовов. В одном серверном вызове мы туда поместили данные, на клиент передали адрес и во втором серверном вызове по адресу используем. А так получается в одном контексте условно – переменная А = 1, мы эту переменную помещаем в хранилище и по адресу получаем значение 1, если это значение и так доступно нам, что и вызывает недоумение. Я извиняюсь за дотошность, но либо я чего-то недопонимаю по работе временного хранилище, либо это просто надо запомнить как аксиому для Компоновщика?

Ответ

Да, это нужно запомнить. В управляемых формах нужно использовать создание источника доступных настроек именно для адреса схемы компоновки данных. Как этот нюанс объясняют разработчики платформы (https://partners.v8.1c.ru/forum/t/1245259/m/1246544):

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

Лейбович Максим (1С, Москва)

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

  • Ошибка создания источника доступных настроек компоновки данных при сохранении варианта отчета
  • Ошибка создания информационной базы удаленный хост принудительно разорвал подключение
  • Ошибка создания информационной базы сервер баз данных не обнаружен postgres
  • Ошибка создания информационной базы сервер баз данных не обнаружен 1с ms sql
  • Ошибка создания информационной базы ошибка операции администрирования сервер баз данных не обнаружен