|
Обмен в Универсальном формате: передать ПометкаУдаления? | ☑ | ||
---|---|---|---|---|
0
lexushka
09.12.16
✎
10:36
|
Добрый день
Насмотревшись курсы-по-1с колдую с обменов в универсальном формате С удивление выяснил, что признак проведен по умолчанию в типовых обменах не передается и полученные документы автоматом пытаются сделать проведенными Ну допустим… В итоге я через AdditionalInfo передаю табличу в которой записал был проведен документ или нет и была у него ПометкаУдаления или нет Проведен более менее передается (толком не проверял), а с пометкой удаления чот не выходит: Пвтаюсь ее отработать в событии Процедура ОтложеннаяОбработка_ПТиУ(Объект, ОбъектМодифицирован) Делаю там Объект.УстановитьПометкуУдаления, а она меня в ошибку выкидывает лекции курсов-по-1с оказались на вопрос ни о проведении ни о пометке удаления отвечать не хотят Как сделать уже не могу придумать Как правильно поступать с ПометкойнаУдаление и проведением? Спасибо |
|||
1
MaxS
09.12.16
✎
10:40
|
пмсм Нужно посылать удаление объекта, а помеченный на удаление документ не отправлять. Пока в своих решениях сделал так.
|
|||
2
lexushka
09.12.16
✎
10:50
|
А где можно почитать как послать такое сообщение?
Или не подскажете как? |
|||
3
MaxS
09.12.16
✎
11:28
|
Штатно конфигурация может регистрировать событие удаление объекта. В БСП есть такой код:
Процедура ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки = Неопределено) ... // 1. Получаем Данные из ИБ Данные = ВыборкаИзменений.Получить(); // 2. Отправляем информацию об удалении либо выгружаем данные. Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда ВыгрузитьУдаление(КомпонентыОбмена, Данные.Ссылка); Иначе ... |
|||
4
MaxS
09.12.16
✎
11:31
|
С "Проведен" пока сам не знаю как правильно )) как вариант не отправлять непроведенные если они могут быть проведены. Или через AdditionalInfo передавать этот реквизит, а потом при загрузке анализировать его.
|
|||
5
yzimin
09.12.16
✎
11:36
|
(4) для чего вы вообще передаёте информацию о проведении?
Регистрируйте только те документы, которые должны быть проведены в базе приёмника. |
|||
6
lexushka
09.12.16
✎
11:36
|
спасибо за сообщение 3
но я еще не достиг того просветления чтобы понять как к этой процедуре подобраться, если я получаю документ и вижу что у него ПометкаУдаления ума у меня хватило только процедуру ВыгрузитьУдаление объявить экспортной и в ПКО_Документ_ПоступлениеТоваровУслуг_Отправка_ПриОтправкеДанных в самом конец ее попытаться вызвать Скорей всего у меня этот номер не пройдет, а что делать? :) |
|||
7
yzimin
09.12.16
✎
11:37
|
(5) даже перефразирую вопрос. Для чего вы переносите не проведенные документы из базы источника?
|
|||
8
totparen
09.12.16
✎
11:37
|
Насколько я разобрался, если в базе прёмнике создается объект с реквизитом "Проведение = Истина", то после записи документов, запускается отложенная процедура проведения. Может быть с пометкой также.
|
|||
9
totparen
09.12.16
✎
11:39
|
(7) Разные задачи бывают.
|
|||
10
FIXXXL
09.12.16
✎
11:51
|
(7) был проведен - уехал, стал непроведенным - рассинхрон
|
|||
11
MaxS
09.12.16
✎
11:52
|
(7) Как поступить в такой ситуации: Провели документ, сделали синхронизацию, потом отменили проведение документа. Как это отразить в базе получателе если мы не будем передавать непроведенные документы?
(6) Вроде бы если штатно проведенный документ ушел через обмен, а потом его пометили на удаление, то штатно должно передаться удаление объекта. Поэтому я пока не заморачивался принудительной отправкой удаления. Но удивляет почему в БСП не дали экспортную процедуру для этого. )) |
|||
12
lexushka
09.12.16
✎
11:54
|
(7)
Не ну и вообще зачем клиенты отказываются от работы на счетах… |
|||
13
h-sp
09.12.16
✎
12:03
|
(11) нет, неправильно что-то говорите.
удаление объекта - это когда полностью удален объект. А если не удален, а просто пометка на удаление поставлена - это другое. |
|||
14
MaxS
09.12.16
✎
12:17
|
(13) Да, наверное так, вспомнил ))
В КД3 есть фича. Если для одного вида объекта есть несколько ПКО (например Номенклатура и НоменклатураГруппа), то БСП всегда посылает удаление объекта по неиспользуемому ПКО, невзирая на настройку КД3 не посылать удаление... У себя в выгрузке я это поправил, жду решения от 1С. Можно эту фичу использовать для принудительной отправки удаления. Например, для документа два ПКО одно для этого документа, другое - любой неиспользуемый объект в универсальном формате. Если проведен, то отправляем на оба ПКО, если помечен на удаление, то ИспользованиеПКО.ДокументНаш_Отправка = Ложь; //ИспользованиеПКО.ДокументНашФиктивно_Отправка = Истина; И в обмен уйдёт удаление объекта. |
|||
15
MaxS
09.12.16
✎
12:19
|
+(14) не рекомендую такой костыль. Но хотелось бы от 1С получить рекомендации или планы когда появится правильное решение.
|
|||
16
Serg_1960
09.12.16
✎
12:26
|
Имхо, что-то народ путается с пометкой на удаление и с удалением объектов :(
|
|||
17
yzimin
09.12.16
✎
12:33
|
(10) (11) В типовых конфигурация при отмене проведения на узле регистрируется пометка удаления
|
|||
18
MaxS
09.12.16
✎
12:33
|
(16) Если по факту пометки удаления послать удаление объекта, то в базе приемнике объект будет помечен на удаление.
Это пмсм самый простой вариант не меняя правила в приемнике отразить пометку на удаление. |
|||
19
yzimin
09.12.16
✎
12:40
|
(17) добавлю.
Бывает такое, что обмен настроен с отбор по организации (УТ11-БП3). Пользователи провели документ, потом изменили организацию. В этом случае также передаётся пометка удаления |
|||
20
totparen
09.12.16
✎
13:05
|
(14) Ошибка в БСП или в КД?
|
|||
21
MaxS
09.12.16
✎
14:17
|
(20) БСП не учитывает КД.
Процедура ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект, ПравилоОбработки = Неопределено) ... Если НесколькоПКО Тогда ПравилоКонвертации = КомпонентыОбмена.ПравилаКонвертацииОбъектов.Найти(ТекущееПКО.Ключ, "ИмяПКО"); ВыгрузитьУдаление(КомпонентыОбмена, Объект.Ссылка, ПравилоКонвертации); КонецЕсли; ... Должно быть так: Если НесколькоПКО И ПравилоОбработки.ОчисткаДанных Тогда ... Параметр ПравилоОбработки.ОчисткаДанных появился в КД 3.0.4.3 от 01.09.16. С тех пор было много обновлений БСП, но параметр ОчисткаДанных так и не задействован. |
|||
22
Shrek_yar
09.12.16
✎
14:56
|
(7) А если документ проведен, а затеи его распровели, тогда надо это передать в базу приемник.
Как тогда? |
|||
23
Shrek_yar
09.12.16
✎
14:57
|
(19) Лучше в правилах регистрации убирать отборы.. все делать в правилах выгрузки((
Иначе можно словить удаление объекта |
|||
24
totparen
09.12.16
✎
15:29
|
(21) Мерси. Актуально.
|
|||
25
yzimin
09.12.16
✎
15:59
|
(22) читай (17)
(23) повеселили. Почитай про универсальный формат. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |