arefaste/1C_Forums huggingface dataset:
Кто сталкивался с наборами упаковок в ERP? Не могу программно создать упаковку, точнее она создается, но как единица измерения.
Пример кода

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

```1c
    НоваяУпаковка.ТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Упаковка;
```
---
Капец...какой то полтергейст.....Псоле отработки этого кода

```1c
    &НаСервере
    Функция СоздатьУпаковкуНаСервере()
    Возврат Перечисления.ТипыУпаковокНоменклатуры.Конечная;
    КонецФункции

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

Результат на скрине
---
Тихо сам с собою.....нашел переменную которая определяет тип объекта -

```1c
    НоваяУпаковка.ТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Упаковка;
```
В документе есть реквизит типа Дата, вида Дата+Время.
Клиент хочет, чтобы программно, по условию, убиралась дата.
Конструкция
Элементы.ДатаДоставки.Формат = "ДФ=dd.MM.yyyy";
не работает.
Как можно сделать?
---
Элементы.ДатаДоставки.ФорматРедактирования = ...
---
Использование форматной строки преобразует тип дата к типу строка, поэтому нужно либо использовать реквизит формы с типом строка и применять к нему форматную строку "ДЛФ=T", либо состав даты менять в конфигураторе на время. Но лучше как в (5).
---
Нужно чтобы время не было видно, или чтобы оно всегда было одинаковое?
если второе, то можно преобразовывать с помощью функции "НачалоДня"
---
Отключить видимость реквизита, не?
---
Элементы.ДатаДоставки.ФорматРедактирования = ...
---
спс
Не бейте сильно ногами.
Забыл. Вроде бы была такая возможность?
---
Оперативное проведение запретить у документа, если вы о том, что время меняется каждый раз, когда документ перепроводится от сегодняшнего дня.
---
Оперативное проведение запретить у документа, если вы о том, что время меняется каждый раз, когда документ перепроводится от сегодняшнего дня.
---
Но есть одно "НО"
Установка этот параметра из формы на режим проведения в модуле документа не изменился

В форме написал

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

 ПараметрыЗаписи.РежимПроведения = РежимПроведенияДокумента.Неоперативный;

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

Однако в модуле документ всё равно провёлся оперативно.
---
спс. Забыл...
Если в запросе не указывать период получения остатков из виртуальной таблицы регистра накопления, то остатки будут на текущую дату/время или на дату последнего движения, учитывая выполненные будущим числом?
Т.е. если я закину документ на завтра и проведу его, а потом выберу остатки без даты, то они будут учитывать завтрашние движения или нет?
---
Если период не указан то платформа получает остатки на максимальную дату, т.е. на 3999.12.31
---
Если период не указан то платформа получает остатки на максимальную дату, т.е. на 3999.12.31
---
Если период не указан то платформа получает остатки на максимальную дату, т.е. на 3999.12.31
Неверно. В 8 платформе точка актуальности (а соответственно последняя дата рассчитанных итогов) - 01.11.3999 00:00:00. (Да, именно ноябрь, а не декабрь. И именно 1 число, а не последнее число месяца).

При этом максимальная дата в 1С 31.12.3999. Но при попытке провести документ по регистрам накопления датой 02.11.3999 он изменит остатки на 01.01.0001. Я проверял. Поправьте, если я не прав.

Ещё раз. Максимально возможное значение типа дата в 1С - 31.12.3999. Максимально возможное значение рассчитанных итогов и точка актуальности в 8 платформе - 01.11.3999. На сколько мне известно.
Здравствуйте. Подскажите как можно реализовать выбор типов документов по которым нужно вывести информацию.

Думал с общего журнала документов брать информацию. ДокументСсылка как вид документа не подходит. Приходится указывать конкретный документ. А хотелось бы чисто вид документа (ПоступлениеТМЦ, РеализацияТМЦ или ВозвратОтПокупателя не указывая конкретный документ)

Можете накинуть идеи... Видел кучу готовых отчетов, но все они не на скд написаны...
---
Как-то так:

```1c
    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка) КАК ТипДокумента
    ИЗ
    Документ.Документ1

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ2

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ3

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ4
```

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

З.Ы, На старой версии УНФ, хоз операций не было, и когда нужно было в отчетах отобраться именно по виду документов, приходилось искать какой нибудь реквизит, который есть только в нужно документе и отбор делать по заполненности этого реквизита.
---
Типзначения как поле отбора.
---
это как? передать значение в отбор могу. А что вы предлагаете не пойму... разъясните
---
Как-то так:

```1c
    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка) КАК ТипДокумента
    ИЗ
    Документ.Документ1

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ2

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ3

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Ссылка,
    ТИПЗНАЧЕНИЯ(Ссылка)
    ИЗ
    Документ.Документ4
