|
Универсальный обмен данными в формате XML | ☑ | ||
---|---|---|---|---|
0
rudnitskij
31.07.18
✎
20:21
|
Всем доброго времени суток.
Вопрос касается универсального обмена в формате XML. Правила прописаны, все документы, элементы справочников и прочее передаются как им положено. Хотел бы добиться следующего: Движения документов передаются в базу-приемник набором записей. Где и что в правилах обмена добавить, чтобы движения документа, у которого дата раньше определенного момента, не передавались в базу-приемник, и документ при этом был проведен? |
|||
1
Zombi
31.07.18
✎
22:15
|
"чтобы движения документа, у которого дата раньше определенного момента, не передавались в базу-приемник, и документ при этом был проведен" - Часть проведенных документов с движениями, часть проведенных же но без движений. Большей тупости сложно и придумать. Документ вообще должен без движений переноситься, а проводиться уже в приемнике. Иначе после обмена данные могут быть одни, а после того как пользователь откроет документ чтобы просто посмотреть и закроет его кнопкой "Ок", данные будут другие.
|
|||
2
rudnitskij
31.07.18
✎
22:31
|
(1) Большей тупости, чем обзывание тупостью требования ТЗ, сложно и придумать.
В базе делается отрез по определенную дату, остатки регистров переносятся. В этих остатках уже учтены движения документов, созданных и проведенных ранее этой даты, второй раз они не нужны. Заблокировать возможность проведения таких доков проблемой совсем не является. Я бы такие документы вообще не переносил, но их тянет универсальный обмен. Например, если есть документ "акт сверки взаиморасчетов" - универсальный обмен потянет все доки, что входят в его состав. Зачем мне их движения, по некоторым 10 лет прошло уже... |
|||
3
RomanYS
31.07.18
✎
22:34
|
(2) а зачем тянуть движения документов перегружаемых по ссылке?
|
|||
4
rudnitskij
31.07.18
✎
22:48
|
(3) чтоб не проводить их в базе-приемнике
|
|||
5
RomanYS
31.07.18
✎
22:50
|
(4) Зачем тянуть их по регистратору, разве нельзя отслеживать изменения набора записей?
|
|||
6
rudnitskij
31.07.18
✎
22:52
|
(5) нечего отслеживать, я тяну из старой распухшей базы документы в пустую новую. Мне нечего там отслеживать
|
|||
7
RomanYS
31.07.18
✎
22:54
|
(6) Каким образом Вы тянете движения, сами по себе они не переносятся. Или Вы не в курсе и "оно само"?
|
|||
8
rudnitskij
31.07.18
✎
23:02
|
(7) "Каким образом Вы тянете движения" - вместе с документом, с помощью правил обмена. Выгружаются набором записей
|
|||
9
rudnitskij
31.07.18
✎
23:18
|
(0) Есть возможность такое прописать в правилах обмена (речь идет о правилах обмена для универсального обмена в формате XML)?
|
|||
10
Cyberhawk
31.07.18
✎
23:23
|
В ПКГС Отказ = Истина
|
|||
11
hhhh
31.07.18
✎
23:24
|
(8) документы выгружаются отдельно, наборы записей отдельно. Это букварь. Чего вы нам тут втираете?
|
|||
12
RomanYS
01.08.18
✎
00:03
|
(11) +1
вроде чтобы переносить движения с документов нужно написать хоть чуть-чуть кода |
|||
13
Jofa
01.08.18
✎
01:53
|
(11)+
(12)+ Зачем из переносить не понятно |
|||
14
Zombi
01.08.18
✎
06:43
|
(2) Ты (1) Полностью прочитал или только до слова "тупость"?
|
|||
15
rudnitskij
01.08.18
✎
09:55
|
(12) не нужно, просто в конвертации при создании правил обмена поставить галочку "переносить движения набором записей".
ЗЫ. Тут чё, никто правил в конвертации не создавал? Все пишут "хоть чуть-чуть кода" ручками от начала до конца? |
|||
16
rudnitskij
01.08.18
✎
09:57
|
(14) полностью. Поэтому у меня возник вопрос "ты (0) полностью прочитал?", но задавать его не стал. Какой смысл? Я ж не заставлю человека читать, если он не хочет (но очень хочет что-то написать на форуме) ...
|
|||
17
rudnitskij
01.08.18
✎
09:58
|
(13) "Зачем из переносить не понятно" - я же писал выше, чтоб не проводить доки после переноса. Их очень много, проводить все - большая трата времени
|
|||
18
aleks_default
01.08.18
✎
10:04
|
А нельзя было это реализовать простейшим типовым механизмом даты запрета редактирования?
|
|||
19
rudnitskij
01.08.18
✎
10:15
|
(18) а кому запрещать редактирование?
|
|||
20
hhhh
01.08.18
✎
10:16
|
(17) ну прооведение у вас забито в правилах. Смотрите события. Найдите эту строчку и закомментируйте. И всего делов.
|
|||
21
ам794123
01.08.18
✎
10:19
|
(0) Смотри обработчики событий ПередВыгрузкой и ПослеЗагрузки, там и прописывай свои условия
|
|||
22
rudnitskij
01.08.18
✎
10:23
|
(21) Пробовал и после загрузки, и при загрузке, и перед загрузкой вот такое:
<code> Для Каждого Движ Из Объект.Движения Цикл ИмяРег = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Строка(Движ),".")[1]; СтрокаКоманды = "Объект.Движения." + ИмяРег + ".Записывать = (Объект.Дата >= '20170901000000');"; Выполнить(СтрокаКоманды); КонецЦикла; </code> Движения один хрен переносятся. Может по другому как-то прописать нужно? |
|||
23
hhhh
01.08.18
✎
10:27
|
(22) после загрузки данных - пробовал?
|
|||
24
rudnitskij
01.08.18
✎
10:31
|
(23) да, пробовал. Сейчас еще попробую после загрузки их удалять, надеюсь, хоть удаление сработает...
|
|||
25
Zombi
01.08.18
✎
10:33
|
(16) Я процитировал из (0) конец сообщения, но у тебя возник вопрос, полностью ли я прочитал этот пост. Это проблемы с логикой.
|
|||
26
rudnitskij
01.08.18
✎
10:35
|
(25) нет, это у вас проблемы с желанием поговорить и отсутствием собеседников. Если вам нечего сказать по вопросу, кроме "это тупость" - пройдите мимо, сделайте одолжение всем участникам разговора
|
|||
27
ам794123
01.08.18
✎
10:35
|
(22) Обычно пишут Отказ = Истина при выполнении некоторых условий (например Период > ДатаДедлайна в обработчике события Перед выгрузкой или при выгрузке самого регистра
|
|||
28
rudnitskij
01.08.18
✎
10:45
|
(27) по существующим правилам обмена, движения документа выгружаются наборами записей вместе с его реквизитами и табличными частями
вот https://ibb.co/fd4dTz |
|||
29
scanduta
01.08.18
✎
10:48
|
(1) Документ вообще должен без движений переноситься, а проводиться уже в приемнике.
Такой подход в некоторых ситуациях вообще неприемлем. Так что утверждение неверное. |
|||
30
Ботаник Гарден Меран
01.08.18
✎
10:51
|
В (10) уже ответ написан, но ведь продолжают.
|
|||
31
ам794123
01.08.18
✎
10:54
|
(28) в ТЧ и наборах тоже есть события при выгрузке и после загрузки
|
|||
32
rudnitskij
01.08.18
✎
11:03
|
(24) "Сейчас еще попробую после загрузки их удалять, надеюсь, хоть удаление сработает..." - удаление движений после загрузки тоже не сработало.
Буду пробовать отказ перед выгрузкой из источника |
|||
33
aleks_default
01.08.18
✎
11:07
|
(28)Выгружаются вместе, но это разные объекты данных, и загружаются они не одновременно. И в момент загрузки объекта Документ набор записей его движений может быть как уже загружен, так и еще нет, в зависимости от того в каком порядке они располагаются в файле обмена.
|
|||
34
hhhh
01.08.18
✎
11:07
|
(32) так ты очисти всё перед тем как тестируешь. А то у тебя результаты старых загрузок наслаиваются на результаты новых.
|
|||
35
rudnitskij
01.08.18
✎
11:08
|
(33) это многое объясняет, благодарю
|
|||
36
rudnitskij
01.08.18
✎
11:08
|
(34) очищаю, конечно
|
|||
37
hhhh
01.08.18
✎
11:08
|
(33) в обработчике ПослеЗагрузкиДанных уже всё загружено.
|
|||
38
rudnitskij
01.08.18
✎
13:50
|
Всё решилось, надо было просто эти наборы движений не выгружать. В отдельном обработчике ПередВыгрузкой у каждого набора записей прописал:
Отказ = (Источник.Дата < '20170901000000'); И всё заверте... |
|||
39
rudnitskij
01.08.18
✎
13:50
|
Отдельное спасибо товарищам (10) и (28), они натолкнули на решение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |