Имя: Пароль:
1C
 
КД2 проверка заполненности реквизита а источнике и отмена обмена.
,
0 Kongo2019
 
22.08.22
10:29
Доброго.
База источник и база приемник один справочник синхронизируется по реквизиту.
Данные конечно синхронизируются не все, тупо проверка на заполненность не годится.
Этот реквизит является элемента справочника номенклатура, выгружаем документы отгрузки по определенному критериям, то есть не все доки подряд.
Поэтому нужно проверять заполненность реквизита только в используемых элементах справочника номенклатуры.
Если хоть в одном элементе реквизит не заполнен то обмен не проводить.
Выдать сообщение что такие элементы содержать пустое значение.
1 VladZ
 
22.08.22
10:36
(0) Почему нельзя сделать подобную проверку на стороне источника?
2 Kongo2019
 
22.08.22
10:41
(1) Ну так я про это и спрашиваю, как реализовывать такую проверку при выгрузке, если проверка не прошла выгрузку не делать. На источнике конечно.
3 sitex
 
naïve
22.08.22
10:43
(2) ПередВыгрузкойДанных  не ?
4 Kongo2019
 
22.08.22
10:48
(3)Ну и так понятно. Я не спрашиваю где, я спрашиваю как.
5 mistеr
 
22.08.22
10:59
(0) Три раза прочел, проблему не понял. Попробуй сформулировать яснее.

Что все-таки выгружается, справочник? Или документы, а номенклатура по ссылке?
6 Kongo2019
 
22.08.22
11:06
(5) Выгружаются док и справочник.
Справочник синхронизируется по реквизиту КодОбмена. Он есть как в Источнике, так и в Приемнике.
Справочник выгружается только те элементы которые есть в доке.
Так вот при выгрузке, надо проверить наличие заполненного кода обмена.
Если он пустой обмен остановить. Выдать сообщение.
Вся эта проверка делается в Источнике.
7 mistеr
 
22.08.22
11:11
(6) Действие "остановить обмен" в КД2 не предусмотрено. Если не считать грубого ВызватьИсключение.
Остальное вроде тривиально.
8 mistеr
 
22.08.22
11:12
(6) Так что ты хочешь получить в случае, если в док попала номенклатура без кода обмена? Пустую строку или не выгружать док?
9 Kongo2019
 
22.08.22
11:43
(8) Сообщение, а фиг вам выгрузка, идете сначала код заполоните.
10 VladZ
 
22.08.22
11:52
Делаешь отдельную обработку. В нее закладываешь логику проверки до выгрузки.
Если проверка пройдена - стартуешь выгрузку в файл с нужными правилами.
11 mikecool
 
22.08.22
11:58
пред выгрузкой данных(емнип, есть такая) формируешь свой список объектов выгрузки - его кажется тоже потом можно отправить как входящие данные для ПВД, но могу ошибиться
и здесь проверяешь свою  номенклатуру, пихаешь отказ и выгрузка не произвлодится
12 mistеr
 
22.08.22
12:04
(9) А почему не в самом доке? Зачем вырезать гланды через ж..?
13 mikecool
 
22.08.22
12:05
проверка на заполненность реквизита дб в карточке номенклатуры, и не лохматить бабушку
14 СеменовСемен
 
22.08.22
12:13
Перед выгрузкой документа проверяешь, что у вмех номенклатур есть этот код
Иначе отказ
15 VladZ
 
22.08.22
12:17
(13) Самый лучший вариант.
16 mistеr
 
22.08.22
12:22
(13) (15) См. (0) >Данные конечно синхронизируются не все, тупо проверка на заполненность не годится
17 Kongo2019
 
22.08.22
13:39
(13) А он нужен только для обмена. Не вся номенклатура выгружается.
Необязательный он типа.
18 Kongo2019
 
22.08.22
13:41
(12) Потому что он характеризует номенклатуру.