arefaste/1C_Forums huggingface dataset:
Доброго времени суток. Пытаюсь сделать парсинг сайта по статье https://infostart.ru/1c/articles/1269023/, но столкнулся с проблемой (Метод объекта не обнаружен (querySelector)). Подскажите, пожалуйста, как можно получить доступные методы объекта?
```1c
    &НаКлиенте
    Функция ВыполнитьПарсингДанных()

    ДанныеБылиПолучены = Ложь;
    document = Элементы.ВебСтраница;

    queryResult = document.querySelector("body > div:nth-child(3) > div:nth-child(7) > div.layout.layout_type_search.i-bem > div > div:nth-child(1) > div > div > div");
```
---
Поменяй вид поля на форме
---
У автора
```1c
    document = Элементы.ВебСтраница.Документ;
```
---
Ошибку выдавало: Элементы.ВебСтраница.документ{<Неизвестный модуль>(1)}: Поле объекта не обнаружено (документ).
---
Поменяй вид поля на форме
---
спасибо!
---
Спасибо!
На форме динамический список, который выводит номенклатуру с остатками.
Нужно устанавливать отбор по складам через список значений на форме, и чтобы юзеры не могли через настройки отбора менять состав складов.
Есть такая процедура но вылетает ошибка о не соответствии типов.
Подскажите что не так?
Список значений содержит элементы типа СправочникСсылка.Склады.
С помощью ручных настроек отбор работает.

```1c
    &НаСервере
    Процедура УстановитьФиксированныйОтборПоВыбраннымСкладам(МассивСданнымиДляОтбора)
    ЭлементыОтбораКД = СписокПодбор.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы;
    ЭлементыОтбораКД.Очистить();

    ЭлементОтбораКД = ЭлементыОтбораКД.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбораКД.Использование = Истина;
    ЭлементОтбораКД.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");
    ЭлементОтбораКД.ВидСравнения = ВидСравнения.ВСписке;
    ЭлементОтбораКД.ПравоеЗначение = Объект.СписокСкладов;
    КонецПроцедуры
```

Если так нельзя установить отбор, то как быть в моем случае? Можно ли как то запретить менять отбор связанный со складами?
---
СписокЗначений.

Нашел ошибку. Был невнимателен.

ЭлементОтбораКД.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ,
я использовал ВидСравнения
---
Объект.СписокСкладов какого типа?
---
СписокЗначений.

Нашел ошибку. Был невнимателен.

ЭлементОтбораКД.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ,
я использовал ВидСравнения
Добрый день форумчане.
Вопрос звучит следующим образом
Необходимо импортировать из модуля объекта ТЗ в СКД.
Подковырка заключается в том, что параметром пользователь заполняет список значений.
По элементам этого СЗ нужно сделать соединение с запросом и вывести эти связи в последовательности элементов в СЗ.

*НД - набор данных*

Пример:
Номенклатура(НД - запрос)
ТипЦеныНоменклатуры(НД - объект)

Входные данные номенклатуры:
Гвозди
Изолента
Мешки

Входные данные ТипЦеныНоменклатуры:
Розница
Опт

Необходимый результат
Гвозди Розница
Гвозди Опт
Изолента Розница
Изолента Опт
Мешки Розница
Мешки Опт

Все типично делаю как из найденных статей.

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Тип");

    СписокЦен = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение;
    Для Каждого Парам Из СписокЦен Цикл
    СтрокаТЗ = ТЗ.Добавить();
    СтрокаТЗ.Тип = Парам.Значение;
    КонецЦикла;

    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("ТаблицаТипы",ТЗ);

    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

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

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

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

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

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

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

В СКД создал НД - объект и НД - запрос.

В НД - запрос сделал выборку Номенклатуры и тип цены
В НД - объект дал имя и поле идентичные модулю объекта
Заполнил связь НД на соответствующей вкладке (источник НД - объект, приемник НД - запрос)
Результат на скриншоте
---
СКД - Сортировка: Тип (НД объект) + ТипЦен
---
СКД - Сортировка: Тип (НД объект) + ТипЦен
---
Можете показать что у вас в макете основной схемы компоновки данных?
Здравствуйте. Есть справочник. В нем форма списка формируется динамически произвольным запросом. Стояла задача добавить возможность менять значение в строках списка (Занято\Свободно).Реквизит добавил. Нажатие на форме перехватил, значение меняется только в одну сторону, а обратно никак. Проблема наверняка ерундовая, но не врублюсь никак. Помогите пожалуйста начинающему.
---
Для того, чтобы поменялось, попробуй обновить форму (или динамический список).

.Прочитать()

или

.обновить()

или

.ОбновитьОтображениеДанных();

https://helpf.pro/faq/view/1658.html
---
Прикладывайте код к своему вопросу, а то тут гадание на кофейной гуще получится.
---
СтандартнаяОбработка = Ложь;
 Ссылка = Элементы.Список.ТекущаяСтрока;
 ТекущиеДанные = Элементы.Список.ТекущиеДанные;

 Если Элементы.Список.ТекущийЭлемент.Имя = "Состояние" Тогда
  ТекущиеДанные.Состояние= Истина;
    Возврат;
   Если ТекущиеДанные.Состояние = Истина Тогда
    ТекущиеДанные.Состояние = Ложь;
    Возврат;
 КонецЕсли;
КонецЕсли;
---
Причем значения меняются, а отображение на форме нет.
---
Для того, чтобы поменялось, попробуй обновить форму (или динамический список).

.Прочитать()

или

.обновить()

или

.ОбновитьОтображениеДанных();

https://helpf.pro/faq/view/1658.html
---
```1c
    Если Элементы.Список.ТекущийЭлемент.Имя = "Состояние" Тогда
    ТекущиеДанные.Состояние= Истина;
    Возврат;
    Если ТекущиеДанные.Состояние = Истина Тогда
    ТекущиеДанные.Состояние = Ложь;
    Возврат;
    КонецЕсли;
    КонецЕсли;
```

код конечно атас. По-моему он всегда меняет состояние на Истина, больше просто ничего не делает.
Всем привет. Скопировал материальный отчет из типовой "Бухгалтерии строительной организации". Хочу его доработать под нужды клиента. Пытаюсь убрать ненужные колонки на закладке "выбранные поля":
---
покликайте по остальным группировкам. Может там отдельно выведены поля
---
Хоть галочки убираю, хоть удаляю вообще, что на уровне отчета, что на уровне "детальных записей". Программа не реагирует, все ровно выводится первоначальный вариант.
---
Ненужные колонки пропали лишь когда я удалил их из запроса на закладке "объединения/псевдонимы":
---
Почему так происходит, никто навскидку не скажет, в чем может быть причина?
---
Смотри программную обработку отчета в модуле объекта.
---
Там только это:
---
покликайте по остальным группировкам. Может там отдельно выведены поля
---
Да, там тоже поля были, спасибо большое.
Мне при добавлении некоторых областей надо цвет текста менять, вот код

```1c
    КолДней = (ДК - ДН) / 24/60/60;

    Об.Параметры.Площадка = М;
    Об.Параметры.Дней = КолДней;
    Об.Параметры.С = Формат(ДН,"ДФ=dd.MM.yyyy");
    Об.Параметры.По = Формат(Дк,"ДФ=dd.MM.yyyy");

    Если КолДней >= ЭтаФорма.МаксимальнаяДлительностьПоездки Тогда
    Об.Область("R1C3").ЦветТекста = Webцвета.Красный
    КонецЕсли;

    Если Первая Тогда
    Первая=Ложь;
    ТД.Вывести(Об);
    Иначе
    ТД.Присоединить(Об)
    КонецЕсли;
```

Цвет в итоге как был черный так и остается.
Можно ли у области цвета задавать? а не у самого таб дока
у меня 1С 8.2
---
вот как надо было

```1c
    Если КолДней >= ЭтаФорма.МаксимальнаяДлительностьПоездки Тогда
    Об.Область("R1C1:R3C3").ЦветТекста = Webцвета.Красный
    Иначе
    Об.Область("R1C1:R3C3").ЦветТекста = Webцвета.Черный
    КонецЕсли;
```
---
можно чутка проще:

```1c
    Если КолДней >= ЭтаФорма.МаксимальнаяДлительностьПоездки Тогда
    Об.Область(1,1,3,3).ЦветТекста = Webцвета.Красный
    Иначе
    Об.Область(1,1,3,3).ЦветТекста = Webцвета.Черный
    КонецЕсли;
```
---
а в условие отладка заходит? Об - это область ТД?
---
Заходит гарантировано
---
можно чутка проще:

```1c
    Если КолДней >= ЭтаФорма.МаксимальнаяДлительностьПоездки Тогда
    Об.Область(1,1,3,3).ЦветТекста = Webцвета.Красный
    Иначе
    Об.Область(1,1,3,3).ЦветТекста = Webцвета.Черный
    КонецЕсли;
```
---
Я почти так в начале пробовал, только у меня было
Об.Область(1,3,1,3).ЦветТекста
потом уже экспериментировать стал.
---
зависит от того, в каких именно ячейках нужно менять цвет текста:

Об.Область(1,3,1,3) - это первая строка, 3-я колонка внутри области "Об"
Об.Область(1,1,3,3) - это строки 1-3, колонки 1-3 внутри область "Об"
---
Об.ЦветТекста = Webцвета.Красный;
---
вот как надо было

```1c
    Если КолДней >= ЭтаФорма.МаксимальнаяДлительностьПоездки Тогда
    Об.Область("R1C1:R3C3").ЦветТекста = Webцвета.Красный
    Иначе
    Об.Область("R1C1:R3C3").ЦветТекста = Webцвета.Черный
    КонецЕсли;
```
Суть задачи:
Нужно иметь html страницу на сервере, где будет поле ввода штрихкода вручную или камерой смартфона.
При обработке штрихкода нужно вытянуть цену на товар по штрихкоду с выводом на страницу.
Я так понимаю нужно через http сервис. Но как реализовать это на стороне браузера? Буду благодарен за пояснение и информацию.
Конфигурация на обычных формах.
---
Я так понимаю нужно через http сервис. Но как реализовать это на стороне браузера? Буду благодарен за пояснение и информацию.
Конфигурация на обычных формах.
Ну формы - вообще тут ни при чем.

Как создать http/web-сервис - тут вариантов ровно два. Да, с HTTP из браузера работать проще.

Что в браузере? Ну проще всего заюзать какое-нить vue.js - это фронтовый фреймворк, который достаточно прост и после которого можно вполне разобраться с React, а это хорошо для дальнейшего погружения во тьму (скоро узнаете, если будете следить за новостями на этом сайте).

https://ru.vuejs.org/v2/cookbook/using-axios-to-consume-apis.html
---
Но как реализовать это на стороне браузера? Вариант:
1. Опубликовать базу на WEB-сервере
2. При подключении определенного пользователя (группы пользователей) сразу открывать заданную обработку, которая и будет реализовывать описанный функционал.
3. При закрытии обработки - выходить из базы.
---
В таком случае нужна доп лицензия
---
В таком случае нужна доп лицензия А вам точно известно, что у автора ее нет?

P.S. Только сейчас заметил, что конфигурация на обычных формах. Или автор изменил свое сообщение?

Впрочем, это уже неважно - вариант из (2) снимается.
---
изменил сообщение. Уже понял что http не подойдет. Но а если через Webсервисы?
---
изменил сообщение Ну, тогда такой костыль: отдельная конфигурация на управляемых формах, которая подключается к нужной базе через COM и получает из нее данные, а дальше - см. (2)
---
Вариант 2

1. Создать небольшой сайт с БД (Open Server Panel)
2. При установке новых цен - выгрузка в БД сайта
---
Если с опубликовать базу на WEB-сервере есть проблемы, то можно организовать выгрузку прайса в каком-то формате на ftp ресурс и обращаться к этому ресурсу при получении цен
---
Я так понимаю нужно через http сервис. Но как реализовать это на стороне браузера? Буду благодарен за пояснение и информацию.
Конфигурация на обычных формах.
Ну формы - вообще тут ни при чем.

Как создать http/web-сервис - тут вариантов ровно два. Да, с HTTP из браузера работать проще.

Что в браузере? Ну проще всего заюзать какое-нить vue.js - это фронтовый фреймворк, который достаточно прост и после которого можно вполне разобраться с React, а это хорошо для дальнейшего погружения во тьму (скоро узнаете, если будете следить за новостями на этом сайте).

https://ru.vuejs.org/v2/cookbook/using-axios-to-consume-apis.html
---
а что вы уже пробовали реализовать? или ждете готовое решение ? на php достаточно просто накидать скрипт который будет возвращать цену товара
Коллеги, добрый день.
На форме таблица Динамический список документов, хочу что бы при подсвечивании документа в отдельной таблице в той же форме выводилась табличная часть подсвеченного документа.
Сейчас такое сделал - но платформа ругается на

```1c
    Основная таблица динамического списка задана неверно.
```

PS Хочется сделать через ДС а не через получения таблицы и запихивание ее в ТЗ на формы и прочие объекты.
---
Велосипед изобретаете. Ваша задача решается вообще без кода. Аналогичный топик https://forum.infostart.ru/forum9/topic275160/
---
уберите основную таблицу вообще.
---
Получилось) Спасибо.
а чем смысл поля - основная таблица?
---
Велосипед изобретаете. Ваша задача решается вообще без кода. Аналогичный топик https://forum.infostart.ru/forum9/topic275160/
---
Спасибо добрый человек!.
Все получилось.
Ребят подскажите как из выделенных строк получить ссылки и обработать циклом
Сейчас использую метод
```1c
    Элементы.Список.ТекущаяСтрока;
```

Получаю ссылку и делаю свои операции а как обработать несколько выделенных строк, увидел метод Элементы.Список.ВыделенныеСтроки, но получаю какую то чушь
Пример кода

```1c
    СтатусВерификации = ПредопределенноеЗначение("Перечисление.СтатусыВерификации.НаВерификации");
    Верификация.ИзменитьСтатусВерификации(Элементы.Список.ТекущаяСтрока, СтатусВерификации);
    Строка = Элементы.Список.ТекущаяСтрока;
    Объект = Строка.Ссылка.ПолучитьОбъект();
    Объект .Записать();
    Сообщить("Объект отправлен на верификацию");
```
---
А так

 Для Каждого ВыделеннаяСтрока Из Элементы.Список.ВыделенныеСтроки Цикл

  ТекущиеДанные = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
      КонецЦикла;
---
Для Каждого ИДСтроки Из Элементы.Список.ВыделенныеСтроки Цикл
 ТекСтрока = Объект.Список.НайтиПоИдентификатору(ИДСтроки);
КонецЦикла;
---
Не катит
---
А так

 Для Каждого ВыделеннаяСтрока Из Элементы.Список.ВыделенныеСтроки Цикл

  ТекущиеДанные = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
      КонецЦикла;
---
ТекущиеДанные = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
Я так понимаю это клиентский метод?
---
Да
---
Спасибо, так всё работает))
---
Катит, еще как.
Пытаюсь в своём сделать не получается,
что сделал: также как и в типовом документе создал группу "ТоварыУпаковкаЕдиницаИзмерения" туда включил два поля "ТоварыУпаковка" путь к данным "Объект.Товары.Упаковка" и "ТоварыНоменклатураЕдиницаИзмерения" путь к данным "Объект.Товары.Номенклатура.ЕдиницаИзмерения"

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

На картинке пример "кор"- это то что я выбрал, "упак" - это то что берется из "Объект.Товары.Номенклатура.ЕдиницаИзмерения"

в типовом же документе "Упак" невидно если "кор" выбрано
---
все нашел спасибо
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтаФорма);
---
все нашел спасибо
НоменклатураСервер.УстановитьУсловноеОформлениеЕдиницИзмерения(ЭтаФорма);
Здравствуйте! Требуется при выполнении задачи "Согласовать" при нажатии кнопки "Согласовано с замечаниями" комментарий задачи записать в комментарий внутреннего документа. Проблема в том, что пользователь при перед выполнением задачи может открыть документ, а затем, не закрывая его, нажать кнопку согласования.
Возникла проблема: сам документ я могу получить только в серверной процедуре, а чтобы проверить, открыт ли этот документ, мне нужно запустить клиентскую процедуру. Как это можно сделать?
---
вот на клиенте работает

```1c
    лкФорма = ПолучитьФорму("...",лкПараметры);
    Если лкФорма.Открыта() Тогда
    лкФорма.Закрыть();
    КонецЕсли;
```
---
Вопрос в другом: как запустить эту проверку из серверной процедуры?
так любой вызов серверной процедуры начинается на клиенте (где-то, когда-то) и в нем заканчивается (кроме регламентов, но речь не о них)
возвращайте в клиентскую процедуру признак что коммент изменился и уже на клиенте закрывайте форму
---
Допустим, вы как-то узнали открыт или нет. Что с этой информацией дальше делать в контексте сервера?
---
вот на клиенте работает

```1c
    лкФорма = ПолучитьФорму("...",лкПараметры);
    Если лкФорма.Открыта() Тогда
    лкФорма.Закрыть();
    КонецЕсли;
```
---
На клиенте работает, я согласен. Вопрос в другом: как запустить эту проверку из серверной процедуры?
---
а если документ открыт на другом компе? в другом сеансе?

возможно вам поможет попытка установки блокировки
если прошла, меняете коммент, иначе сообщаете что документ открыт другим пользователем
---
В моём случае достаточно проверки только в этом сеансе.
---
Конечно скажется на производительности обработки, но можно попробовать так:

```1c
    Попытка
    ДокументОбъект..Заблокировать();
    Исключение
    //Эта форма заблокирована, обрабатывать не нужно
    //Не согласовывать
    КонецПопытки;
```
---
Да, это скажется. Хотелось бы просто закрыть открытый документ
---
Вопрос в другом: как запустить эту проверку из серверной процедуры?
так любой вызов серверной процедуры начинается на клиенте (где-то, когда-то) и в нем заканчивается (кроме регламентов, но речь не о них)
возвращайте в клиентскую процедуру признак что коммент изменился и уже на клиенте закрывайте форму
Добрый день! Прошу подсказать как загрузить значения из таблицы значений в табличную часть документа по совпадению значений в столбце

Таблица значений:

```1c
    ТабОбщ = новый ТаблицаЗначений;
    ТабОбщ.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Посетители"));
    ТабОбщ.Колонки.Добавить("СсылкаДни", Новый ОписаниеТипов("Число"));
```

Общие колонки "Сотрудник". Заполняемая колонка ТЧ документа "ОстатокДней". Колонка из таблицы значений "СсылкаДни". Пробую через НайтиСтроки(), но какая-то ерунда в структуре получается.
---
Как то так:
Для каждого Стр из ТабОбщ Цикл
МассивСтрок = ТЧ.НайтиСтроки(Новый Структура("Сотрудник", Стр.Сотрудник));
МассивСтрок[0].ОстатокДней = Стр.СсылкаДни;
Конеццикла;
---
чем не устраивает вариант
```1c
    Объект.ТабличнаяЧасть.Загрузить(ТЗ)
```
?
---
Тем, что кроме тих столбцов там еще порядка 20 есть.
---
Обычно сам документ не дает дубликаты строк создать в ТЧ.

Для Сотрудников не уверен, но для Номенклатуры точно.
---
И для Номенклатуры не точно.
Для документа две строки с одинаковой номенклатурой или десять без разницы.

Вот установка цен номенклатуры при проведении на этот факт ругнётся (точнее регистр сведений не сможет набор записей записать).

А заказ покупателя, реализация или поступление проводятся влёт))

(4) Эх, современные программисты. Совсем байт кода ни во что не ставят((

```1c
    СтруктураПоиска = Новый Структура("Сотрудник");
    Для каждого Стр из ТабОбщ Цикл
    СтруктураПоиска.Сотрудник = Стр.Сотрудник;
    МассивСтрок = ТЧ.НайтиСтроки(СтруктураПоиска);
    Если МассивСтрок.Количество() = 1 тогда
    МассивСтрок[0].ОстатокДней = Стр.СсылкаДни;
    Иначе
    //Тут бы сообщить, что не найдено или слишком много записей найдено...
    КонецЕсли;
    Конеццикла;
```
---
и в чем сложность сделать имена колонок ТЗ = именам колонок ТЧ?

Каков смысл именно построчно обходить ТЗ, чтобы запихать ее в ТЧ?
---
ТЗ берется запросом из другой базы. Соответственно, нет возможности жестко контролировать, что именно прилетело в ТЗ. А так можно быть уверенным, что в ТЧ попадут данные только по тем сотрудникам, которые уже есть в ТЧ. Если есть другие способы - буду признателен их узнать
---
1. использовать список нужных сотрудников в качестве параметра(массив, список значений) запроса получения данных.
2. в запросе именовать поля по именам колонок ТЧ

или вы сам запрос не пишите, а используете какой-то типовой?
---
Реализовал следующее: стучусь в ЗУП с типовым запросом. Оттуда получаю сотрудников и их данные. Совмещаю по УИД с сотрудниками в своей базе (адовая самопись) и заполняю документ с этими сотрудниками. Жетско фильтровать запрос по принципу 30 человек в документе => 30 человек из ЗУП не получится - критерии отбора не реализуемы в ЗУП. Поэтому оттуда тянется не 30, а 50 человек, например.
---
святая корова.....
---
```1c
    МассивНайденных = НайтиСтроки(говый структура("Сотрудник",Значение))
```
---
Как то так:
Для каждого Стр из ТабОбщ Цикл
МассивСтрок = ТЧ.НайтиСтроки(Новый Структура("Сотрудник", Стр.Сотрудник));
МассивСтрок[0].ОстатокДней = Стр.СсылкаДни;
Конеццикла;
---
Спасибо
Добрый день.
Есть свой HTTP cервис в базе А, отдает данные в JSON, сериализатор:

Код сериализатора
```1c
    Функция Сериализовать(ОбъектСериализации)
    ДеревоВОбъектеХДТО= СериализаторXDTO.ЗаписатьXDTO(ОбъектСериализации);
    ФорматОбмена= "XMLJSON";
    //ФорматОбмена= "XML";
    Если ФорматОбмена= "XML" Тогда
    ЗаписьХМЛ=Новый ЗаписьXML;
    //ТипКодировки
    ЗаписьХМЛ.УстановитьСтроку();
    ФабрикаXDTO.ЗаписатьXML(ЗаписьХМЛ,ДеревоВОбъектеХДТО);
    СтрокаХМЛ=ЗаписьХМЛ.Закрыть();
    ИначеЕсли ФорматОбмена= "XMLJSON" Тогда
    ЗаписьXMLJSON=Новый ЗаписьJSON;
    //ТипКодировки
    ЗаписьXMLJSON.УстановитьСтроку();
    ФабрикаXDTO.ЗаписатьJSON(ЗаписьXMLJSON,ДеревоВОбъектеХДТО);
    СтрокаХМЛ=ЗаписьXMLJSON.Закрыть();
    Иначе
    ЗаписьХМЛ=Новый ЗаписьXML;
    //ТипКодировки
    ЗаписьХМЛ.УстановитьСтроку();
    ФабрикаXDTO.ЗаписатьXML(ЗаписьХМЛ,ДеревоВОбъектеХДТО);
    СтрокаХМЛ=ЗаписьХМЛ.Закрыть();

    КонецЕсли;
    Возврат СтрокаХМЛ;
    КонецФункции
```

На выходе представляет собой структуру с колонками и строками. (На скриншоте видно)

Рядом нашел десериализатор. Но при попытке разобрать JSON:
Ошибка преобразования данных XDTO:
НачалоСвойства: Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: column Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType

Подскажите, в чем дело?
Я так понимаю, он пытается получить тип column и чего-то пустого, но чего?
---
если у вас не совпадает структура типов, десериализация через ХДТО не пройдет,
просто помещайте данные в Джинсон и всякими обходами/циклами получайте обрабатывайте его данные
---
При серилализации надо установить толи тип, толи вид сериализации - Прямой или как то так, тогда десерилазиация проходит хорошо
---
https://infostart.ru/public/1467434/
---
если у вас не совпадает структура типов, десериализация через ХДТО не пройдет,
просто помещайте данные в Джинсон и всякими обходами/циклами получайте обрабатывайте его данные
Попалась задачка, вроде простая, но не смог разобраться.
М.б., кому-то покажется интересным : есть данные (1таб) ,не числовые значения, и я в СКД пробую их сгруппировать ( Склад-столбец, Номенклатура-строка, Цвет-ресурс (выражение-Цвет, рассчитывать по Склад).
Должно получиться как в Табл2, но у меня в итоге только первую строчку выдает (Табл3).
Вообще такое можно одним запросом сделать?
---
Уберите группировку по номенклатуре
---
Уберите группировку по номенклатуре
---
спасибо!))
а чтобы вот этих пустот не было как-то еще можно сгруппировать?
---
Используйте вместо Цвет вычисляемое поле
ВычислитьВыражениеСГруппировкойМассив("МАКСИМУМ(Цвет)","Склад")
Добрый день, что то не могу разобраться с таким вопросом
Есть УПП
есть две внешние печатные формы для Реализации товаров и услуг
одна, если ее делаешь по умолчанию, печатает список документов на принтер через групповую обработку справочников и документов, а вторая (также делаю по умолчанию) просто выводит в 1с печатную форму в групповой обработке а на принтер не выводит
---
Есть реквизит и переменная "НаПринтер". Можно посмотреть какое значение принимают в одном и втором случае.
---
Есть реквизит и переменная "НаПринтер". Можно посмотреть какое значение принимают в одном и втором случае.
---
Возможно в настройке стоит предварительный просмотр печатной формы.