arefaste/1C_Forums huggingface dataset:
В обработке "подбор номенклатуры в документ продажи" есть поле Поиска, хочу отключить её историю чтобы не мешала искать. Погуглил в окне свойств необходимо выключить - История выбора при вводе, но его там нет. Подскажите как отключить
---
Если бы у вас было поле ввода, тогда простое отключение галочки помогло бы(возможно можно убрать у всего справочника и это поможет, не проверял), а тут быстрый отбор, но вроде как это должно помочь:

&НаСервере
Процедура ОчиститьИстоиюВвода()

    ЭтаФорма.Элементы.СтрокаПоискаНоменклатура.СписокВыбора.Очистить();
    СпискиВыбораКлиентСервер.Сохранить("ИсторияПоискаНоменклатуры", ЭтаФорма.Элементы.СтрокаПоискаНоменклатура.СписокВыбора);

КонецПроцедуры
---
Не там ищете)
---
а я, кажется, не то читаю)
---
это всему справочнику номенклатура надо выключить?
---
Если бы у вас было поле ввода, тогда простое отключение галочки помогло бы(возможно можно убрать у всего справочника и это поможет, не проверял), а тут быстрый отбор, но вроде как это должно помочь:

&НаСервере
Процедура ОчиститьИстоиюВвода()

    ЭтаФорма.Элементы.СтрокаПоискаНоменклатура.СписокВыбора.Очистить();
    СпискиВыбораКлиентСервер.Сохранить("ИсторияПоискаНоменклатуры", ЭтаФорма.Элементы.СтрокаПоискаНоменклатура.СписокВыбора);

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

Ок. Как это лучше реализовать?
---
Ок. Как это лучше реализовать?

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

Делаю обработку в учебных целях.

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

Этот реквизит называется "Единица измерения".

При попытке записать этот реквизит появляется ошибка: "Поле объекта недоступно для записи (ЕдИзмерения)"

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

Вот код:

```1c
    &НаКлиенте
    Процедура ПроставитиьКоличество(Команда)
    УстановитьКоличество();
    КонецПроцедуры

    &НаСервере
    Процедура УстановитьКоличество()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Покупки.Ссылка
    |ИЗ
    | Документ.Покупки КАК Покупки
    |ГДЕ
    | Покупки.Комментарий = &Комментарий";

    Запрос.УстановитьПараметр("Комментарий", "Автомат");

    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл

    ОбДокумент = Выборка.Ссылка.ПолучитьОбъект();

    Для Каждого Строка Из Выборка.Ссылка.ТабличнаяЧасть4 Цикл

    //Если Строка.ЕдИзмерения = Справочники.ЕдиницыИзмерения.ПустаяСсылка() Тогда

    //Сообщить("Пусто") Иначе Сообщить(Строка.ЕдИзмерения);

    Если Строка.ЕдИзмерения = Справочники.ЕдиницыИзмерения.ПустаяСсылка() Тогда

    Строка.ЕдИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду("000000004");

    КонецЕсли;

    //КонецЕсли;

    КонецЦикла;

    Сообщить("Текущий документ " + ОбДокумент);

    //Прервать;

    ОбДокумент.Записать();

    КонецЦикла;

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

Спасибо, если знаете.
---
Урок №1, чем отличается объект от ссылки?

(1) ОбДокумент = Выборка.Ссылка.ПолучитьОбъект();

(1) Для Каждого Строка Из Выборка.Ссылка.ТабличнаяЧасть4 Цикл
---
Урок №1, чем отличается объект от ссылки?

(1) ОбДокумент = Выборка.Ссылка.ПолучитьОбъект();

(1) Для Каждого Строка Из Выборка.Ссылка.ТабличнаяЧасть4 Цикл
---
Спасибо, разобрался...

Помогло вот это сообщение: https://forum.infostart.ru/forum9/topic75851/

Исправил так:

```1c
    Для Каждого Строка Из ОбДокумент.ТабличнаяЧасть4 Цикл
```
У физлиц в базе есть типовые дополнительные реквизиты. Сделал простенький внешний отчет по физлицам на СКД и в настройках вижу эти доп. реквизиты, хотя в характеристиках их не прописывал.
Не могу найти где в типовой конфигурации связываются физлица и доп. реквизиты. Основные формы отчета и настроек в конфигурации отключил, все равно работает. Чую это происходит не программно, т.к. идентификатор ПВХ ДополнительныеРеквизитыИСведения и табличную часть ДополнительныеРеквизиты справочника я переименовывал, работает. Ни в настройках, ни в гугле больше ничего интересного не нашел. Подскажите, куда еще копать?
---
Действия-Характеристики в свойствах объекта МД
---
Закладка характеристики?
Если 8,3 конфигурации то там свойства это табличная часть самого объекта.
---
Если 8,3 конфигурации то там свойства это табличная
Закладка характеристики в конструкторе запроса СКД? Там пусто. Весь запрос: "ВЫБРАТЬ * ИЗ Справочник.ФизическиеЛица". Характеристик нет. Но где-то они привязываются.
---
Действия-Характеристики в свойствах объекта МД
---
Огромное спасибо! 4 часа поисков всем отделом и 10 минут ожидания на форуме...
при редактировании справки 1С при добавлении ссылки на объект в текст добавляется GUID объекта (справка которого потом открывается по ссылке).
Подскажите, можно ли как-нибудь получить ссылку на этот объект или метаданные этого объекта, зная этот GUID?

Это повтор темы отсюда, решение не найдено, а тема актуальна.
---
Более простых способов не знаю, но можно выгрузить конфигурацию в файлы и там есть идентификаторы объектов конфигурации, см. картинку:
А вот в файле ConfigDumpInfo.xml что лежит в корне папки в которую вы сделали выгрузку конфигурации, вообще все ID лежат, в том числе форм. Так же вам возможно стоит посмотреть в сторону EDT.
---
А первоначальная задача какая стоит?
---
программно определить битые ссылки в справке. Чтобы это сделать, нужно программно сравнить ссылку из справки

```1c
    <ТЕГA href="../idbdb8cee4-1644-44ca-88d2-a1581cd81149/038b5c85-fb1c-4082-9c4c-e69f8928bf3a">«Операция бухгалтерии»</A>
```

с ссылкой на реальный объект метаданных конфигурации.
---
а чем тест конфигурации не устроил?
---
какой тест?
---
из главного меню Конфигурация / Тестирование
---
Ему надо проверить ссылки в справке, а не саму конфигурацию. Тест конфигурации не делает тест ссылок в справке.
---
ошибаешься
---
Более простых способов не знаю, но можно выгрузить конфигурацию в файлы и там есть идентификаторы объектов конфигурации, см. картинку:
А вот в файле ConfigDumpInfo.xml что лежит в корне папки в которую вы сделали выгрузку конфигурации, вообще все ID лежат, в том числе форм. Так же вам возможно стоит посмотреть в сторону EDT.
---
А вот в файле ConfigDumpInfo.xml что лежит в корне папки в которую вы сделали выгрузку конфигурации, вообще все ID лежат, в том числе форм. Так же вам возможно стоит посмотреть в сторону EDT.

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

Допустим, делаем Выразить как строка (150) в запросе. Необходимо загнать в представление либо наименование либо описание, если оно задано.
---
в запросах можно огранить до 1024 символов.
---
в запросах можно огранить до 1024 символов.
---
вычисляемое поле можно попробовать
---
А какой, собственно, вопрос?
Добрый день.

Есть табличный отчет.

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

Хотя - это неправильно, что период в ресурсах. Зачем он там? Достаточно просто поместить его в поля вывода.
---
период рассчитывается по виду времени, и должен быть выведен, кроме последней колонки
---
На закладке Ресурсы - колонки "Рассчитывать По" указать все галочки кроме общих итогов
---
вот так на данный момент.

Как можно отрисовать в макете только поля колонки ИТОГО.
толком не нашел описания
---
все победил
Доброго дня!
Как узнать программно есть ли у пользователя роль которая назначена ему "Профилем группы" пользователей.

```1c
    РольДоступна("ЗачетОплаты")
```

не подходит, пока я поставлю роль через конфигуратор.
---
Думаю это поможет

УправлениеДоступом.ЕстьРоль()

Проверяет, что у пользователя есть роль в одном из профилей тех групп доступа в которых он участвует,
например, роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов.
---
Думаю это поможет

УправлениеДоступом.ЕстьРоль()

Проверяет, что у пользователя есть роль в одном из профилей тех групп доступа в которых он участвует,
например, роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов.
---
УправлениеДоступом.ЕстьРоль()
Спасибо, вроде бы помогло.
Реализован простенький механизм создания нового элемента справочника при проведении документа РегистрацияУчастника

```1c
    СпрУчастники = Справочники.Участники.СоздатьЭлемент();
    СпрУчастники.Наименование = Участник;
    СпрУчастники.Записать();
```

Проблема в том, что при создании элемента справочника таким образом приходится перезапускать режим отладки, чтобы новые элементы отображались в справочнике Участники.
---
а МСЬЕ знает толк.
F5 на списке и элементы там появятся
---
а МСЬЕ знает толк.
F5 на списке и элементы там появятся
---
Хаха, спасибо! Раньше просто сразу появлялось всё, и я не знаю после какого момента перестало:D

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

док1 автомобиль1 3000
док2 автомобиль1 3500
Док3 автомобиль2 120
Док4 автомобиль1 3900
Док5 автомобиль1 4100

причем показатель в разрезе измерений увеличивается. Нужно рассчитать разницу между записями в запросе. То есть как то так

док1 автомобиль1 3000 0
док2 автомобиль1 3500 500
Док3 автомобиль2 1200 0
Док4 автомобиль1 3900 400
Док5 автомобиль1 4100 200

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

```1c
    выбрать "док1" как Док, "автомобиль1" как Авто, 3000 как Знач Поместить Таб
    объединить все Выбрать "док2", "автомобиль1", 3500
    объединить все Выбрать "Док3", "автомобиль2", 1200
    объединить все Выбрать "Док4", "автомобиль1", 3900
    объединить все Выбрать "Док5", "автомобиль1", 4100
    ;
    //Выбрать * из Таб
    Выбрать
    т1.*,
    т1.Знач - ЕстьNull(т2.Знач,т1.Знач) как Разность
    из
    Таб т1
    левое соединение Таб т2
    по т1.Авто = т2.Авто
    и т1.Док > т2.Док

    левое соединение Таб т3
    по т3.Авто = т2.Авто
    и т3.Док > т2.Док
    и т1.Док > т3.Док

    где
    т3.Док Есть Null

    упорядочить по
    т1.Док
```
---
Элементарно. Для каждой записи получить предыдущую запись.
---
вот с этим то у меня и проблема. Понятно что нужно получить тек.запись и пред.запись в одной строке, и вычесть показатели, но вот как... Пробовал соединять ВТ по период>период, когда 2 записи - все более менее неплохо, но когда их 3, соединяются текущая запись и все у которых дата больше (
---
Соединять надо два раза. Сначала соединить и сгруппировать. В результате у тебя будет максимальная дата из всех предыдущих. Потом еще раз соединить.
---
Вам нужен отчет? Если да то это можно сделать на СКД.
---
К сожалению это оч старая конфигурация. Уже получилось чуть ниже
---
А можно с помощью схемы выгрузить в таблицу
---
похоже на какой-то тест
вот ваш пример, попробуйте в нем разобраться

```1c
    выбрать "док1" как Док, "автомобиль1" как Авто, 3000 как Знач Поместить Таб
    объединить все Выбрать "док2", "автомобиль1", 3500
    объединить все Выбрать "Док3", "автомобиль2", 1200
    объединить все Выбрать "Док4", "автомобиль1", 3900
    объединить все Выбрать "Док5", "автомобиль1", 4100
    ;
    //Выбрать * из Таб
    Выбрать
    т1.*,
    т1.Знач - ЕстьNull(т2.Знач,т1.Знач) как Разность
    из
    Таб т1
    левое соединение Таб т2
    по т1.Авто = т2.Авто
    и т1.Док > т2.Док

    левое соединение Таб т3
    по т3.Авто = т2.Авто
    и т3.Док > т2.Док
    и т1.Док > т3.Док

    где
    т3.Док Есть Null

    упорядочить по
    т1.Док
