arefaste/1C_Forums huggingface dataset:
Добрый день! 1С:Предприятие 8.3 (8.3.12.1790) Управление торговлей, редакция 11 (11.4.6.207)
Программно раз в месяц создаем кучу актов выполненных работ. В январе эти документы создались и не зарегистрировались на отложенное проведение. Как итог они не отражаются в отчете Сводная ведомость расчетов и др. В чем может быть проблема? Как документы вообще регистрируются на допроведение? Куда копать?
---
Результат такой: отложенное движение в документах производятся регламентным заданием Выполнение отложенных движений по расчетам с партнерами. Регистрируются в РС ЗаданияКРаспределениюРасчетовСКлиентами И ЗаданияКРаспределениюРасчетовСПоставщиками.
Конкретно в нашем случае с регистрацией было все нормально. Проблема была в том, что документы не проводились по Расчетам с клиентами по документам, из-за того что у этих документов были неправильные движения по регистру Расчеты с клиентами.
---
Результат такой: отложенное движение в документах производятся регламентным заданием Выполнение отложенных движений по расчетам с партнерами. Регистрируются в РС ЗаданияКРаспределениюРасчетовСКлиентами И ЗаданияКРаспределениюРасчетовСПоставщиками.
Конкретно в нашем случае с регистрацией было все нормально. Проблема была в том, что документы не проводились по Расчетам с клиентами по документам, из-за того что у этих документов были неправильные движения по регистру Расчеты с клиентами.
---
Скорее всего у вас есть какой-то план обмена для этих целей и регламентное задание, считывающее данные с узла. В качестве регламентного задания может выступать внешняя обработка с настроенным расписанием. Посмотрите сначала там.
Как задать форматирование обычного заголовка таблицы?
- условное форматирование к заголовку не применяется, хоть и явно указывается область применения - В заголовке
- макет не работает
---
Получилось задать форматирование как хотелось.
1. В макете нужно обращать внимание на пиктограммки (!), именно они определяют типа макета - скрин 1 и 2
2. Максимальную высоту задаем через Условное форматирование, но (!) не выбираем поля, для которых оно применяется - скрин 3, иначе не будет работать.
---
Уточните, пожалуйста, а чего именно Вы хотите добиться? Разные задачи оформления можно решить по-разному. Возможно мне удастся подсказать что-то более конкретное, если Вы дадите больше деталей решаемой задачи.
---
1) необходимо в шапке (заголовке) поля Дата и ВидНоменклатуры отобразить вертикально
2) необходимо задать максимальный размер высоты шапки (заголовка). Даже создал отдельную тему - https://forum.infostart.ru/forum9/topic211292/ , но никто не ответил(
---
На закладке "Наборы данных" есть колонка "Оформление". Там можно указать свойство "Ориентация текста" (90) и "Максимальная высота" (например, 30).
---
Извините, погорячился с предыдущим ответом. Использование оформление на закладке "Наборы данных" применимо к данным, не к заголовку. Уточните, пожалуйста, версию своей платформы и режим совместимости. В платформе 8.3.12.1685 есть в условном оформлении и ориентация текста, и максимальная высота.
---
Попробуйте использовать макет и вместо полей группировок, используйте имя группировки.
---
Имя группировки лишь упрощает. Но спасибо за указание такого инструмента!
---
Получилось задать форматирование как хотелось.
1. В макете нужно обращать внимание на пиктограммки (!), именно они определяют типа макета - скрин 1 и 2
2. Максимальную высоту задаем через Условное форматирование, но (!) не выбираем поля, для которых оно применяется - скрин 3, иначе не будет работать.
Как задать максимальную высоту шапки отчета на СКД?
Уже все колени сбил в поисках решения:
- в условном форматировании нет такого параметра как "максимальная высота"
- высота в макете игнорируется
---
все есть, да, максимальную высоту задаем через Условное форматирование, но (!) не выбираем поля, для которых оно применяется, иначе не будет работать.
Почему такое поведение, осталось за кадром)
---
Используйте "Оформление" полей на закладке "Наборы данных" (или "Вычисляемые поля").
---
Совет не рабочий, применим к данным, не к заголовкам. В платформе 8.3.12.1685 есть настройка "Максимальная высота" в условном оформлении.
---
все есть, да, максимальную высоту задаем через Условное форматирование, но (!) не выбираем поля, для которых оно применяется, иначе не будет работать.
Почему такое поведение, осталось за кадром)
Такой вопрос - имеем две таблицы Номенклатура и Штрихкоды
У номенклатуры может быть несколько разных штрихкодов одновременно.

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

А вот как сделать так, что бы если штрихкод один - то в результате запроса была одна строка номенклатуры с этим штрихкодом.
А если штрихкодов несколько, то в результате была одна строка номенклатуры, а в колонке штрихкодов стояло бы например "Несколько" ???
---
```1c
    ВЫБРАТЬ
    Штрихкоды.Владелец,
    ВЫБОР
    КОГДА КОЛИЧЕСТВО(Штрихкоды.Владелец) > 1
    ТОГДА "Несколько"
    ИНАЧЕ МАКСИМУМ(Штрихкоды.Штрихкод)
    КОНЕЦ КАК ШК
    ИЗ
    РегистрСведений.Штрихкоды КАК Штрихкоды

    СГРУППИРОВАТЬ ПО
    Штрихкоды.Владелец
```
---
```1c
    ВЫБРАТЬ
    Штрихкоды.Владелец,
    ВЫБОР
    КОГДА КОЛИЧЕСТВО(Штрихкоды.Владелец) > 1
    ТОГДА "Несколько"
    ИНАЧЕ МАКСИМУМ(Штрихкоды.Штрихкод)
    КОНЕЦ КАК ШК
    ИЗ
    РегистрСведений.Штрихкоды КАК Штрихкоды

    СГРУППИРОВАТЬ ПО
    Штрихкоды.Владелец
```
---
Да, спасибо. Именно то, что нужно, Чет затупил...:-)
Атол 11ф печать через драйвер, можно ли передать драйверу несколько типов оплат в одном чеке. В драйве передаётся команда
// TypeClose - Тип оплаты:
// 0 - Наличными
// 1 - Электронными средствами платежа,
 можно ли передать несколько строк с TypeClose ?
---
нет нельзя, нашел
---
нет нельзя, нашел
---
Вопрос не закрыт, в торговле 10.3 есть возможность нескольких видов оплат, значит их и на кассу можно передать ?
Здравствуйте, подскажите пожалуйста что у меня не так?
Пытаюсь по ссылке добавить картинку в номенклатуру, но пока просто бы получить картинку.

```1c
    ИмяФайла = Строка(Новый УникальныйИдентификатор);
    ИмяНаДиске = "D:\Картинки\"+ИмяФайла+".jpg";
    ВременныйФайл = ПолучитьИмяВременногоФайла(".jpg");
    КопироватьФайл(Стр.Колонка27, ВременныйФайл);
    СтруктПарам = Новый Структура;
    СтруктПарам.Вставить("Автор", Справочники.Пользователи.ПустаяСсылка());
    СтруктПарам.Вставить("ВладелецФайлов", Стр.Номенклатура.Ссылка);
    СтруктПарам.Вставить("ИмяБезРасширения", ИмяФайла);
    СтруктПарам.Вставить("РасширениеБезТочки", "jpg");
    СтруктПарам.Вставить("ВремяИзмененияУниверсальное", ТекущаяДата());
    Адрес = Новый УникальныйИдентификатор;
    Файл = Новый ДвоичныеДанные(ВременныйФайл);
    АдресФайлаВоВременномХранилище = ПоместитьВоВременноеХранилище(Файл, Адрес);
```

