arefaste/1C_Forums huggingface dataset:
Здравствуйте!
Прошу подсказать примеры и алгоритмы разложения json в дерево (преобразование)

Спасибо за ответ!
---
Либо рекурсивным парсингом текста JSON, либо преобразование модели DOM.

```1c
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(ТекстJSON);
    ПостроительDOM = Новый ПостроительDOM;
    ДеревоDOM = ПостроительDOM.Прочитать(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
```

ДеревоDOM - это уже готовая иерархическая структура, даже анализировать не надо. Осталось только рекурсивно перегнать её в дерево значений.

Хотя я не понимаю, зачем тут дерево, тут правильнее структурами и массивами работать.
---
Например вот так: http://forum.infostart.ru/forum9/topic191497/message2225768/#message2225768
---
Либо рекурсивным парсингом текста JSON, либо преобразование модели DOM.

```1c
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(ТекстJSON);
    ПостроительDOM = Новый ПостроительDOM;
    ДеревоDOM = ПостроительDOM.Прочитать(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
```

ДеревоDOM - это уже готовая иерархическая структура, даже анализировать не надо. Осталось только рекурсивно перегнать её в дерево значений.

Хотя я не понимаю, зачем тут дерево, тут правильнее структурами и массивами работать.
---
Какого JSON и в какое дерево? Если у вас в JSON дерево, то при правильном чтении будет дерево, если на входе не дерево, то дерево строить в ручную.

ПрочитатьJSON(), ФабрикаXDTO.ПрочитатьJSON()
---
Изначально дерево в JSON записать нельзя. Вернее, записать-то он его может и запишет в каком-то виде, но обратно не прочитает.

Вот ЗаписатьJSON() глобального контекста:
В формате JSON допускается записывать только значения следующих типов:
Строка,
Число,
Булево,
Дата (преобразованная в строку),
Массив,
ФиксированныйМассив,
Структура,
ФиксированнаяСтруктура,
Соответствие,
ФиксированноеСоответствие.
Вот записатьJSON() сериализатора:
В JSON могут быть записаны значения следующих типов: Неопределено, Null, Булево, Число, Строка, Дата, Тип, УникальныйИдентификатор, ДвоичныеДанные, ХранилищеЗначения, ОписаниеТипов, а также ссылки объектов данных и сами объекты данных, наборы записей регистров, менеджер значения константы. В дальнейшем список может пополняться.

На своем опыте нарывался буквально месяц назад - не работает JSON с деревьями. Поэтому я деревья в XML пишу.
---
Дерево в JSON подразумевает собой массив структур в котором есть признак "ЭтоГруппа", а у группы уже есть массив внутри и так далее. В чистом виде, вы правы, он ничего не запишет
---
Ну да, я подразумеваю, что автор имеет ввиду дерево значений, а не иерархию массивов и структур, конечно же.
---
Сообщение было скрыто модератором.
Нужно в план счетов типовой БП 3.0 добавить несколько новых счетов и субсчетов к типовым счетам. Как это лучше сделать, чтобы потом не было проблем с обновлением?
---
Сразу НЕСКОЛЬКО? Это пугает. Частенько это говорит о некомпетентности главбуха...
---
это делается в режиме предприятия... к обновлениям отношения не имеет
---
Сразу НЕСКОЛЬКО? Это пугает. Частенько это говорит о некомпетентности главбуха...
---
А расширение в таких случаях используют?
---
Так или иначе возможны проблемы при обновлении. Лучше добавить как обычные элементы (ни кто не даст гарантии, что в будущем в вендор не добавить такие же счета, с таким же кодом) в основной конфе как предопределенные. Из моей практики, добавлять новые объекты (справочники, регистры, предопределенные) лучше в основной конфе, чем через расширение. Если принципиально оставить конфу на замке (точнее, когда не включена возможность изменений, при этом все замки могут висеть). То добавить их в пользовательском режиме. Через расширение нельзя предопределенные добавить.
---
Я правильно понимаю, что лучше добавить как предопределенные, так как при добавлении такого же счета вендором он объединится с добавленным. А если добавить в пользовательском режиме, то он задвоится?
---
Счет в любом случае задвоится.
---
Меньше проблем будет, если добавить в пользовательском режиме. Если вендор добавить такой же счет у себя, так меньше танцев с бубном будет. Нужно будет ссылки заменять. Т.е. Ваш счет на счет вендера. А Ваш потом в "расход".
---
опыт показывает, что вендор редко добавляет предопределенные счета)))
смело добавляйте в режиме Предприятие.
---
Сообщение было скрыто модератором.
Такой вопрос. Надо сравнить две разные формы элемента справочника и посмотреть их отличие. Формы в одной конфе.
Есть ли какой то удобный способ это сделать? Да и в обще какие способы есть?

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

Правда я надеялся есть какая - то стандартная функция платформы об которой я не знаю
---
выгрузить в XML и сравнить любым diff'ом.
---
Можно сохранить формы в 2 разные внешние обработки. В конфигураторе : Файл-сравнить файлы, выбрать эти обработки. Главное, чтоб назывались одинаково
---
Как сохранить форму документа в 2 разные внешние обработки?
---
Ctrl-C + Ctrl-V...
---
или воспользоваться V8Reader https://infostart.ru/public/106310/
---
а есть ли такая штука на УФ
Всем доброго времени суток.
На обычной форме есть табличное поле с типом значения "Дерево значений". В процедуре "ПриВыводеСтроки" пытаюсь отформатировать шрифт строки в зависимости от типа значения в колонке. Код:

```1c
    Процедура НоменклатураДЗПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если Тип(ОформлениеСтроки.ДанныеСтроки.Номенклатура) = Тип("СправочникСсылка.НоменклатурныеГруппы") ИЛИ ОформлениеСтроки.ДанныеСтроки.Номенклатура = Null Тогда
    ОформлениеСтроки.Шрифт = Новый Шрифт(ОформлениеСтроки.Шрифт, , , истина);
    Иначе

    КонецЕсли;
    КонецПроцедуры
```

Программа выдаёт ошибку:
"{Документ.SaПланированиеПродаж.Форма.ФормаДокумента.Форма(440)}: Тип не определен (Горячее копчение)
 Если Тип(ОформлениеСтроки.ДанныеСтроки.Номенклатура) = Тип("СправочникСсылка.НоменклатурныеГруппы") Тогда"

Хотя в табло при отладке Тип виден. В чём может быть ошибка?
---
ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Номенклатура) = Тип("СправочникСсылка.НоменклатурныеГруппы")
---
ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Номенклатура) = Тип("СправочникСсылка.НоменклатурныеГруппы")
---
Понял, спасибо.
Всё на сегодня нужно заканчивать, глаз замылился. Уже пол часа в эту строчку смотрю и не вижу. ))
---
типзнч
В расширении конфигурации КА 2.4 (последний релиз) хочу для справочника "Партнеры" установить Вид иерархии - Иерархия групп и элементов (вместо иерархии элементов). При сохранении изменений выскакивает предупреждение (см. вложение) - "Значение контролируемого свойства ВидИерархии у объекта Справочник.Партнеры не совпадает со значением в расширяемой конфигурации". И предлагает варианты действий: "Установить значения из объекта конфигурации", "Отключить проверку значения" и "Удалить объект".
Вопрос. Если я отключу проверку, то какими последствиями это мне грозит? И проверка отключиться только для ВидИерархии спр.Партнеры? Или для всех объектов конфы?
---
Вид иерархии не переопределяется в расширении, во всяком случае пока.
Если Вы отключите проверку, то у Вас просто снимется установленный флаг. Визуально свойства, которые переопределяются, отмечаются изображением оранжевого пазла, а не флажком:
---
Вид иерархии не переопределяется в расширении, во всяком случае пока.
Если Вы отключите проверку, то у Вас просто снимется установленный флаг. Визуально свойства, которые переопределяются, отмечаются изображением оранжевого пазла, а не флажком:
---
Попробую проверить чуть позже, что будет, если проверку отключить. Будет ли переопределяться иерархия.
---
(3) Также возможность переопределения в расширении можно отследить по подсказке при наведении на пустой флаг свойства -
"Не проверять значение"/"Не изменять значение" при подключении расширения.
---
Ну это интересно, в скольких местах в программе нет проверки на группу. Стремноватое "небольшое изменение", сдается мне.
---
В чем практический смысл иерархии для справочника Партнеры? Это справочник практически служебный, играет больше аналитическую роль, чем прикладную. Реальные пользователи его почти не используют, в отличие от справочника Контрагентов.
---
при работе с сетями как раз наоборот, все магазины оформляются как партнеры, а юрлицо одно.
---
Ну расскажите мне, как вы используете одного контрагента (юрлицо) сразу для нескольких партнеров (магазинов).
---
Тыц
---
Тут такие ссылки не разрешены. Кинь в личку.
---
Спасибо, Почитал! Весьма пользительно! Признаюсь, я относился с сарказмом к вашему утверждению. Вижу, что был не прав. Сорян, бро!
---
Тут смысл не в партнерах (хотелка клиента), а в ситуации. Вопрос задаю с целью обучения. Может кто разбирался с данным вопросом.
---
Нужно, наверное, сказать, что вопрос по-сути и не в справочнике Партнеры, а в ситуации - можно ли в расширении отключать такого рода проверки? И чем еще, кроме того, что при обновлении будет на расширение ругаться( возможно, отваливаться будет расширение), это грозит?
---
Отключив проверку, программа не даст вам поменять значение этого свойства - и, видимо, сбросит его на типовое значение.
---
Сначала не давала, писала что в режиме совместимости 8.3.14 нельзя такое делать
---
Потом разрешила, но возможность создавать папки в справочнике Парнеры все равно не появилась(((
---
Сообщение было скрыто модератором.
Есть обработка, в ней я делал прицел на создание документов, путем копипаста.
На форме выведен Табличный документ, в него Копипастом вставляется товар и количество(строки), далее данные переводятся в ТалицуЗначений ну а дальше все по классике.

Так вот теперь вопрос, как мне перезаполнять количество в строках которые были найдены в уже созданном документе, а если строки небыли найдены, то добавить строки в документ.... Устал продумывать логику. скорее всего думаю не в верном ключе)

PS речь о документе пересчета. КОнфа УТ 11.3 УФ
---
Если копипастится вся ТЧ, то просто очистить и заполнить по новой, если копипастится в "довесок", то тут вопрос, могут ли повторятся строки с товаром, если нет (не должно быть) повторяющихся товаров, то легко можно найти примерно так:

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

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

тут нет как у типовых ссылки
---
может быть нет, потому, что её нужно добавить ? в дереве метаданных, у общей команды подкрутить Тип параметра команды - добавить свой документ
---
+1
---
спасибо понял все но решил добавить так

&НаКлиенте
Процедура СтруктурыПодчиненности(Команда)
 ОткрытьФорму("ОбщаяФорма.ФормаСтруктурыПодчиненности", Новый Структура("ДокументСсылка", Объект.Ссылка),, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ОтчетПоДвижениям(Команда)
 ОткрытьФорму("Отчет.ДвиженияДокумента.Форма", Новый Структура("Документ", Объект.Ссылка), , Истина);
КонецПроцедуры
---
так то оно сработает, можно хоть отчет на скд выводить в виде движений. Просто таким способом поддерживается однородность решения, и если разработчик видит кнопку "ДтКт" в вашем документе, то будет думать, что она работает так же как и в других документах.
---
Сообщение было скрыто модератором.
Добрый день (хотя у нас уже вечер :) ), коллеги!

Есть реквизит МойТекст, с типом строка. Он выведен на форму с видом "Поле форматированного документа". Пользователь в нем пишет красивый текст при помощи стандартного редактора - всё ок. Задача программно вставлять в этот текст некие значения (определенные данные из справочника). На обычном тексте мы делаем это следующим кодом:

```1c
    МойТекст = МойТекст+" то что мы хотим вставить ";
```

Здесь при выполнении такого кода просто происходит затирание написанного текста т.е. поле становится пустым!

Глупый вопрос, но как всё же сделать вставку в текст форматированного документа?!
---
Потому что форматированный документ - это не текст. Форматированный документ - это иерархическая коллекция. Образно говоря - это дерево. Не поленитесь, поищите в синтакс-помощнике.

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

Схематично это выглядит так (без контроля типов элементов):

```1c
    ПоследнийПараграф = ФорматированныйДокумент.Элементы[ФорматированныйДокумент.Элементы.Количество() - 1];
    ПоследнийФрагмент = ПоследнийПараграф.Элементы[ПоследнийПараграф.Элементы.Количество() - 1];
    ПоследнийФрагмент.Текст = ПоследнийФрагмент.Текст + ВАШТЕКСТ;
```
---
Потому что форматированный документ - это не текст. Форматированный документ - это иерархическая коллекция. Образно говоря - это дерево. Не поленитесь, поищите в синтакс-помощнике.

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

Схематично это выглядит так (без контроля типов элементов):

```1c
    ПоследнийПараграф = ФорматированныйДокумент.Элементы[ФорматированныйДокумент.Элементы.Количество() - 1];
    ПоследнийФрагмент = ПоследнийПараграф.Элементы[ПоследнийПараграф.Элементы.Количество() - 1];
    ПоследнийФрагмент.Текст = ПоследнийФрагмент.Текст + ВАШТЕКСТ;
```
---
Ок, спасибо большое, будем пробовать!
Добрый день!
Надо в списке убрать группы.
Делаю так

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

Но почему то отображаются и группы. Я так понимаю потому что выбран режим просмотра в предприятии - иерархический список. Я в самом списке выбираю Отображение таблицы в форме - список. Тоже не помогает. Как можно сделать, чтобы по умолчанию был список без групп?
---
Вообщем получилось сделать в процедуре при открытии устанавливать Элементы.Список.Отображение = ОтображениеТаблицы.Список
---
может в запросе добавить условие "Где НЕ ЭтоГруппа" и не делать отбор?
---
Попробовала, так тоже самое выводит. Если ставишь - список, то ок. А если иерархический, то группы все равно выводит.
---
Вообщем получилось сделать в процедуре при открытии устанавливать Элементы.Список.Отображение = ОтображениеТаблицы.Список
---
Сообщение было скрыто модератором.
Уважаемые! Необходимо устанавливать значение для любой НОВОЙ записи регистра.

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

В какой-то момент было в конфигураторе добавлено измерение ДатаЗаписиВРегистр.

Чтобы не сломался старый код, который написан уже много где и чтобы не искать все обработки по этому регистру, было принято решение использовать модуль набора записи предопределенная процедура ПриЗаписи. Который будет заполнять новыезаписи поле ДатаЗаписиВРегистр всегда текущей датой.

```1c
    Процедура ПриЗаписи(Отказ, Замещение)

    Для каждого Запись Из ЭтотОбъект Цикл
    Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
    Запись.ДатаЗаписиВРегистр = ТекущаяДата();
    КонецЕсли;
    КонецЦикла;

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

Но увы и ах, данная конструкция не работает.

{ОбщийМодуль.Тест.Модуль(1948)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля не соответствует установленному отбору: ОтправленныеСообщения: 29.03.2017 15:50:09, , +71111111, Прием , , 29.03.2017 15:50:09 (Регистр сведений: Отправленные сообщения; Поле: ДатаЗаписиВРегистр)

Подскажите где ошибка?
---
Забыл написать что в ПередЗаписью была таже самая ошибка.

Ответ как нужно сделать: Переопределить отбор.

```1c
    Процедура ПередЗаписью(Отказ, Замещение)

    Для каждого Запись Из ЭтотОбъект Цикл
    Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
    ТекДата = ТекущаяДата();
    Отбор.ДатаЗаписиВРегистр.Значение = ТекДата;
    Запись.ДатаЗаписиВРегистр = ТекДата;
    КонецЕсли;
    КонецЦи
    кла;

    КонецПроцедуры
```
---
При записи регистра система пытается контролировать состав передаваемых Измерений. Попробуйте для начала переместить ДатаЗаписиВРегистр из измерений в реквизиты.
---
Это новое измерение нужно для гарантии уникальных измерений по записям, так как другие могут быть все равны.
---
Тогда Вы грубо нарушаете порядок работы.
Все данные дополняются ПередЗаписью. ПриЗаписи уже поздно. :-)
---
А почему ПриЗаписи, а не ПередЗаписью ?
---
Забыл написать что в ПередЗаписью была таже самая ошибка.

Ответ как нужно сделать: Переопределить отбор.

```1c
    Процедура ПередЗаписью(Отказ, Замещение)

    Для каждого Запись Из ЭтотОбъект Цикл
    Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
    ТекДата = ТекущаяДата();
    Отбор.ДатаЗаписиВРегистр.Значение = ТекДата;
    Запись.ДатаЗаписиВРегистр = ТекДата;
    КонецЕсли;
    КонецЦи
    кла;

    КонецПроцедуры
```
---
Нашли причину? такая же проблема.
---
Добрый вечер уважаемые.у меня проблемка я не программист 1с, но мне нужно срочно оформить документ но выходит ошибка.
Ошибка при вызове метода контекста.
Подскажите пожалуйста как это исправить🙏🙏🙏
---
Давай-ка я угадаю...
Всем добрый день! Имеется самописная конфигурация, в которую внедрена Библиотека подключаемого оборудования, стоит задача ее обновить до последней версии, в файле Порядок внедрения и обновления БПО написано, что для обновления сделать следующее: "1.Выполните обновление конфигурации - "Конфигурация -> Поддержка -> Обновить конфигурацию", и выберите целевой файл для обновления." Но при выборе файла cf выходит сообщение, что Файл не содержит доступных обновлений.
Получается через сравнение/объединение обновлять БПО? кто-нибудь с таким сталкивался?
---
Тогда нет никакого смысла заходить в меню "Конфигурация" - "Поддержка", раз никакой поддержки нет.
---
А БПО внедрена как конфигурация поставщика? С постановкой на поддержку?
---
Нет, постановки на поддержку нет
---
Тогда нет никакого смысла заходить в меню "Конфигурация" - "Поддержка", раз никакой поддержки нет.
---
Действительно, спасибо!
---
Обновлять теперь - да, через сравнение-объединение с cf.
Найди версию, с которой происходило внедрение, сравни с рабочей и определи список измененных объектов и характер внесенных изменений. Соответственно все остальные объекты можно из нового cf накатывать относительно смело, а над измененными много думать, чтобы ничего не сломалось. Как один из вариантов - накатить и поверх повторно сделать нужные изменения.
Ну и копии/бэкапы не забываем.
Почему-то возникает вот такая ошибка при синхронизации, но самой ошибки нет в журнале. Почему так может быть?
---
Светлана Владимировна, правильно подсказала, у Вас 174 предупреждения, их надо все исправить после этого будет всё четко работать.
Исправлять можете на стороне базы источника, либо на стороне приемника, если на стороне приемника, тогда надо сделать пропустить или что то в таком роде.
Кликните на предупреждения, приложите скриншот, тогда подробнее будет информация
---
Как вариант данные у вас уже были приняты. Новых данных нет.
---
Светлана Владимировна, правильно подсказала, у Вас 174 предупреждения, их надо все исправить после этого будет всё четко работать.
Исправлять можете на стороне базы источника, либо на стороне приемника, если на стороне приемника, тогда надо сделать пропустить или что то в таком роде.
Кликните на предупреждения, приложите скриншот, тогда подробнее будет информация
---
у меня вчера так же было. в ЖР не было подробности об ошибке, только в Предупреждениях.
когда убрала предупреждения-синхронизация закончилась успешно. не сопоставлялся орган регистрации
Доброго всем дня.
В СКД в запросе использую параметр ТекДата, на вкладке Параметры в поле Выражение пишу ТекущаяДата(). Отчёт даже не открывается, пишет "значение не является значением объектного типа (ДоступныеЗначения)". Что это? 1С сломала выражения для параметров СКД на управляемых формах?
---
Всем спасибо, выяснилось, что я когда копировал отчёт, не посмотрел что там в форме ПриОткрытии написано обращение к одному из параметров, которых в новом отчёте нет. Блин, плохо когда ошибка такая неинформативная, непонятно, на какое поле ругается.
---
какая версия платформы ?
у меня на 8.3.14.1694 работает
---
Пишем в выражении. Не в доступных значениях.
---
как и написали в (3):
"значение не является значением объектного типа (ДоступныеЗначения)"
---
Я умею читать. Только в этом поле ничего нет. Поэтому и спрашиваю.
---
Ну, так ругается на "Доступные значения", поле которых есть не только на вкладке "Параметры", но и на первой вкладке, "Наборы данных", если параметр используется как поле.
Из-за того, что не было предоставлено ни скринов, ни самого отчета, непонятно, что в отчете заполнено правильно, а что нет.
Еще возможно, сломались настройки сохраненного варианта, можно попробовать сбросить на по умолчанию.
Как заметили в (2) указанное выражение работает, в том числе и на 8.3.16.1296 (проверено мной).
Для самостоятельной проверки повторения проблемы достаточно создать пустой отчет с единственным параметром, и проверить его (отчета) открытием.
---
Я вроде русским языком написал - "пишу в поле Выражение"
---
ТекущаяДатаСеанса() не подойдёт?
И еще момент - может ДоступныеЗначения поломались? Список с пустыми или битыми значениями, например.
---
Всем спасибо, выяснилось, что я когда копировал отчёт, не посмотрел что там в форме ПриОткрытии написано обращение к одному из параметров, которых в новом отчёте нет. Блин, плохо когда ошибка такая неинформативная, непонятно, на какое поле ругается.
---
Если ошибка возникала в обработчике события ПриОткрытии(), то все там должно быть информативно. Нужно было всего лишь, нажать кнопку "Подробно" и скопировать весь текст от туда сюда в тему при составлении своего вопроса. Там должен был быть и кусок кода, и название модуля, и номер стоки в нем.
А так это ваш вопрос абсолютно не информативен: ни полного текста ошибки, ни скринов, ни отчета.
---
Сообщение было скрыто модератором.