|
кд из 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-ке (источнике) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |