Имя: Пароль:
1C
 
Изменение реквизита ЕдиницаИзмерения справочника Номенклатура
0 NumSupra
 
08.04.25
10:11
ДВС!
Вроде задача простая. Розница 2.3. Есть элементы Номенклатуры без единиц измерения. Есть список номенклатуры в экселе для обработки.
В результате обработки часть элементов единицы заполнились, а часть нет. Ошибок никаких не выдает.
Предварительно Эксель читаю в табличный документ. Вот собственно код

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

Для НомерСтроки = 1 По (КоличествоСтрок) Цикл

        Ном = Справочники.Номенклатура.НайтиПоКоду(ТабДок.Область("R" + Формат(НомерСтроки, "ЧГ=0") + "C" + 1).Текст);
        Ном=Ном.ПолучитьОбъект();

        Ном.ЕдиницаИзмерения=ЕИ;  

        Попытка
                Ном.Записать();
        Исключение
                Сообщить (Ном.Наименование+"  "+ОписаниеОшибки());
        КонецПопытки;

КонецЦикла;
1 Ёпрст
 
гуру
08.04.25
10:19
Продолжайте наблюдение
2 NumSupra
 
08.04.25
10:27
А по существу? Не могу понять, в чем загвоздка
3 Ёпрст
 
гуру
08.04.25
10:28
(2) хз как там в рознице, в старых конфах единицы измерения были подчиненным справочником с владельцем номенклатура, и унутре у них был реквизит на океи
4 Ёпрст
 
гуру
08.04.25
10:28
В новых конфах, это вообще УпаковкиЕдиницыИзмерения.
5 Ёпрст
 
гуру
08.04.25
10:29
А ты, судя по коду..ищешь единицы измерения с другим владельцем + нет нигде проверок, что что-то нашлось/не нашлось по коду.
6 СвинТуз
 
08.04.25
10:46
НайтиПоКоду (FindByCode)
Синтаксис:
НайтиПоКоду(<Код>, <ПоискПоПолномуКоду>, <Родитель>, <Владелец>)
Параметры:
<Код> (обязательный)
Тип: Число, Строка.
Искомый код.
Строка или число в зависимости от настроек справочника в конфигураторе.
<ПоискПоПолномуКоду> (необязательный)
Тип: Булево.
Определяет режим поиска по полному коду. Истина - искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом "/".
Значение по умолчанию: Ложь.
<Родитель> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
<Владелец> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
Возвращаемое значение:
Тип: СправочникСсылка.<Имя справочника>, Неопределено.
Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка.
Если для справочника код не задан (длина = 0), то будет возвращено Неопределено.
7 СвинТуз
 
08.04.25
10:47
Найти по наименованию примерно та же история
8 Злопчинский
 
08.04.25
10:51
ЕИ=Справочники.БазовыеЕдиницыИзмерения.НайтиПоНаименованию("шт");
я сильно сомневаюсь что так правильно. Можно, наверное, не неправильно.
Скорее всего в конфиге определена какая-нить контаната или глобальная переменная которая определяет "шт"
9 NumSupra
 
08.04.25
11:08
Проверки были, убрал чтобы не загромождать код.
10 NumSupra
 
08.04.25
11:10
В часть номенклатуры этот код добавил Единицы измерения, а в часть нет
11 Ногаминебить
 
08.04.25
11:27
Оставить в екселе 1 строчку (ту, которая не нашлась), запустить отладчик. Ну и все. :)
12 NumSupra
 
08.04.25
12:03
Всем спасибо. Как говорится одна голова хорошо, а без неё смешнее. Код работал, проблема была в том что у некоторых элементов был заполнен реквизит НаборУпаковок. Ёпрст, вам отдельное спасибо, натолкнули на решение. Всем ХОРОШЕГО ДНЯ
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан