Имя: Пароль:
1C
 
кд из 77 в 83 как при загрузке данных проверять реквизит справочника, если
0 anna3388
 
16.08.16
09:40
не совпадает , то не загружать...
есть 4 реквизита их нужно проверять при загрузке...читала вот это http://catalog.mista.ru/public/103729/ не могу понять , мне так же делать через параметры или есть какой-то другой срособ

пробовала в ПКС при загрузке, но Источник уже не доступен
1 Dragner
 
16.08.16
09:55
А если перед загрузкой?
2 Aleksey
 
16.08.16
09:59
Не понял
Если совпадает, то смысл загружать, они и так совпадают
Если не совпадают - то не загружать

Вывод. Вообще не выгружать реквизиты?
3 anna3388
 
16.08.16
10:01
(2) да есть смысл
это высота, длина,ширина - при первой выгрузке надо выгрузить,
затем в 8,3 будут вносить их или исправлять ...и когда будет загрузка из 7,7 - она не должна менять уже в 8,3 эти реквизиты
4 anna3388
 
16.08.16
10:02
(1) а как перед загрузкой
5 anna3388
 
16.08.16
10:19
ап
6 Aleksey
 
16.08.16
10:28
(3) Ну так
НеЗамещать - Булево - по умолчанию определяется в настройках правила, но может быть изменено в теле обработчика. Если установить значение Истина, то для существующих объектов информационной базы установка свойства производиться не будет.

Т.е. поставь галочку чтобы он заполнял только при создании
7 Aleksey
 
16.08.16
10:31
Либо после загрузки

Событие выполняется после прочтения и установки атрибутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.

Если ОбъектНайден тогда
ОбъектВБазе = Ссылка.ПолучитьОбъект();
Если ЗначениеЗаполнено(ОбъектВБазе.высота) тогда
Объект.Высота = ОбъектВБазе.Высота;//восстановим из базы значение
КонецЕсли;
Если ....
КонецЕсли;
8 anna3388
 
16.08.16
10:37
(7) спасибо , сейчас попробую
9 anna3388
 
16.08.16
10:38
(6) вроде как для выгрузки из 77 не работает, но сейчас проверю тоже
10 Dragner
 
16.08.16
10:45
Перед загрузкой
Условия возникновения события
Только для платформы V8.
Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован.
11 Aleksey
 
16.08.16
10:52
(10) ему не объект, а реквизит нужно отслеживать

Т.е. есть объект Справочник номенклатура. У него есть реквизит - число, длина высота и ширина. Вот эти реквизиты нужно обновлять, только если они = 0 (не заполнены)
12 anna3388
 
16.08.16
10:56
(11) все спасибо, огромное, преогромное))) получилось, как (7)
13 Dragner
 
16.08.16
11:00
"кд из 77 в 83 как при загрузке данных проверять реквизит справочника, если не совпадает , то не загружать..."

Я понял как не загружать объект выгрузки, если этот объект присутствует в базе-приёмнике и реквизиты объекта выгруженного, совпадают с реквизитами объекта в базе-приёмнике.
14 бомболюк
 
16.08.16
11:04
можно значение реквизита параметром выгружать и в "ПослеЗагрузки" сравнивать.
15 Dragner
 
16.08.16
11:08
(14) Извращение какое-то. Загружать объект, а потом смотреть, нужен он нам или нет. Ресурсы зря расходуются.
16 anna3388
 
16.08.16
11:11
(15) я понимаю, что расходуются, но ничего красивого не нашла...
17 Dragner
 
16.08.16
11:13
(16) если (13) верно, то ответ в (10)
18 Йохохо
 
16.08.16
11:14
(16) поля с галкой "Поиск" доступны в самом первом обработчике, который еще только ищет объект, можно там проверять. Ставим галку на Ширину, но кодом задаем строку поиска без нее, и сразу сверяем
19 бомболюк
 
16.08.16
11:15
(15) а ничего не извращение. во время выгрузки приемник (в общем случае) недоступен, значит в момент выгрузки сравнить не получится в принципе. значит выгружаем значение в любом случае и смотрим при загрузке, нужно его грузить или нет.
20 Dragner
 
16.08.16
11:17
(19) не при, а перед. Я за этот метод и пишу. А не за метод загрузить, а потом думать, записать его или нет. События "при загрузке" и "после загрузки" для других целей служат.
21 anna3388
 
16.08.16
11:18
(20) мне не весь объект нужен и не все реквизиты...а определенные
22 Dragner
 
16.08.16
11:19
(18) каким образом в ПКС через поиск можно сравнить значения в базе-источнике и базе-приёмнике?
23 Dragner
 
16.08.16
11:19
(21) и хорошо, я расширяю свои знания. Спасибо за ответы. :-)
24 Йохохо
 
16.08.16
11:20
(18) из пушки по воробьям, из-за пары секунд не стоит заморачиваться, и поддерживать сложнее, (10) и всё
(21) свой запрос напиши в обработке поиска) "где Номер = &Номер и Ширина <> 0"
(22) очевидно в источнике никак, но поиск самый первый обработчик в приемнике и там прервать оптимально
25 Aleksey
 
16.08.16
11:21
()(24) Как (10) поможет??
26 Aleksey
 
16.08.16
11:22
(24)
И что ты получишь? ЧТо каждый раз будет новый объект создаваться?
Прервать что? Загрузку в поиски ты не прервешь
27 Йохохо
 
16.08.16
11:22
(25) (7) я напутал
(24) + поля поиска выгружаются всегда до объекта в хмл
28 Aleksey
 
16.08.16
11:26
(27) Ну выгружается и что? В обработчике Поля поиска ты не можешь прервать загрузку, там идет поиск объекта и если объект не найден он будет создан.
ТС же нужно не обновлять некоторые РЕКВИЗИТЫ объекта, если они заполнены
29 Dragner
 
16.08.16
11:26
(25) (27) что-то я не понимаю. Вы загружаете объект, затем проверяете его реквизиты и, в случае когда условия проверки выполняются, вы не записываете объект. Так?
30 Йохохо
 
16.08.16
11:28
(28) жаль) нет КД под рукой, тогда тем более (7). Идея была получить и проверить реквизиты до загрузки объекта и даже до чтения, нет так нет
(29) да, и ничего страшного
31 Dragner
 
16.08.16
11:29
(28) нифига в (0) не сказано, что не нужно обновлять значение реквизита. Сказано, что если условия удовлетворяют, то не загружать (контекст: справочник)!
32 Йохохо
 
16.08.16
11:30
(31) см (3)
33 Dragner
 
16.08.16
11:31
(32) их тогда вообще выгружать не стоит.
34 Йохохо
 
16.08.16
11:33
(33) см (22) by &Dragner
35 Dragner
 
16.08.16
11:36
(34) не, я про то, что если их всё равно правят уже в источнике. Пускай будет несколько сотен тысяч позиций с измерениями, это как-то оправдывает всю ситуацию.
36 Dragner
 
16.08.16
11:37
+(35) в приёмнике, конечно же, а не источнике.
37 Aleksey
 
16.08.16
11:49
(35) А кто сказал что их правят в источнике? Их могут инициализировать там, а дальше правка этих реквизитов идет в приемнике.

Т.е. в основной базе снабженец заводит новую позицию и по возможности проставляет эти данные (ну например поставщик иногда предоставляет). Далее этот справочник выгружается в программу для складского учета (в какую нибудь WMS) где уже по месту данные уточняются и до заполняются/корректируются.
Т.е. по сути эти данные нужны только в складской программе. Но начальство захотело чтобы снабженец мог их вводить и в основной, а дальше, складская служба, уже правила.

Предлагаешь дать доступ в основную базу кладовщикам. Плюс возможность им инициализировать обмен для выгрузки того что они направили? Или кладовщик должен каждый раз звонить снабженцу, чтобы он поправил цифры, потом звонить в отдел ИТ чтобы они провели незапланированный обмен?
38 Йохохо
 
16.08.16
11:49
(36) не понимаю в чем вопрос, вроде все решили
39 Dragner
 
16.08.16
11:57
(37) из (3) "это высота, длина,ширина - при первой выгрузке надо выгрузить,
затем в 8,3 будут вносить их или исправлять ...и когда будет загрузка из 7,7 - она не должна менять уже в 8,3 эти реквизиты"
так что с реквизитами работают в приёмнике.
40 Dragner
 
16.08.16
11:58
(38) да не. Это я своё невежество оправдываю. Всё нормально. Я понял, что речь шла об одном реквизите, а не о справочнике в целом.
41 Aleksey
 
16.08.16
12:02
(39) Откуда у вас такие мысли??

Снабженец когда заводил позицию перепутал длину и ширину, т.е. он указал эти данные, но они не верные.
Данные выгрузились в 8.3, Кладовщик видит что данные некорректные исправляет у себя в программе эти данные (у него же в 7-ку нет доступа).

При следующей выгрузки этой номенклатуры автоматически выгружаются из 7-ке некорректные данные о длине и ширине (в 7-ке же их никто не правил). Соответственно нужно чтобы если данные в 8-ке уже заполнены, они не обновлялись из 7-ке.

Заметь никто в 7-ке их не правил, с чего ты взял что кто-то поработал и изменил эти данные в 7-ке (приемнике)
42 Dragner
 
16.08.16
12:20
(41) 1C 7.7 - не приёмник, а источник. И я не говорил, что реквизиты в 8.3 нужно переписывать.
43 Aleksey
 
16.08.16
12:27
(42) очепятка
* Заметь никто в 7-ке их не правил, с чего ты взял что кто-то поработал и изменил эти данные в 7-ке (источнике)