я так понимаю строчка КопироватьФайл(Стр.Колонка27, ВременныйФайл); и временный файл уже должен содержать картинку,а он пустой(ну открывается пустая картинка).
---
А практически сразу разобрался, суть в том что сайт выгружал ссылку в формате
http/сайт/путьККартинкеРасширение,а нужно было поменять на https и все, заработало.))
---
я так понимаю строчка КопироватьФайл(Стр.Колонка27, ВременныйФайл); и временный файл уже должен содержать картинку
Да, должен содержать картинку.
Для доступа к картинке не нужна авторизация?
---
А практически сразу разобрался, суть в том что сайт выгружал ссылку в формате
http/сайт/путьККартинкеРасширение,а нужно было поменять на https и все, заработало.))
Добрый день. Есть в конфигурации три вида документа. Если создать журнал документов и средствами платформы настроить графы, как можно обратиться к нему в запросе?
Задача получить список документов, включенных в журнал с данными, из граф.
---
Это проектное решение семейства ERP. Т.о. решается проблема ограничений в работе пользователей с неполными правами, а также невозможность сделать несколько записей по одному документу. Плюс часть граф можно рассчитывать при записи в реестр, не храня данные в документе.
---
А в чем проблема? Среди таблиц запросов есть таблица журнала документов.
---
В таком случае зачем в ут 11 регистр сведений дублирует журнал?
---
Это проектное решение семейства ERP. Т.о. решается проблема ограничений в работе пользователей с неполными правами, а также невозможность сделать несколько записей по одному документу. Плюс часть граф можно рассчитывать при записи в реестр, не храня данные в документе.
Добрый!

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

p.s. в процедуре при добавлении строки, родителю присваиваю неопределённо, но ничего не происходит..
---
Параметр "Родитель" используется только при работе с иерархическими динамическими списками. Вам он не подойдет.

Если необходимо всегда добавлять строку в корень, то действительно можете обрабатывать событие добавление строки. При этом необходимо отказаться от стандартного добавление, и сделать все "руками":

```1c
    &НаКлиенте
    Процедура ДеревоПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)

    Отказ = Истина;

    НоваяСтрока = Дерево.ПолучитьЭлементы().Добавить();

    Если Копирование Тогда
    ИсходнаяСтрока = Элементы.Дерево.ТекущиеДанные;
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ИсходнаяСтрока);
    КонецЕсли;

    Элементы.Дерево.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
    Элементы.Дерево.ИзменитьСтроку();

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

Альтернативный путь - отключить в свойствах элемента дерева из состава команд стандартные "Добавить" и "Скопировать" и добавить собственные команды формы для нужных операций. А в их обработчике написать что-то похожее на код, приведенный выше.
---
Параметр "Родитель" используется только при работе с иерархическими динамическими списками. Вам он не подойдет.

Если необходимо всегда добавлять строку в корень, то действительно можете обрабатывать событие добавление строки. При этом необходимо отказаться от стандартного добавление, и сделать все "руками":

```1c
    &НаКлиенте
    Процедура ДеревоПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)

    Отказ = Истина;

    НоваяСтрока = Дерево.ПолучитьЭлементы().Добавить();

    Если Копирование Тогда
    ИсходнаяСтрока = Элементы.Дерево.ТекущиеДанные;
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ИсходнаяСтрока);
    КонецЕсли;

    Элементы.Дерево.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор();
    Элементы.Дерево.ИзменитьСтроку();

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

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

ВЫБРАТЬ
 Номенклатура2.Ссылка КАК Ссылка,
 Номенклатура2.Наименование КАК Наименование,
 ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура КАК Номенклатура,
 МАКСИМУМ(ЦеныНоменклатурыПоставщиковСрезПоследних.Период) КАК Период,
 ЦеныНоменклатурыПоставщиковСрезПоследних.Цена КАК Цена
ИЗ
 РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних КАК ЦеныНоменклатурыПоставщиковСрезПоследних
  ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура2
  ПО ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура = Номенклатура2.Ссылка
ГДЕ
 ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура.Родитель = &Родитель

СГРУППИРОВАТЬ ПО
 Номенклатура2.Ссылка,
 Номенклатура2.Наименование,
 ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура,
 ЦеныНоменклатурыПоставщиковСрезПоследних.Цена
