Запись новой номенклатуры. Помогите понять строчку кода #656143


#0 by shock3r
Разбираю обработку человека, который уволился, по причине того, что обработка начала ошибку выдавать, не могу понять какой смысл заложен в строку, помеченную звездочками... Если ее закоментить, то в чем принципиальное отличие будет? лог ошибки: {ВнешняяОбработка.ЗагрузкаДанныхИзРБ.МодульОбъекта}: Ошибка при вызове метода контекста (Записать)   НоваяНоменклатура.Записать; по причине: Ошибка при попытке вставки записи с неуникальным значением ссылки. таблица Reference46.
#1 by НафНаф
>>Разбираю обработку человека, который уволился, по причине того, что обработка начала ошибку выдавать сурово
#2 by shock3r
try catch этот блок уже я добавил, его не было на момент записи лога
#3 by forforumandspam
:)
#4 by shock3r
мой утрений баг, сорри))
#5 by НафНаф
что вот вот это? НоваяНоменклатура = СтрНом.Номенклатура;
#6 by forforumandspam
НоваяНоменклатура - не "СправочникОбъект" ни разу.
#7 by zak555
#8 by andreymongol82
Круто! Сделал пакость и смылся!
#9 by toxicoff
угарел от причины уволнения :) Скорее всего он обнуляет код в надежде, что автонумерация отработает и выдаст новые код справочника. Там дальше объект.УстановитьКодНового нету?
#10 by Reset
Откуда инфа? :)
#11 by andreymongol82
СтрНом.Номенклатура Как правило это ссылка
#12 by shock3r
Там дальше объект.УстановитьКодНового нету?
#13 by Reset
Кто сказал?
#14 by НафНаф
наверняка записываете с тем же UUID
#15 by shock3r
нету такого)
#16 by Reset
Ошибка в том, что такой элемент с такой ссылкой уже загружался
#17 by Dolphinbet
Причем здесь код, когда ссылка не уникальная? Скорее всего идет загрузка справочника Номенклатуры с установкой ссылки через УстановитьСсылкуНового
#18 by shock3r
Ребята уточню: СтрНом.Номенклатура - эта данные которые берутся из xml файла, т.е. обработка выгружает номенклатуру из одной базы в другую.... в данном случае, этот блок уже запиливает в другую базу подскажите как обойти ошибку
#19 by АНДР
Смотри что твориться в подписке на событие перед записью элемента справочника. Но судя по "НоваяНоменклатура.Наименование = "Тест";" фигня это всё.
#20 by zak555
в xml выгружен как ? как объект ? тогда в топку код -- грузи сразу весб объект
#21 by shock3r
#22 by shock3r
вот весь кусок в котором ошибка вылетает
#23 by Reset
Номенклатура.ЭтоГруппа = ЛОЖЬ Лишнее
#24 by andreymongol82
жесть
#25 by cw014
ИМХО г0вн0к0д
#26 by shock3r
вообщем смысл в том, что, в теории, он смотрит чтобы в справонике не было такой номенклатуры, и только тогда ее записывает, почему могла возникнуть ситуация, мол ссылка не уникальная мне не понятно
#27 by forforumandspam
пТаблицаНоменклатуры - что такое? Откуда?
#28 by shock3r
это выгруженная номенклатура из XML, которую нужно добавить в текущую базу
#29 by forforumandspam
Пора говн_окод на мисте отдельно как-то выделять. Коллекция гов_нокода будет.
#30 by acsent
скорее всего гдето устанавливяется ссылка нового - не уникальная
#31 by АНДР
Всё прозрачно до неприличия. Есть группа с таким UIDD.
#32 by andreymongol82
СтрНом.Номенклатура.Ссылка - значение какое в отладчике показывает?
#33 by Reset
Я понимаю в чем смысл. Но если если такая ссылка уже есть, и она, по несчастью, является группой, то условие пускает "алгоритм" (с позволения сказать) по неверному пути.
#34 by shock3r
вообщем вопрос, из-за строчки НоваяНоменклатура.Код = ""; могла возникнуть ошибка? В чем отличие, если ее просто закоментить?
#35 by Reset
Нет. Закментить строку
#36 by shock3r
Спасибо! вот это действительно интересная мысль!!!!
#37 by andreymongol82
Могла, но другая. Заремарить
#38 by Privalov
Нет.
#39 by acsent
Может есть группа с той же ссылкой?
#40 by Reset
Пожалуйста.
#41 by shock3r
спасибо, я понял косяк! уберу группа = ложь
#42 by НафНаф
надо проверять существование ссылки вот так ПолучитьСсылку безо всяких выкрутасов
#43 by Reset
Хм?
#44 by НафНаф
брешу, но можно так получить ссылку, а потом запросом ее найти
#45 by Reset
Да, для проверки существования "объекта по ссылке" нужен запрос в том или ином виде
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С