```
---
Нет, не тест, просто никогда не получались такие запросы. пока не понял как, но стало намного лучше!! Благодарю!!
Доброго времени суток. Вопрос возможно ли типовыми средствами в УФ скопировать группу документов?
---
Тогда (4).

Выполнить произвольный алгоритм , типа :
```1c
    НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();

    ЗаполнитьЗначенияСвойств(НовыйДокумент, Объект,, "Номер");

    НовыйДокумент.Дата = ТекущаяДата();

    НовыйДокумент.Записать();
```

Не полный код, еще табличные части заполнить.

И всего-то делов.
---
```1c
    НовыйДокумент = Объект.Скопировать();
    НовыйДокумент.Записать();
```
---
Если из 10 документов 1 кнопкой получить 20 то нет
---
Из 10 создать 10 новых заполненных как старые)
---
нет. противоречит логике. Дописать можно
---
Из 1 создать 1 не противоречит, а из 10, 10 противоречит
---
Верно.
Логика 1с: Тыкаешь копировать, меняешь (оставляешь неизменным) записываешь (или взял закрыл ничего не записалось). Обязателен контроль пользователя.
---
Типовыми средствами это средствами платформы или средствами конфигурации ?

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

Выполнить произвольный алгоритм , типа :
```1c
    НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();

    ЗаполнитьЗначенияСвойств(НовыйДокумент, Объект,, "Номер");

    НовыйДокумент.Дата = ТекущаяДата();

    НовыйДокумент.Записать();
```

Не полный код, еще табличные части заполнить.

И всего-то делов.
---
```1c
    НовыйДокумент = Объект.Скопировать();
    НовыйДокумент.Записать();
```
---
Во, я про этот метод почему-то не вспомнил !
---
Вообще накатать такую обработку для программиста 1С задача примитивная.
Подкажите, как лучше всего преобразовать строку с датой в виде ДД ММММ ГГГГ
в значение типа Даты. Конфигурация Бухгалтерия 4.5. 7.70.632
---
Разложить строку, заполнить соответствие в формте 01-Января,02-Февраля и собрать в дату, не помню только есть ли в 7.7 соответствие, если нет можно через "если" или поиском в таблице
---
Открываем файл прописи 1CV7.SPL (из каталога базы или из каталога BIN как текст)
 Перебираем строки, находим секцию Date, в ней по номеру позиции либо в родительном либо в именительном падеже.

```1c
    {"Date",
    {"Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",
    "Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря",
```
---
Разложить строку, заполнить соответствие в формте 01-Января,02-Февраля и собрать в дату, не помню только есть ли в 7.7 соответствие, если нет можно через "если" или поиском в таблице
---
Открываем файл прописи 1CV7.SPL (из каталога базы или из каталога BIN как текст)
 Перебираем строки, находим секцию Date, в ней по номеру позиции либо в родительном либо в именительном падеже.

```1c
    {"Date",
    {"Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",
    "Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря",
```
Есть файловая база 8.3.10. Делаю запрос к периодическому регистру сведений

```1c
    лаЗапрос= Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ &ЧислоЗаписей
    // ....

    лаЗапрос.УстановитьПараметр("ЧислоЗаписей", ЖелаемоеЧислоЗаписей);

    лаЗапрос.Выполнить();
```

на строчке с "Выполнить()" получаю ошибку.

Это глюк платформы или использовать параметр в "ВЫБРАТЬ ПЕРВЫЕ" запрещено?
---
Насколько помню платформа там ожидает числовое значение, параметр туда не подсунуть. поэтому можете переделать запрос через конкатенацию строк, тогда сможете передать ваше значение: например "Выбрать ПЕРВЫЕ " + ЧислоВыборки +" ИЗ ....".
---
Насколько помню платформа там ожидает числовое значение, параметр туда не подсунуть. поэтому можете переделать запрос через конкатенацию строк, тогда сможете передать ваше значение: например "Выбрать ПЕРВЫЕ " + ЧислоВыборки +" ИЗ ....".
---
(Хлопая себя ладонью по лбу) Чёрт! А ведь и точно! В семёрке только так и делал. Разбаловала меня восьмёрка со своими параметрами.

Спасибо! Так и сделаю.
---
Попробуйте по другому подставлять количество "ПЕРВЫХ".
Через редактирование текста запроса
СтрЗаменить(ТекстЗапроса, "Первые", "Первые "+Строка(ЖелаемоеЧислоЗаписей);
---
И не забудьте про пробел между тысячами ;))). Используйте Формат() или СтрЗаменить()

Конечно, вряд ли кто будет получать больше 999 первых записей, но если ружьё висит на сцене...

Лично я так эту тему и создал - был у функции параметр "ЧислоВозвращаемыхЗаписей", было 4, поставил 10, а возвращает всё равно 4. Продираюсь отладчиком через 3 функции, а оказалось, что добрейшей души человек поставил в запрос литерально "4". Думаю: "А почему он не поставил параметр?" - А вот оно что.
---
Так можно же

```1c
    Если КоличествоПервых > 0 Тогда
    Запрос.Текст = СтрЗаменить(Запрос.Текст, "Выбрать", "Выбрать ПЕРВЫЕ " + КоличествоПервых + " ")
    КонецЕсли;
```
---
Про >0 существенное уточнение, спасибо.
---
Конечно нельзя так. Язык запросов 1С был создан по образу и подобию языка запросов SQL с вырезкой многих фишек.
Доброго всем дня. Запрос возвращает, к примеру две строки:
Склад | Номенклатура | Количество
скл1 | Хлеб | 4
скл2 | Мука | 5

В скд идет вывод в таблицу
        скл1 скл2
хлеб 4 null
мука null 5

Прошу помощи, как избавиться от null значений? Заменить их на нули и т.д. Если там не null, а что-то еще (неопределенно) , то подскажите как вывести 0.00 вместо этих значений.
---
Без запроса конечно трудно, возможно null образуется в момент компоновки результата
т.е. по каждому складу вы получаете ту номенклатуру которая на нем хранится , а так как на разных складах разная номенклатура то при выводе отчета для отсутствующей номенклатуры на данном складе подставляется null

поэтому можно предложить вариант
1) попробовать на складке "ресурсы" сделать проверку на null
2) попробовать добавить свое вычисляемое поле на основе поле количества с проверкой на null
3) попробовать сделать условное оформление поля количества
---
игнорировать NULL
---
либо это не то, либо не помогло...
---
Запрос в студию.
---
Не могу, да и дело не в запросе. Там все проверки на ЕстьNull сделаны. Грубо говоря запрос возвращает 2 будущих значения ресурса, а в макете СКД мне нужно 4 значения ресурса вывести.
---
ЕстьNull(ТвоеПоле, 0)
Затем в скд в окне с полями задай для твоего поля соответствующий числовой формат
---
Затем в скд в окне с полями задай для твоего поля соответствующий числовой формат
можно подробнее? в запросе ЕстьNull сделаны, в окне набора данных указал тип поля число. И бестолку
---
См. скрин
---
И перенеси Количество в Ресурсы в настройках СКД
---
не помогло... выходит нужно делать полное соединение
---
Готов читать литературу, только скажите какую...
---
Без запроса конечно трудно, возможно null образуется в момент компоновки результата
т.е. по каждому складу вы получаете ту номенклатуру которая на нем хранится , а так как на разных складах разная номенклатура то при выводе отчета для отсутствующей номенклатуры на данном складе подставляется null

поэтому можно предложить вариант
1) попробовать на складке "ресурсы" сделать проверку на null
2) попробовать добавить свое вычисляемое поле на основе поле количества с проверкой на null
3) попробовать сделать условное оформление поля количества
---
К моменту вашего коммента уже разобрался. И да, среди ваших вариантов оказался правильный. У меня были сложные (относительно обычных агрегатных ф-ий) ресурсы, и моя ошибка была проверять на null переменную в самом выражение ресурса. Нужно было делать проще: ЕстьNull("Сумма, среднее, выразить и т.д. ", 0). А я делал грубо говоря Сумма(ЕстьNull(Количество, 0)) когда нужно было ЕстьNull(Сумма(Количество), 0).
---
Большое спасибо! Мне тоже помогла эта рекомендация