АВТОУПОРЯДОЧИВАНИЕ
---
Тоже поставьте максимум

ЦеныНоменклатурыПоставщиковСрезПоследних.Цена КАК Цена
---
Из группировки убрали?
---
Тоже поставьте максимум

ЦеныНоменклатурыПоставщиковСрезПоследних.Цена КАК Цена
---
не изменилось ничего
---
Из группировки убрали?
---
да, так получилось, спасибо. Ещё я заметил, что попадают цены, которые выставлены в заказе поставщику. Как их тоже убрать, нужна же уже приходная цена
---
Справочник.Номенклатура КАК Номенклатура2
ПО ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура = Номенклатура2.Ссылка

^отобранную номенклатуру эффективнее вынести во временную таблицу, причем поле фильтра синонимизировать не как "Номенклатура", а например как "ТоварОтбора". По этому полю проиндексировать ВТ.

Затем уже в параметрах виртуальных таблиц делаем линейные быстрые отборы

Номенклатура В (ВтТовары.ТоварОтбора Из ВтТовары)

Если цен в регистре 15КК+ записей, то запрос будет работать на порядки быстрее.

Синоним "ТоварОтбора" вместо стандартного "Номенклатура" гарантирует, что при использовании
этого запроса в СКД - она "умница" не будет толкать в отборы трехэтажное нечто от себя.

Если у вас всего 10 строк в регистре цен , то конечно, можно и не запоминать мои советы, надеясь на то, что большие данные вас не достанут.
---
спасибо, попробую оптимизировать
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
Всем привет. Никто не подскажет, как в таком случае сработает обработка «Поиск и замена значений»? На складе намутили по ячейкам склада. Например, есть ячейка “A-2-3-4 “ и “A-2-3-4 “, разница между ними в том, что в одной из ячеек в коде ячейке поставлен лишний пробел и с точки зрения системы это разные ячейки. Более того, на такие ячейки есть куча ссылок различных документов и регистров ссведений. Я раньше только схлопывал дубли номенклатары, с ячейками в ступоре. Сейчас хочу попробовать на тестовой базе прогнать эту обработку.
Чем теоретически может быть чревата замена ячеек в документах? По идее, обработка же и ссылку на новую ячейку вставляет?
---
Если все ссылки поменять - то нормально будет. Вот только придеться документы перепровести. Ну или регистры также обработкой прогнать.
---
сделай на копии и посмотри результат!
По идее ничего страшного, но в первый раз я бы на копии прогнал бы!
---
если есть регистры сведений, в которых используются ячейки,то возможна ошибка "Запись с такими ключевыми полями существует"
---
если делать через ИР, то там он это убирает.
---
ИР это что такое?
---
инструменты разработчика.
---
Если все ссылки поменять - то нормально будет. Вот только придеться документы перепровести. Ну или регистры также обработкой прогнать.
---
Спасибо, так и сделал.
Добрый день!

Подскажите, пожалуйста, можно ли добавить итоги по времени в табличную часть (как в ЗУП 2.5.)?

Если можно через расширение, скажите, я вознаграждение добавлю за ответ.
---
на форме документа надо настроить для нужных колонок ПутьКДаннымПодвала,
---
Добавить в расширение вашу форму. Включить подвал в свойствах формы и указать путь к данным для суммирования.
---
на форме документа надо настроить для нужных колонок ПутьКДаннымПодвала,
---
Добавить в расширение вашу форму. Включить подвал в свойствах формы и указать путь к данным для суммирования.
---
Создать подписку на событие ОбработкаПолученияФормы для ДокументМенеджер.НужныйДокумнент.
И делать в обработчике с полученной формой, что хочется.
---
Можно попробовать через общийМодуль.МодификацияКонфигурацииПереопределяемый, программно настроить подвал ТЧ
Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. В УТ 10.3. Написал запрос с пакетам. Все работает. Сам код показывает сообщению пользователя когда остаток на складах меньше количество минимум. Это работает но есть токая проблема что если в документе есть 2 или более товары тогда код выбирает только первый из них. И не проверяет остальные товары. С отладкчиком смотрел но ошибку не нашло. Можете дать подсказку что где может быть проблем?
Спасибо всем за ранее. Документ - Реализация Товаров Услуг - Модуль Объекта - Процедура Обработка Проведения.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Номенклатура.Ссылка,
    | Номенклатура.Мин КАК Минимум
    |ПОМЕСТИТЬ втМинимум
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ
    | И Номенклатура.Ссылка В(&Номенклатура)
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | ТоварыНаСкладахОстатки.Номенклатура,
    | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
    |ПОМЕСТИТЬ втОстаток
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В(&Номенклатура)) КАК ТоварыНаСкладахОстатки
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | втОстаток.Номенклатура,
    | ЕСТЬNULL(втМинимум.Минимум, 0) КАК Минимум,
    | ЕСТЬNULL(ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15, 2)), 0) КАК Остаток
    |ИЗ
    | втОстаток КАК втОстаток
    | ЛЕВОЕ СОЕДИНЕНИЕ втМинимум КАК втМинимум
    | ПО втОстаток.Номенклатура = втМинимум.Ссылка";

    тзТовары = Товары.Выгрузить();
    тзТовары.Свернуть("Номенклатура");
    СписокНоменклатуры = тзТовары.ВыгрузитьКолонку("Номенклатура");
    Запрос.УстановитьПараметр("Номенклатура", СписокНоменклатуры);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Стр = Товары.Найти(Выборка.Номенклатура, "Номенклатура").Количество;
    Остаток = Выборка.Остаток - Стр.Количество;
    Если Остаток < Выборка.Минимум Тогда
    Сообщить("Siz " + Выборка.Номенклатура + " - məhsulu üzrə daxil eilmiş minimum miqdarı keçdiniz. Minimum miqdar = "
    + Выборка.Минимум + " Anbar üzrə məhsulun qalıq sayı = " + Остаток, СтатусСообщения.Информация);
    Иначе
    КонецЕсли;
    КонецЦикла;
```
---
В последнем пакете надо к ВТМинимум цеплять левым соединением ВТОстаток (у вас сейчас наоборот), т.к. товар в ТЧ может присутствовать, а остатка по нему нет.
---
В последнем пакете надо к ВТМинимум цеплять левым соединением ВТОстаток (у вас сейчас наоборот), т.к. товар в ТЧ может присутствовать, а остатка по нему нет.
---
Большое вам спасибо.
Здравствуйте. Имеется регистр "АналитикиОтчета", в котором есть измерение "Субконто1" с типом "Характеристика.ВидыСубконтоХозрасчетные"

В запросе к этому регистру нужно проверить, заполнено субконто или нет.
Оно может быть как Неопределено, так и ПустаяСсылка какого либо типа. В это проблема.

Когда проверяю так:

```1c
    ВЫБОР
    КОГДА АналитикиОтчета.Субконто1 = Неопределено ИЛИ АналитикиОтчета.Субконто1.Ссылка ЕСТЬ NULL
    ТОГДА НЕОПРЕДЕЛЕНО
    ИНАЧЕ АналитикиОтчета.Субконто1
    КОНЕЦ КАК Субконто1
```

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

А у Вас нет возможности передать в запрос параметр? Попробуйте собрать массив всех пустых ссылок:

```1c
    ПустыеСубконто = Новый Массив;
    ПустыеСубконто.Добавить(Неопределено);

    ТипПВХ = Метаданные.ПланыВидовХарактеристи.ВидыСубконтоХозрасчетные.Тип;
    МассивТипов = Новый Массив(1);

    Для каждого ТипСубконто Из ТипПВХ.Типы() Цикл
    МассивТипов[0] = ТипСубконто;
    ОписаниеТипа = Новый ОписаниеТипов(МассивТипов);
    ПустоеЗначение = ОписаниеТипа.ПривестиЗначение(Неопределено);

    ПустыеСубконто.Добавить(ПустоеЗначение);
    КонецЦикла;
```

Или проще:

```1c
    ПустыеСубконто = ОбщегоНазначения.ОписаниеТипаВсеСсылки();
```

И уже проверять субконто в запросе, сравнивая его со значениями в массиве:

```1c
    ВЫБОР
    КОГДА НЕ АналитикиОтчета.Субконто1 В (&ПустыеСубконто)
    ТОГДА АналитикиОтчета.Субконто1
    ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК Субконто1
```
---
АналитикиОтчета.Субконто1.Ссылка ЕСТЬ NULL - это проверка на NULL, а не на пустую ссылку. В регистре NULL не хранится
---
Медленно работает потому, что такое условие неявно преобразуется в левое соединение со всеми документами и справочниками, что могут быть субконто.

А у Вас нет возможности передать в запрос параметр? Попробуйте собрать массив всех пустых ссылок:

```1c
    ПустыеСубконто = Новый Массив;
    ПустыеСубконто.Добавить(Неопределено);

    ТипПВХ = Метаданные.ПланыВидовХарактеристи.ВидыСубконтоХозрасчетные.Тип;
    МассивТипов = Новый Массив(1);

    Для каждого ТипСубконто Из ТипПВХ.Типы() Цикл
    МассивТипов[0] = ТипСубконто;
    ОписаниеТипа = Новый ОписаниеТипов(МассивТипов);
    ПустоеЗначение = ОписаниеТипа.ПривестиЗначение(Неопределено);

    ПустыеСубконто.Добавить(ПустоеЗначение);
    КонецЦикла;
```

Или проще:

```1c
    ПустыеСубконто = ОбщегоНазначения.ОписаниеТипаВсеСсылки();
```

И уже проверять субконто в запросе, сравнивая его со значениями в массиве:

```1c
    ВЫБОР
    КОГДА НЕ АналитикиОтчета.Субконто1 В (&ПустыеСубконто)
    ТОГДА АналитикиОтчета.Субконто1
    ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК Субконто1
```
---
как вариант: в запросе всегда получаем АналитикиОтчета.Субконто1
Преобразование делаем сами в цикле при обращении к результату выборки
---
ЕСТЬNULL(АналитикиОтчета.Субконто1, НЕОПРЕДЕЛЕНО) лучше так писать
---
Спасибо. Все получилось. Работает быстро.
Собственно, создаю на форме (УФ) программно несколько кнопок (количество кнопок всегда переменное). Можно ли каким то способом передать параметр в процедуру, в зависимости от нажатой кнопки? Или идентифицировать нажатую кнопку в самой выполняемой процедуре?

```1c
    //Добавляем новую команду
    Кмд = ЭтаФорма.Команды.Добавить("Сохранение");
    Кмд.Действие = "Сохранение";

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

    &НаСервере
    Процедура Сохранение()

    Сообщить("Работает");

    КонецПроцедуры
```
---
&НаКлиенте
Процедура Сохранение(Команда)

Имя = Команда.Имя;
Сообщить("Работает");

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

Обычно так
---
&НаКлиенте
Процедура Сохранение(Команда)

Имя = Команда.Имя;
Сообщить("Работает");

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

Обычно так
---
Большое спасибо, сработало
---
http://prntscr.com/mohrec - если нужно что-то такое, то могу сказать на какие грабли наступишь)
---
А привязаться к имени команды нельзя (передавать имя команды)? или они у вас одинаковые всегда?
в процедуре на сервере можно попробовать получить текущий элемент, хотя не уверен что кнопка может быть текущим элементом, лучше к имени команды
---
Имя команды могу создавать динамически, тут проблем нет. Если не сложно, дайте пример кода, как правильно передавать имя команды в процедуру.
---
зачем вам такая странная технология, описаная в задании?
У каждой кнопки - своя процедура, и потом уже в каждой процедуре делаете то что вам нужно именно для нажатой кнопки
---
Процедуры выполнения команд должны быть на клиенте! То есть ТАМ где сама кнопка и команда....

```1c
    &НаКлиенте
    Процедура Сохранение()

    Сообщить("Работает");

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