arefaste/1C_Forums huggingface dataset:
Доброго дня всем. Вопрос по 1с 7.7 ЗИК (367). В связи с некоторыми обстоятельствами появилась необходимость в автоматизации надбавки до МРОТа, но так как я не особо шарю в программировании, с этим вопросом пришел сюда. Подскажите где копать? Нужно ли создавать новый вид расчета? И где правильно его описать, чтобы программа сама находила сотрудников у которых зп не дотягивает до МРОТа и делала им нужное начисление (начисление не фиксированно).
---
возможно это решение поможет https://forum.infostart.ru/forum68/topic7597/#message54079
---
возможно это решение поможет https://forum.infostart.ru/forum68/topic7597/#message54079
Доброго времени суток. Поставили следующую задачу:
Конфигурация - Камин 3.0
Есть два справочника:
1) Работы (основные реквизиты для задачи:
    а) Работа-строка
    б) Норма часов-число
    в) Расценка - число)

2) Тарифные сетки(основные реквизиты для задачи
    а) Наименование - строка
    б) Ставка - видимо подтягивается из регистра накопления РегистрСведений.РазрядыТарифныхСеток
)

Необходимо:
При изменении Ставки в тарифной сетки с определенным наименованием производилось умножение: Ставка*Норма часов, и записывалось в ячейку Расценка

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

И да. Самое важно отличие:
ПередЗаписью в модуле формы выполняется до начала транзакции. Т.е. если документ не провелся по ошибке, то действие в ПередЗаписью модуля формы не будет отменен.
---
Насколько я знаю, изменить порядок вызова процедур не получиться. Что за задача, что не устраивает дописать свой код в ПередЗаписью() или ОбработкаПроведения()?
---
после записи этого документа, нужно на основании его создать еще один документ в БУ.
---
Подписка на событие не вариант?
---
Последовательность вызовов событий зашита в 1с, её не возможно поменять. Опишите подробней задачу.
---
после записи этого документа, нужно на основании его создать еще один документ в БУ.
---
Док.Записать(РежеимЗаписиДокумента.Запись);
а затем создаёте еще один документ в БУ.

Док - это ссылка на только что созданный документ.
---
В конце ОбработкаПроведения()

```1c
    Если Не Отказ Тогда
    Документ = Документы.НужныйДокумент.СоздатьДокумент();
    Документ.Заполнить(ЭтотОбъект.Ссылка);
    КонецЕсли;
```

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

а вот результат:

Материал :
Цвет Коричневый
Фасовка 0,25 л., 2,5 л.
Страна производства Великобритания
Возможность колеровки Нет
Назначение Для металла
Материал основания Металл
Тип помещения Любое помещение
Вид работ Универсальные
Расход, л/м2 0,08
Основа Алкидная смола модифицированная, фосфат цинка
Срок годности, месяц 36
Плотность, кг/ м³ 1,24 кг/л

Вопрос: КАК исключить вывода в результат Свойставо "МАТЕРИАЛ" ? ТипЗн(Дополнительные значения). Данное свойство не заполнено.
---
И регДополнительныеСведения.Значение <> Значение(Справочник.ДополнительныеЗначения.ПустаяСсылка)
---
Надо такое условие еще добавить:
НЕ регДополнительныеСведения.Значение ЕСТЬ NULL
---
Не срабатывает такой вариант
---
Выполните вот такой запрос, какой тип будет у значения свойства Материал?

```1c
    Запрос.Текст =
    "ВЫБРАТЬ
    | регДополнительныеСведения.Свойство.Заголовок КАК Свойство,
    | ТИПЗНАЧЕНИЯ(регДополнительныеСведения.Значение) КАК Значение
    |ИЗ
    | Справочник.СерияТоваров КАК спрСерияТоваров
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК регДополнительныеСведения
    | ПО спрСерияТоваров.Ссылка = регДополнительныеСведения.Объект
    |ГДЕ
    | спрСерияТоваров.Ссылка = &СерияТовара
    | И регДополнительныеСведения.Значение <> НЕОПРЕДЕЛЕНО
    | И регДополнительныеСведения.Значение <> ""
    | И регДополнительныеСведения.Значение <> 0";
```
---
ТипЗнч(Материал) что возвращает?
У тебя составной тип, это означает, что он может иметь пустое значение каждого типа, поэтому накладывать по нему условие в запросе - это всегда небольшой велосипед.
---
Дополнительное значение
---
ТипЗн(Дополнительное значение)
---
И регДополнительныеСведения.Значение <> Значение(Справочник.ДополнительныеЗначения.ПустаяСсылка)
---
Вот, то что надо. Спасибо
---
Как вариант.

```1c
    И регДополнительныеСведения.Значение <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
```
---
.Номенклатура.ПустаяСсылка)
 а причем тут НОМЕНКЛАТУРА?
---
Я предположил, что там этот тип.
---
При левом соединении условие на вторую таблицу нужно накладывать на закладке "связи"
отбор свойства лучше делать по заголовку <> "материал"
---
отбор свойства лучше делать по заголовку <> "материал"
 Такой вариант мне не подходит
День добрый. Решил поковырять EDT, загрузил конфигурацию, настроил доступ все ок, однако, при попытке запустить отладку по F11, получаю сообщение "Ошибка загрузки компоненты vrsbase" и отладка не стартует. Подскажите, пожалуйста, как вылечить?
---
В общем дело в следующем: у меня было установлено несколько версий 8.3.12, при этом некоторые из них только как тонкий клиент, поэтому при запуске отладки в EDT, если явно не указать ту версию платформы, которая установлена полностью, падаем с вот этой ошибкой.
---
Апну тему, мало ли...
---
В общем дело в следующем: у меня было установлено несколько версий 8.3.12, при этом некоторые из них только как тонкий клиент, поэтому при запуске отладки в EDT, если явно не указать ту версию платформы, которая установлена полностью, падаем с вот этой ошибкой.
Нужно из другого документа вывести на макет Word реквизит "НомерДоговора", как это можно сделать? Вот попытки

```1c

```
&НаКлиенте
Процедура НапечататьДокумент(Объект)

   Word = Новый COMОбъект("Word.Application");

   Макет = ПолучитьМакетНаСервере();

   ВременныйПуть = КаталогВременныхФайлов();
   ИмяВременногоФайла = ВременныйПуть + "Приложение2.docx";
   Макет.Записать(ИмяВременногоФайла);
   ТекДок = Word.Documents.ADD(ИмяВременногоФайла);

   ТекДок.Variables("NomerPrilojen").Value = Объект.Номер;
   ТекДок.Variables("Nomer").Value = ПолучитьНомер(Объект);
   ТекДок.Variables("Data").Value = Строка(Формат(Объект.Дата,"ДЛФ = ДД"));
   ТекДок.Variables("Kontragent").Value = Строка(Объект.Контрагент);
   //ТекДок.Variables("Director").Value = Строка(Объект.Директо

   ТекДок.Variables("Kontragent").Value = Строка(Объект.Контрагент);
   //ТекДок.Variables("NomerDogovora").Value = НомерДоговора;
   ТекДок.Variables("Data").Value = Строка(Формат(Объект.Дата ,"ДЛФ = ДД"));

   ТекДок.Fields.Update();

   Word.ActiveWindow.View.ShowFieldCodes = False;
   Word.Visible = True;

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

```1c

```

```1c

```
&НаСервере
Функция ПолучитьНомер(Объект)

 НомерДоговора = Объект.ДоговорКонтрагента.Договор.Номер;

КонецФункции
```1c

```
---
Дописать в функции
```1c
    Возврат НомерДоговора;
```
 ?
---
Дописать в функции
```1c
    Возврат НомерДоговора;
```
 ?
---
Спасибо получилось, расскажите пожалуйста зачем мы используем Возврат?
---
Возврат <Возвращаемое значение>
Ключевое слово, которое завершает выполнение функции и возвращает указанное значение в выражение, в котором используется функция.
В качестве возвращаемого значения может выступать выражение или переменная, значение которого содержит результат обращения к функции.
Если его не написать в функции (как у Вас было) то вернётся "Неопределено"
---
Неопределено Спасибо большое
Конфа на основе БСП. Не получается дать права на добавление дополнительных отчетов и обработок. Справочник открывается без формы списка, только кнопки. Подскажите, как настроить.
---
Если форма без списка то скорее всего константа использования дополнительных отчетов и обработок отключена. Не в правах дело. Функциональность отключена.
---
в конфигураторе то посмотри,
у пользователя должны быть либо права админа, либо полные, либо добавлениеизменениедополнительныхотчетовиобработок.
Возможно профиль групп доступа надо откорректировать, или одобавить отдельный с этими правами.
---
Заведен единственный пользователь, включен в группу доступа Администратор. Создал дополнительную группу доступа с правами "Использование дополнительных отчетов и обработок" и "Добавление и изменение дополнительных отчетов и обработок". Включил пользователя в эту группу. Справочник всё-равно не открывается (список в форме не отображается). По нажатию на кнопку Создать ничего не происходит. В конфигураторе на всякий случай проставлял пользователю все флаги по ролям - безрезультатно.
---
Если форма без списка то скорее всего константа использования дополнительных отчетов и обработок отключена. Не в правах дело. Функциональность отключена.
---
Действительно. Благодарю.
Собственно: есть УТ 11.1, есть документ Заказ клиента, в документе есть автозаполняемый список документов для которых Заказ клиента является основанием, и в этом списке кроме самих документов (что логично) есть пункт "Заказы поставщикам" (именно во множественном числе... потому что выше по списку есть и нормальный Заказ поставщику в единственном числе с соответствующей обработкой нажатия), при нажатии на этот пункт 1С просто виснет.
При отключении документа Заказ поставщику из оснований, пункт Заказы поставщикам не исчезает.
Поиском по текстам конфы не находится.
Ткните куда посмотреть, чтобы его убрать.
---
У нас КА но УТ 11 похожа. У нас тоже есть такой пункт. Но при нажатии на него выдает Нет товаров доступных для заполнения но не зависает.
Если товары с действием к обеспечении тогда выдает новое окно где можно создать заказы разным поставщикам.
Может поможет обновление базы.
---
У нас КА но УТ 11 похожа. У нас тоже есть такой пункт. Но при нажатии на него выдает Нет товаров доступных для заполнения но не зависает.
Если товары с действием к обеспечении тогда выдает новое окно где можно создать заказы разным поставщикам.
Может поможет обновление базы.
---
обновление не вариант)
поищу по тексту сообщения
---
нашел по сообщению - есть форма у документа Заказ поставщику, называется "СозданиеЗаказовПоставщикамНаОсновании", у которой есть параметр ДокументОснование типа Заказ клиента, а в тексте процедура с этим сообщением, видимо как раз вызывается эта форма, но при этом виснет.
---
оказалось, что не совсем виснет, а потихоньку совершает большущий запрос... просто ни у кого из манагеров не хватило терпения дождаться результата)))
---
Много товаров?
---
не сказал бы, что сильно много... да и комп не самый слабый...
---
Поищи команду по синониму в конфигурации, возможно есть отдельная команда где-то. Еще в модуле менеджера может быть процедура, которая заполняет команды ввода на основании. Не помню уже что там в 11.1 было, может как и сейчас, а может нет.

Еще можешь включить замер поизводительности , выполнить команду, а потом по списку вызванных процедур посмотреть какая команда вызывалась.
---
не процедура точно, это-то первым делом посмотрел во всех модулях
Привет всем. Установил платформу 8.3.12.1469 и был неприятно удивлен. Когда на любом элементе формы обычных окон убираешь галочку "Видимость", то элемент пропадает с формы, что бы изменить его свойства, то нужно его находить в списке элементов. это поведение редактора как0то можно убрать?
---
Нет. Это ошибка платформы.
---
Нет. Это ошибка платформы.
---
Сообщил об этой ошибке в 1С. Думаю уже в 8.3.13 это исправят.
Здравствуйте, пытался создать обработку которая при изменении в колонке ТЗ типа Булево очищала бы все остальные значения в этой колонке и записывала бы все в регистр сведений (где уже дублируется информация). Естественно нужно чтобы предыдущие значения в регистре тоже удалялись оставляя только 1 (последнее и единственное), не без помощи людей с форума получился вот такой код:

Процедура РесурсыИзделияПризнакОсновногоРесурсаПриИзменении(Элемент)
 ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
 Если ТекущиеДанные = Неопределено Тогда
  Возврат;
 КонецЕсли;

 РесурсыИзделияПризнакОсновногоРесурсаПриИзмененииНаСервере(ТекущиеДанные);

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

&НаСервереБезКонтекста
Процедура РесурсыИзделияПризнакОсновногоРесурсаПриИзмененииНаСервере(ТекущиеДанные);

 Для Каждого СтрокаТЧ Из ТекущиеДанные Цикл

  РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();
  РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
  РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
  РС.Прочитать();
  РС.Очистить();

 Для Каждого Строка Из ТекущиеДанные Цикл
  СтрокаРС = РегистрыСведений.Ресурсы.Добавить();
  СтрокаРС.Изделие = Строка.Изделие;
  СтрокаРС.РесурсыИзделия = Строка.РесурсыИзделия;
  СтрокаРС.ЕдиницыИзмерения=Строка.ЕдиницыИзмерения;
  СтрокаРС.СпособыХранения=Строка.СпособыХранения;
  СтрокаРС.СрокСлужбы=Строка.СрокСлужбы;
  СтрокаРС.СрокХранения=Строка.СрокХранения;
  СтрокаРС.УстановленныйРесурс=Строка.УстановленныйРесурс;
  СтрокаРС.ПризнакОсновногоРесурса=Строка.ПризнакОсновногоРесурса;
  СтрокаРС.Примечание=Строка.Примечание;
  Строка.ПризнакОсновногоРесурса = Ложь;
 КонецЦикла;
  РС.Записать();
 КонецЦикла;
КонецПроцедуры

Который к сожалению не работает и выдает ошибку:

{Справочник.ЭФО.Форма.ФормаЭлемента.Форма(592)}: Ошибка при вызове метода контекста (РесурсыИзделияПризнакОсновногоРесурсаПриИзмененииНаСервере)
 РесурсыИзделияПризнакОсновногоРесурсаПриИзмененииНаСервере(ТекущиеДанные);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
 форма: Элемент
 имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

Если кто ни будь сталкивался с подобным то помогите решите проблему, и заранее извиняюсь если вопрос глупый так как в 1С практически 0.
---
Не давало*, но вопрос уже решен)
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Странно. Либо у вас описание вопроса не подгрузилось либо у меня не отображается более подробная информация чем тема.
---
Не дает никому ничего написать...
---
Не давало*, но вопрос уже решен)
Имеется обработка загрузка данных из табличного документа. Но она только создает данные на основании данных табличного документа. А в нашей ситуации необходимо на основании табличного документа лишь изменить определенные данные. Например есть список контрагентов. У каждого контрагента имеется договор, к договору привязан вид цен. В табличном xls список контрагентов, договоров, но виды цен иные. Необходимо изменить виды цен по договорам как отобрано в xls.
Каким образом это возможно реализовать. Групповое изменение данных/Универсальный подбор и обработку не предлагать, так как список огромен.
---
Тема закрыта. В решении данной задачи помогла обработка https://infostart.ru/public/284674/
---
на основе загрузчика написать свою изменялку.
Работы на час максимум два.
---
Какой алгоритм применять в таком случае?
---
Возможно ли написать событие при загрузке на изменение данных а не на создание? Без изменения кода самой обработки.
---
написать свою будет без изменения.
Текущая обработка вам ничем не поможет.
---
А чем Вас не устраивает внесение изменений в имеющуюся обработку? Сделайте копию, измените Имя/Синоним и творите с ней что хотите.
---
Писать не хотелось самому
(7)
---
А еще проще обработчик написать в загрузке из табличных документов Инструментов Разработчика.
---
Сообщение было скрыто модератором.
---
Надеялся на то может есть готовое решение у кого
---
Тема закрыта. В решении данной задачи помогла обработка https://infostart.ru/public/284674/
Доброго всем дня!возник один небольшой вопрос. Стоит УТ 10.3 ПРОФ,конфигурация дописана,недавно ее обновляли. Весь список дописанного я восстановил,кроме одного. Раньше после пробития чека по кассе документ Чек ККМ автоматически закрывался,а теперь приходится закрывать его вручную,где можно это прописать?
---
Из процедуры Чек копируете нужный код в процедуру кнопки ОК, как-то так. Ну или просто в процедуре Чек после пробития пишите просто:

```1c
    Закрыть();
```
---
Из процедуры Чек копируете нужный код в процедуру кнопки ОК, как-то так. Ну или просто в процедуре Чек после пробития пишите просто:

```1c
    Закрыть();
```
---
Большое спасибо все получилось
Доброго времени. Почему не может выводиться свой заголовок в СКД? Вчера делал подобный отчета, все настройки взял из него. Но тот работает, а текущий нет. В чем может быть причина?
---
Все. Разобрался. В макете, я выбирал макет заголовка группировки, а надо было просто макет группировки.
---
Настройки - Другие настройки - Заголовок - поставьте галочку
---
Пробовал. Не идет.
---
Настройки - справа указано Имя варианта и Представление?
---
Все. Разобрался. В макете, я выбирал макет заголовка группировки, а надо было просто макет группировки.
Есть заполненное дерево значений типа:
-БазаОтправитель
.....-БазаПолучатель
-БазаОтправитель
.....-БазаПолучатель
...

Мне нужно эти значения записать в регистр сведений:

Отправитель|Получатель|ПланОбмена|ЭтапОбмена|

И я вот не пойму, как мне обходить значения верхнего и нижнего уровней??

```1c
    &НаСервере
    Процедура ОкНаСервере()
    ЭлементыДерева = ИерархияИБ.ПолучитьЭлементы();

    Если ЭлементыДерева.Количество() > 0 Тогда
    НЗ = РегистрыСведений.УчастникиПлановОбмена.СоздатьНаборЗаписей();
    НЗ.Отбор.ПланОбмена.Установить(ПланОбмена);
    НЗ.Отбор.ЭтапОбмена.Установить(ЭтапОбмена);

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

    Попытка
    НЗ.Записать();
    Исключение
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Не удалось записать состав участников по этапу "%1". Причина" + Символы.ПС + ОписаниеОшибки(), ЭтапОбмена));
    КонецПопытки;
    Иначе
    Сообщить("Необходимо выбрать участников обмена!");
    КонецЕсли;
    КонецПроцедуры
```
---
```1c
    УзлыОтправителей = ИерархияИБ.ПолучитьЭлементы();
    Для Каждого УзелОтправителя Из УзлыОтправителей Цикл
    УзлыПолучателей = УзелОтправителя.ПолучитьЭлементы();
    Для Каждого УзелПолучателя Из УзлыПолучателей Цикл
    // тут в переменной УзелОтправителя будет узел верхнего уровня, а в переменной УзелПолучателя - один из его получателей (вложенного уровня)
    КонецЦикла;
    КонецЦикла;
```
---
И я вот не пойму, как мне обходить значения верхнего и нижнего уровней??
да также через получить элементы, только по родителю.

Если количество уровней иерерхии неопределено, то делать рекурсивную функцию.
Если их всего 2, то получай подчиненного и все.
---
А можете пример написать, пожалуйста.
---
У меня сложно состоит конкретно в том, чтобы при обходе цикла по данным верхнего уровня получать данные нижнего уровня. Уровней всего два.
---
```1c
    УзлыОтправителей = ИерархияИБ.ПолучитьЭлементы();
    Для Каждого УзелОтправителя Из УзлыОтправителей Цикл
    УзлыПолучателей = УзелОтправителя.ПолучитьЭлементы();
    Для Каждого УзелПолучателя Из УзлыПолучателей Цикл
    // тут в переменной УзелОтправителя будет узел верхнего уровня, а в переменной УзелПолучателя - один из его получателей (вложенного уровня)
    КонецЦикла;
    КонецЦикла;
```
---
Аа, вот я тормоз! Спасибо Вам огромное!