```

Поле ТипДокумента можно добавить в отбор СКД. Наверно, удобнее будет сделать вид сравнения - в списке.
---
кажись понял... спасибо... попробую
---
(6) Немного не по теме... но тоже по СКД... не могу получить Начальный и конечный остаток нормально... Начальный остаток не выходит... а конечный остаток считается но не учитывает предыдущий остаток... просто показывает если приход - то конечный остаток = приход, если расход, конечный остаток = расход...

Не пойму что еще нужно сделать... регистр накопления... временная таблица остатки и обороты
---
для корректного отражения остатков необходимо:
 - настроить роли для полей остатков: Начальный остаток и Конечный остаток, указав одно и тоже имя остатка
 - настроить роли для измерений
 - выводить поля периода: ПериодСекунда и Регистратор. И для них опять же должны быть настроены роли
Добрый день! Подскажите пожалуйста, УТ 10.3 Стандартная обработка "Подбор номенклатуры" Необходимо сделать возможность показывать код поставщика при подборе номенклатуры, код поставщика хранится в регистре сведений "Номенклатура контрагентов"
На форме создаю колонку "Код поставщика" (тип Строка)
Кодом получаю данные из регистра

```1c
    Для Каждого СтрНоменклатура из МассивНоменклатуры Цикл

    МенеджерЗаписи = РегистрыСведений.НоменклатураКонтрагентов.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.Контрагент = СтруктураИсходныхПараметров.Контрагент;
    МенеджерЗаписи.Номенклатура = СтрНоменклатура;
    МенеджерЗаписи.Прочитать();
    Если МенеджерЗаписи.Выбран() Тогда
    КодПоставщика = МенеджерЗаписи.КодНоменклатурыКонтрагента;
    КонецЕсли;

    КонецЦикла;
```

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

```1c
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(
    &КонДата,
    Контрагент В ИЕРАРХИИ (&Контрагент)
    И ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОстатки
    ................
    ................
    ГраницаВ = Новый Граница(КонецДня(КонДата), ВидГраницы.Включая);
    ЗапросВ.УстановитьПараметр("КонДата", ГраницаВ.Значение);
```

но платеж на последнюю секунду даты из этого регистра не выводится..
что не так делаю??

  и это тоже не прокатывает:
```1c
    ЗапросВ.УстановитьПараметр("КонДата", КонецДня(КонДата));
```
---
А если так:

```1c
    ЗапросВ.УстановитьПараметр("КонДата", Новый Граница(Новый МоментВремени(КонецДня(КонДата)),ВидГраницы.Включая)
```
---
Попробуйте так:

ЗапросВ.УстановитьПараметр("КонДата", Новый Граница(КонецДня(КонДата), ВидГраницы.Включая));
---
так тоже делала.. не работает!
 и сейчас объявила другую переменную
КонДата1 = КонецДня(конДата);
ЗапросВ.УстановитьПараметр("КонДата", КонДата1 );
--- так тоже не сработало!

но я уверена что на эту дату на 23:59:59 есть платеж!!!
---
На эту дату
```1c
    ЗапросВ.УстановитьПараметр("КонДата", КонецДня(КонДата) +1 );
```
 Данные верные?
---
да! так выходит платеж! я и в консоли смотрела:

```1c
    ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент КАК Контрагент1,
    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстатки.Сделка КАК Сделка1,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(
    &КонДата,
    Контрагент В ИЕРАРХИИ (&Контрагент)
    И ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОстатки
```

т.е. получается что как ни крути, а остатки на дату в рег накопления все равно не включает последнюю секунду??
---
А если так:

```1c
    ЗапросВ.УстановитьПараметр("КонДата", Новый Граница(Новый МоментВремени(КонецДня(КонДата)),ВидГраницы.Включая)
```
---
ЗапросВ.УстановитьПараметр("КонДата", Новый Граница(Новый МоментВремени(КонецДня(КонДата)),ВидГраницы.Включая)
а вот так заработало!
СПАСИБО, добрый человек!!!

ну так получается, что остатки на дату в рег накопления на секунду включительно можно получить только или дата+1 секунда или как в (7)... т.е. последняя секунда в принципе не учитывается если просто на конДата
---
Пожалуйста :) Здесь есть хорошая статья про получение остатков на момент времени https://its.1c.ru/db/metod8dev#content:2610:hdoc
---
Нужно использовать сам момент времени в качестве параметра:

 ЗапросВ.УстановитьПараметр("КонДата", ГраницаВ);
---
Беру свои слова назад, невнимательность)
Добрый день, товарищи.
Версия платформы: 8.3.10.2466
Конфигурация: самописная
Суть проблемы: на форме необходимо программно создавать форматированный документ (в дальнейшем - "ФД") и командную панель, у которой источником команд будет этот ФД. Создать ФД и ком. панель не проблема, но не могу понять как указать источник команд для ком. панели.
Может у кого-то делал нечто подобное или знает альтернативные варианты.
Буду очень признателен за помощь.
---
Программно никак. У элемента с типом "ГруппаФормы" и видом "Командная панель" свойство "Источник команд" доступно при редактировании в конфигураторе, но недоступно при программном обращении. Вот здесь это обсуждалось: https://www.mista.ru/topic.php?id=669122
---
В Конфигураторе - Общие - Группы команд
может это вам нужно?
---
Программно никак. У элемента с типом "ГруппаФормы" и видом "Командная панель" свойство "Источник команд" доступно при редактировании в конфигураторе, но недоступно при программном обращении. Вот здесь это обсуждалось: https://www.mista.ru/topic.php?id=669122
---
Для сравнения в обычных формах аналогичная задача решалась через свойство "ИсточникДействий", которое было доступно через "Расширение элементов формы". В управляемых формах такого расширения нет.
Камрады, помогите с проблемой в этикетке в Рознице.Магазин одежды и обуви 2.2.9.19.
Есть задача вывести на этикетку доп. характеристики номенклатуры не одним значением, а разбив на составляющие. В качестве свойств характеристик указаны Размер и Цвет. Значения стандартно задаются в Планах видов характеристик - Дополнительные значения и свойства. Прогоном через отладчик вижу, что эти значения не подхватываются, хотя само наименование выводится.
---
Прошу прощения, не в то расширение добавил)
---
Все подставляет норм. На примере доп.реквизиты характеристики номенклатуры
---
А если добавить их в основные реквизиты (торговая группа, бренд)? Или они заняты?
---
Нет не получится.
У номенклатуры есть подчиненный справочник ХарактеристикиНоменклатуры, у которого есть табличная часть ДополнительныеРеквизиты, в которой уже Свойства (наименование переменной - Цвет, Размер и т.д.) и Значения являются Планами видов характеристик. Наименование самой характеристики формируется из значений из табличной части. Все элементы макета берутся из запроса на СКД, вручную указать нельзя. Не знаю как в запросе считать табличную часть справочника Характеристики, чтобы в запрос попадали уже сами значения, а не выборка, которую надо обходить циклом. Сам запрос там многоуровневый (итоговый запрос состоит из 17 запросов сбора данных во временные таблицы).

(3) Такие реквизиты для выбора тоже есть (см. картинку), но, как писал в (1), они выводятся пустыми. Возможно у вас выводится, потому что делаете через обычный макет для принтера. Для принтера этикеток там по другому немного.
---
сейчас для принтера этикеток шаблон попробую, отпишусь)
---
Ну да, косяк с печатью шаблона для принтера этикеток)
---
Пробуйте с расширением) Работать будет правда только с доп.реквизитами справочника характеристик номенклатуры. Надеюсь в рознице для магазина одежды обработку не меняли, ибо расширение из обычной розницы делал....
---
У меня почему то загружается пустое расширение
---
А ругается, что невозможно применить? Посмотрите поточнее, там должна быть обработка печати ценников и этикеток, изменял модуль менеджера
---
В режиме Предприятия прицепилось нормально.

должна быть обработка печати ценников и этикеток, изменял модуль менеджера
ХМ, т.е. вы в модуле обработки печати вытаскивали эти реквизиты, игнорируя получаемые данные из макета?
Проверить печать не могу, принтер уехал...

У меня почему то загружается пустое расширение
Это я в конфигураторе открыл расширение, там ни одного объекта в дереве конфигурации. И раздел обработки, соответственно, тоже пустой.
---
Прошу прощения, не в то расширение добавил)
---
Спасибо большое!!! До меня что-то и не дошло такое простое решение))) Я пытался отредактировать запрос для макета.
После небольшого допила всё выводит отлично!
---
на здоровье)
Добрый день! Подскажите, каким образом можно вывести неполный месяц в Запросе. Я например отчет формирую на 01.08.18, а товар поступил 08.07.18г. То при разнице дат , Если был бы целый месяц , то коэфициент = 1 . а так не знаю каким образом.
---
```1c
    ВЫБРАТЬ
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДатаПоступления,МЕСЯЦ), ДатаПоступления, ДЕНЬ) /
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДатаПоступления,МЕСЯЦ), КОНЕЦПЕРИОДА(ДатаПоступления,Месяц), ДЕНЬ) КАК ДоляПериод
```
---
Вычислить разницу дат между датой поступления и первым днем месяца (через РАЗНОСТЬДАТ и НАЧАЛОПЕРИОДА), вычислить разницу дат между концом месяца и началом (через КОНЕЦПЕРИОДА). Найти процентное соотношение.
---
не ясно, что же требуется
---
целый месяц это когда например с 01.01.18 - 01.02.18 г , а если с 10.01.18 г - 01.02.18 г - это уже не целый , а например 0.10 % месяца, вот этот процент и надо получить
---
добавь в условие запроса

```1c
    ГДЕ РАЗНОСТЬДАТ(ДатаОтчета, ДатаПоступления, МЕСЯЦ) =0
```
---
РАЗНОСТЬДАТ(ДатаОтчета, ДатаПоступления, МЕСЯЦ)

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

Итак, вот тест запроса:

```1c
    ВЫБРАТЬ
    ВТТелефонныеЗвонки.SIP,
    СУММА(ВТТелефонныеЗвонки.Время)
    ИЗ
    ВТТелефонныеЗвонки КАК ВТТелефонныеЗвонки
    ГДЕ
    ВТТелефонныеЗвонки.SIP = &SIP

    СГРУППИРОВАТЬ ПО
    ВТТелефонныеЗвонки.SIP
```

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

при
Для каждого стр из Объект.Товары Цикл
   Сообщить(стр.Товар);
КонецЦикла;
обходит все строки.
---
ТаблицаФормы.ПроверитьСтроку (FormTable.CheckRow)
ТаблицаФормы (FormTable)
ПроверитьСтроку (CheckRow)
Синтаксис:

ПроверитьСтроку(<Строка>)
Параметры:

<Строка> (обязательный)

Тип: Произвольный.
Строка таблицы. Тип параметра зависит от типа редактируемого значения.
Возвращаемое значение:

Тип: Булево.

Описание:

Проверяет, соответствует ли строка, установленному в таблице отбору.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
---
Прежде чем обходить строки, сделайте такой же отбор программно и обходите результат отбора.
---
а как узнать, какой есть отбор?
---
```1c
    Для Каждого Элемент Из Элементы.Товары.ВыделенныеСтроки Цикл
    Сообщить(Элемент.Товар);
    КонецЦикла;
```
---
Выделенные строки - это только одна строка, на которой стоит курсор. (Либо нужно их всех выделять)
---
ТаблицаФормы.ПроверитьСтроку (FormTable.CheckRow)
ТаблицаФормы (FormTable)
ПроверитьСтроку (CheckRow)
Синтаксис:

ПроверитьСтроку(<Строка>)
Параметры:

<Строка> (обязательный)

Тип: Произвольный.
Строка таблицы. Тип параметра зависит от типа редактируемого значения.
Возвращаемое значение:

Тип: Булево.

Описание:

Проверяет, соответствует ли строка, установленному в таблице отбору.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
---
Спасибо. Ваше решение помогло. :)
Написал: Выборка = Справочники.Номенклатура.Выбрать(ГруппаНоменклатуры);

В итоге выбрается только номенклатура напрямую подчиненная группе ГруппаНоменклатуры. Номенклатура в вложенных в ГруппаНоменклатуры папках не выбирается.

Вопрос: как сделать чтобы выбиралась номенклатура из вложенных групп?
---
Потому что идет простое сравнение по равенству родителя. Для вашего случая есть ВыбратьИерархически. Но лучше - запросом
---
Выбирайте запросом. С условием В ИЕРАРХИИ
---
А почему в Справочники.Номенклатура.Выбрать(ГруппаНоменклатуры); не выбираются товары вложенных групп?
---
Потому что идет простое сравнение по равенству родителя. Для вашего случая есть ВыбратьИерархически. Но лучше - запросом
---
```1c
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);
    Запрос.Текст =
    "ВЫБРАТЬ
    | Номенклатура.*
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)";

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