|
Изменение реквизита ЕдиницаИзмерения справочника Номенклатура
Timon1405, dchumak, Vstur, Ivanich, Ненавижу 1С, NumSupra, , , kir-g, , АгентБезопаснойНацио, , , Мультук, Hawk_1c, alexis_nov, Ёпрст, Злопчинский, Ногаминебить, nick86, Vostochnick, Волшебник, , s_trikozin, formista2000, Valdis2007, RAJAH, Климов Сергей, Has, piter3, Bigbro, Галахад, arsik, Karamzin, СвинТуз, программистище, Ager, 2S, Metman, Zombi, dergreche, Mr_Boogie, qwerty, shuhard
| ☑ |
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
|
Всем спасибо. Как говорится одна голова хорошо, а без неё смешнее. Код работал, проблема была в том что у некоторых элементов был заполнен реквизит НаборУпаковок. Ёпрст, вам отдельное спасибо, натолкнули на решение. Всем ХОРОШЕГО ДНЯ
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший