Приветствую. Нужна помощь по заданию
1. Создать конфигурацию, в которой есть справочник «Номенклатура»:
иерархический, количество уровней неограниченно или максимально возможное.
Реквизиты: Наименование и Код.
2. Написать обработку для выполнения следующей задачи:
На входе: Строка неограниченной длины, куда пользователь вводит название искомой
группы с указанием всех вышестоящих групп, используя разделитель («\»).
Результат: Если искомой группы в справочнике нет, создаем ее, если есть выводим
сообщение, что группа существует.
Например:
Пользователь вводит строку «Мебель\Шкафы\Белый цвет». Результатом будет
создание группы «Мебель», группы «Шкафы» в ней и создание группы «Белый цвет» в
группе «Шкафы».
1. Создать конфигурацию, в которой есть справочник «Номенклатура»:
иерархический, количество уровней неограниченно или максимально возможное.
Реквизиты: Наименование и Код.
2. Написать обработку для выполнения следующей задачи:
На входе: Строка неограниченной длины, куда пользователь вводит название искомой
группы с указанием всех вышестоящих групп, используя разделитель («\»).
Результат: Если искомой группы в справочнике нет, создаем ее, если есть выводим
сообщение, что группа существует.
Например:
Пользователь вводит строку «Мебель\Шкафы\Белый цвет». Результатом будет
создание группы «Мебель», группы «Шкафы» в ней и создание группы «Белый цвет» в
группе «Шкафы».
По теме из базы знаний
- Обработки для просмотра таблиц, списков, справочников, документов, регистров. Групповая обработка справочников и документов.
- Обработка справочника контрагенты, договоры контрагентов
- Групповая обработка справочников и документов (управляемые формы)
- Как сделать телефонный справочник компании на мобильном телефоне для iOS
- Шаблон дополнительной обработки, работающей по расписанию
Найденные решения
(1)
ИменаГрупп = СтрРазделить(ПолныйПуть, "\", Ложь);
Родитель = Справочники.Номенклатура.ПустаяСсылка();
НайденныйИндекс = Неопределено;
Для Индекс = 0 По ИменаГрупп.ВГраница() Цикл
Группа = Справочники.Номенклатура.НайтиПоНаименованию(ИменаГрупп[Индекс], Истина, Родитель);
Если Группа.Пустая() Тогда
НайденныйИндекс = Индекс;
Прервать;
КонецЕсли;
Родитель = Группа;
КонецЦикла;
Если НайденныйИндекс = Неопределено Тогда
Сообщить("Группа существует");
Возврат;
КонецЕсли;
Для Индекс = НайденныйИндекс По ИменаГрупп.ВГраница() Цикл
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = ИменаГрупп[Индекс];
НоваяГруппа.Родитель = Родитель;
НоваяГруппа.Записать();
Родитель = НоваяГруппа.Ссылка;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ИменаГрупп = СтрРазделить(ПолныйПуть, "\", Ложь);
Родитель = Справочники.Номенклатура.ПустаяСсылка();
НайденныйИндекс = Неопределено;
Для Индекс = 0 По ИменаГрупп.ВГраница() Цикл
Группа = Справочники.Номенклатура.НайтиПоНаименованию(ИменаГрупп[Индекс], Истина, Родитель);
Если Группа.Пустая() Тогда
НайденныйИндекс = Индекс;
Прервать;
КонецЕсли;
Родитель = Группа;
КонецЦикла;
Если НайденныйИндекс = Неопределено Тогда
Сообщить("Группа существует");
Возврат;
КонецЕсли;
Для Индекс = НайденныйИндекс По ИменаГрупп.ВГраница() Цикл
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = ИменаГрупп[Индекс];
НоваяГруппа.Родитель = Родитель;
НоваяГруппа.Записать();
Родитель = НоваяГруппа.Ссылка;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот