кд из 77 в 83 как при загрузке данных проверять реквизит справочника, если #778722


#0 by anna3388
не совпадает , то не загружать... есть 4 реквизита их нужно проверять при загрузке...читала вот это не могу понять , мне так же делать через параметры или есть какой-то другой срособ пробовала в ПКС при загрузке, но Источник уже не доступен
#1 by Dragner
А если перед загрузкой?
#2 by Aleksey
Не понял Если совпадает, то смысл загружать, они и так совпадают Если не совпадают - то не загружать Вывод. Вообще не выгружать реквизиты?
#3 by anna3388
да есть смысл это высота, длина,ширина - при первой выгрузке надо выгрузить, затем в 8,3 будут вносить их или исправлять ...и когда будет загрузка из 7,7 - она не должна менять уже в 8,3 эти реквизиты
#4 by anna3388
а как перед загрузкой
#5 by anna3388
ап
#6 by Aleksey
Ну так НеЗамещать - Булево - по умолчанию определяется в настройках правила, но может быть изменено в теле обработчика. Если установить значение Истина, то для существующих объектов информационной базы установка свойства производиться не будет. Т.е. поставь галочку чтобы он заполнял только при создании
#7 by Aleksey
Либо после загрузки Событие выполняется после прочтения и установки атрибутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.
#8 by anna3388
спасибо , сейчас попробую
#9 by anna3388
вроде как для выгрузки из 77 не работает, но сейчас проверю тоже
#10 by Dragner
Перед загрузкой Условия возникновения события Только для платформы V8. Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован.
#11 by Aleksey
ему не объект, а реквизит нужно отслеживать Т.е. есть объект Справочник номенклатура. У него есть реквизит - число, длина высота и ширина. Вот эти реквизиты нужно обновлять, только если они = 0 (не заполнены)
#12 by anna3388
все спасибо, огромное, преогромное))) получилось, как
#13 by Dragner
"кд из 77 в 83 как при загрузке данных проверять реквизит справочника, если не совпадает , то не загружать..." Я понял как не загружать объект выгрузки, если этот объект присутствует в базе-приёмнике и реквизиты объекта выгруженного, совпадают с реквизитами объекта в базе-приёмнике.
#14 by бомболюк
можно значение реквизита параметром выгружать и в "ПослеЗагрузки" сравнивать.
#15 by Dragner
Извращение какое-то. Загружать объект, а потом смотреть, нужен он нам или нет. Ресурсы зря расходуются.
#16 by anna3388
я понимаю, что расходуются, но ничего красивого не нашла...
#17 by Dragner
если верно, то ответ в
#18 by Йохохо
поля с галкой "Поиск" доступны в самом первом обработчике, который еще только ищет объект, можно там проверять. Ставим галку на Ширину, но кодом задаем строку поиска без нее, и сразу сверяем
#19 by бомболюк
а ничего не извращение. во время выгрузки приемник (в общем случае) недоступен, значит в момент выгрузки сравнить не получится в принципе. значит выгружаем значение в любом случае и смотрим при загрузке, нужно его грузить или нет.
#20 by Dragner
не при, а перед. Я за этот метод и пишу. А не за метод загрузить, а потом думать, записать его или нет. События "при загрузке" и "после загрузки" для других целей служат.
#21 by anna3388
мне не весь объект нужен и не все реквизиты...а определенные
#22 by Dragner
каким образом в ПКС через поиск можно сравнить значения в базе-источнике и базе-приёмнике?
#23 by Dragner
и хорошо, я расширяю свои знания. Спасибо за ответы. :-)
#24 by Йохохо
из пушки по воробьям, из-за пары секунд не стоит заморачиваться, и поддерживать сложнее, и всё свой запрос напиши в обработке поиска) "где Номер = &Номер и Ширина <> 0" очевидно в источнике никак, но поиск самый первый обработчик в приемнике и там прервать оптимально
#25 by Aleksey
Как поможет??
#26 by Aleksey
И что ты получишь? ЧТо каждый раз будет новый объект создаваться? Прервать что? Загрузку в поиски ты не прервешь
#27 by Йохохо
я напутал + поля поиска выгружаются всегда до объекта в хмл
#28 by Aleksey
Ну выгружается и что? В обработчике Поля поиска ты не можешь прервать загрузку, там идет поиск объекта и если объект не найден он будет создан. ТС же нужно не обновлять некоторые РЕКВИЗИТЫ объекта, если они заполнены
#29 by Dragner
что-то я не понимаю. Вы загружаете объект, затем проверяете его реквизиты и, в случае когда условия проверки выполняются, вы не записываете объект. Так?
#30 by Йохохо
жаль) нет КД под рукой, тогда тем более . Идея была получить и проверить реквизиты до загрузки объекта и даже до чтения, нет так нет да, и ничего страшного
#31 by Dragner
нифига в не сказано, что не нужно обновлять значение реквизита. Сказано, что если условия удовлетворяют, то не загружать (контекст: справочник)!
#32 by Йохохо
см
#33 by Dragner
их тогда вообще выгружать не стоит.
#34 by Йохохо
см by &Dragner
#35 by Dragner
не, я про то, что если их всё равно правят уже в источнике. Пускай будет несколько сотен тысяч позиций с измерениями, это как-то оправдывает всю ситуацию.
#36 by Dragner
+ в приёмнике, конечно же, а не источнике.
#37 by Aleksey
А кто сказал что их правят в источнике? Их могут инициализировать там, а дальше правка этих реквизитов идет в приемнике. Т.е. в основной базе снабженец заводит новую позицию и по возможности проставляет эти данные (ну например поставщик иногда предоставляет). Далее этот справочник выгружается в программу для складского учета (в какую нибудь WMS) где уже по месту данные уточняются и до заполняются/корректируются. Т.е. по сути эти данные нужны только в складской программе. Но начальство захотело чтобы снабженец мог их вводить и в основной, а дальше, складская служба, уже правила. Предлагаешь дать доступ в основную базу кладовщикам. Плюс возможность им инициализировать обмен для выгрузки того что они направили? Или кладовщик должен каждый раз звонить снабженцу, чтобы он поправил цифры, потом звонить в отдел ИТ чтобы они провели незапланированный обмен?
#38 by Йохохо
не понимаю в чем вопрос, вроде все решили
#39 by Dragner
из "это высота, длина,ширина - при первой выгрузке надо выгрузить, затем в 8,3 будут вносить их или исправлять ...и когда будет загрузка из 7,7 - она не должна менять уже в 8,3 эти реквизиты" так что с реквизитами работают в приёмнике.
#40 by Dragner
да не. Это я своё невежество оправдываю. Всё нормально. Я понял, что речь шла об одном реквизите, а не о справочнике в целом.
#41 by Aleksey
Откуда у вас такие мысли?? Снабженец когда заводил позицию перепутал длину и ширину, т.е. он указал эти данные, но они не верные. Данные выгрузились в 8.3, Кладовщик видит что данные некорректные исправляет у себя в программе эти данные (у него же в 7-ку нет доступа). При следующей выгрузки этой номенклатуры автоматически выгружаются из 7-ке некорректные данные о длине и ширине (в 7-ке же их никто не правил). Соответственно нужно чтобы если данные в 8-ке уже заполнены, они не обновлялись из 7-ке. Заметь никто в 7-ке их не правил, с чего ты взял что кто-то поработал и изменил эти данные в 7-ке (приемнике)
#42 by Dragner
1C 7.7 - не приёмник, а источник. И я не говорил, что реквизиты в 8.3 нужно переписывать.
#43 by Aleksey
очепятка * Заметь никто в 7-ке их не правил, с чего ты взял что кто-то поработал и изменил эти данные в 7-ке (источнике)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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