автоматически генерировать номер или код если он не задан, не сработало. #559983


#0 by zippygrill
Поставил галку у загружаемого объекта, но код по прежднему образовался из источника. что за фигня?
#1 by zippygrill
в Конвертации.
#2 by sereban
Убери код из ПКС если он не нужен.
#3 by Aleksey
"автоматически генерировать номер или код если он НЕ ЗАДАН" и
#4 by zippygrill
а его как раз и НЕТУ в ПКС объекта. еще идеи?
#5 by Aleksey
Если код перенеся, значит есть правило конвертации свойства "код"
#6 by Aleksey
, если конечно ты его сам конечно не формируешь из параметров
#7 by zippygrill
плеа.... нету никакой ПКС Код или Номер в ПКО. да и без параметров работаю.
#8 by Aleksey
Ну чудес же не бывает? Точно перенеся, или просто совпал код? Есть ли код в xml файле
#9 by zippygrill
в xml тоже нету это свойства.
#10 by zippygrill
фигня.
#11 by zippygrill
ап
#12 by zippygrill
ну?
#13 by zippygrill
нет?
#14 by pavig
значит перегружаемый элемент справочника уже был в применике, и у него был назначенный код
#15 by pavig
не?
#16 by GenV
Галка "автоматически генерировать номер или код если он не задан" означает, что когда ты загрузил объект и у него пустой код/номер, то этот код/номер будет сгенерирован, а не останется пустым. Т.ч. имеет смыл только для новых объектов или для объектов у которых при загрузке будет пустой код/номер.
#17 by zippygrill
пример: перенос, скажем, контрагент с синхронизацией по ИНН. при загрузки если не будет найден контрагент с ИНН-123456 то создается новый объект. Вот у этого нового объекта и будет уникальная нумерация(Новый Код) приемника. не так разве все?
#18 by zippygrill
ок. тогда как задать новый код объекту?
#19 by GenV
Да. ЗЫ Для обработки УниверсальныйОбменДаннымиXML так же должна быть установлена галка "ОбменДанными.Загрузка = Истина". Будет присвоен новый код через УстановитьНовыйКод
#20 by zippygrill
И в Правах и в обработке установлены галки. В обработке она по умолчанию стойт.
#21 by zippygrill
*Правилах
#22 by zippygrill
вот ПКС объекта(нету никакого ПКС "Код"): вот Настройка объекта с галкой автогенерировать: вот галка "ОбменДанными.Загрузка = Истина" в обработке: что еще блин?
#23 by GenV
Что у тебя в обработчике(-ах) загрузки для ПКО Контрагенты?
#24 by zippygrill
в ПоляПойска если этогруппа то идет пойск по родитель,наименование,этогруппа иначе по инн и этогруппа. в ПослеЗагрузки если родитель пустой тогда подставляю этот параметр. Параметр:
#25 by zippygrill
+ и почему-то у программной созданой группы Контрагенты МЦБ(7.7) "Код" уже из источника. что и неправильно.
#26 by GenV
Добавь в ПослеЗагрузки ПКО Контрагенты код: или в отладчике при загрузке проверь, что для этих объектов заходит в процедуру ПровестиГенерациюКодаНомераПриНеобходимости ЗЫ Может правила не обновил? Попробуй переименовать твою программную группу (естественно в тестовой базе) и поставить её другой код.
#27 by zippygrill
вот что на картинке. Как видишь коды не те:
#28 by GenV
Ну, это скорее всего коды не из источника, а последний код из приемника (если у тебя в приемнике есть где-то в справочнике элемент с префиксом "Й", то при создании группы и присвоении нового кода через УстановитьНовыйКод у тебя будет код с таким префиксом как самый последний).
#29 by zippygrill
согласен. Но до этого я же загружал, можно сказать в чистую базу. а код всеравно из источника брался.
#30 by GenV
Тогда добавь в ПослеЗагрузки Сообщить("Код=" + Объект.Код); и сразу будет видно загружается код или генерируется после загрузки объекта из-за префикса. ЗЫ Можно и самому его генерировать, если хочешь что бы начинался с "0" в ПослеЗагрузки через: Объект.УстановитьНовыйКод("0").
#31 by zippygrill
+ вот из картинке видно что код Й00001466 был первый загружен. Откуда он взялся если в спр нету вообще такого кода. я ранее пробовал Объект.УстановитьНовыйКод но ругался что нету такого метода :)
#32 by GenV
Вот если бы убрал иерархический просмотр и сделал сортировку по коду тогда да, было бы видно ) Плохо пробывал или не в ПослеЗагрузки. В любом случае можешь проверить в отладчике: на входе в ПровестиГенерациюКодаНомераПриНеобходимости кода быть не должно, а на выходе уже сгенерированный код.
#33 by zippygrill
вот что пишет с Сообщить("Код=" + Объект.Код); Код=
#34 by zippygrill
+ Написал Объект.УстановитьНовыйКод("0"). У всех элементов присваивался код кроме моей программно созданой группы.
#35 by GenV
Правильно пишет. Код же генерируется потом. Ну, ты же не назначаешь своей группе код с префиксом "0", а последний префикс элементов у тебя "Й"
#36 by zippygrill
спс. получилось без Объект.УстановитьНовыйКод("0"). Плохо что еще не понял до конца почему до этого не работало((
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

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