|
Косяк в обработке "УниверсальныйОбменДаннымиXML"? | ☑ | ||
---|---|---|---|---|
0
sound
16.02.12
✎
12:12
|
Обработка "УниверсальныйОбменДаннымиXML". Создаем в КД2 правила между идентичными конфами (все по умолчанию). Выгружаем какой-нибудь 1 документ с бухгалтерскими проводками. Заходим в конфигуратор базы приемника, запускаем отладку, открываем указанную обработку, ставим галку "Загружать данные в режиме обмена (ОбменДанными.Загрузка = Истина)", идем в МодульНабораЗаписей, например регистра бухгалтерии в процедуру ПередЗаписью, ставим точку останова, смотрим в момент загрузки на значение "ОбменДанными.Загрузка", видим = ЛОЖЬ. Чо за Х, это так надо или я что-то не так понял? То есть сам документ грузится в режиме ОбменДанными.Загрузка = Истина, а его движения в ОбменДанными.Загрузка = ЛОЖЬ?
Покопался в модуле объекта данной обработки нашел процедуру "ЗагрузитьДвижения", мне кажется там где-то после строчки Движения.Прочитать(); надо добавить строчку: УстановитьОбменДаннымиЗагрузка(Движения, ЗагружатьДанныеВРежимеОбмена); или я не прав? |
|||
1
sound
16.02.12
✎
12:14
|
А да, версия обработки 2.1.5
|
|||
2
sound
16.02.12
✎
12:46
|
неужели никто не пользуется этой обработкой а?
|
|||
3
СноваЗдорова
16.02.12
✎
12:53
|
ща сижу пользуюсь этой обработкой, но не заморачивался. Накопаешь чо - отпишись =)
|
|||
4
Vladal
16.02.12
✎
12:54
|
Пересчет итогов не отключал?
|
|||
5
acsent
16.02.12
✎
12:56
|
УниверсальныйОбменДаннымиXML не предназначен для записейдвижений наборами
|
|||
6
sound
16.02.12
✎
13:00
|
(3) Не заморачивался, наверное, потому что в процедуре "ПередЗаписью" ничего "страшного" как у меня нету, но даже если открыть типовую бухию и посмотреть, то там пара сотен строк кода, а если документов не тыща, а тыщ 500, это что получается делается фактически перепроведение?
|
|||
7
sound
16.02.12
✎
13:02
|
(4) Пересчет итогов - это про настройки обработки, про конвертацию или про чо?
(5) Где это написано? |
|||
8
sound
16.02.12
✎
13:08
|
(5) Если открыть обработку "ВыгрузкаМетаданных", входящей в КД2, то там на форме есть галка "Не выгружать регистры бухгалтерии", значит движения можно выгружать, а в обработке "УниверсальныйОбменДаннымиXML" есть галка "ЗаписыватьРегистрыНаборамиЗаписей"
|
|||
9
Vladal
16.02.12
✎
13:20
|
(7) Пересчет итогов - это настройка на форме обработки. Но я глянул, у меня обработка УниверсальныйОбменДаннымиXML Турбо, дописанная, и там на морде есть флажок "Отключить пересчет итогов"
|
|||
10
sound
16.02.12
✎
13:59
|
(9) Очень интересно что это вообще за пересчет итогов?
|
|||
11
sound
16.02.12
✎
14:17
|
UP
|
|||
12
guitar_player
16.02.12
✎
14:19
|
(10) книжки по регистрам накопления почитай...
|
|||
13
sound
16.02.12
✎
15:23
|
(12) Вообще не смешно нифига, а есть что конкретно посоветовать кроме книжек? Про пересчет итогов вообще как бы в курсе, но каким боком они всплывают в данной (типовой) обработке?
|
|||
14
Feanor
16.02.12
✎
16:04
|
(13) в ПКО для регистра бухгалтерии выстави флаг загрузки и забудь о проблеме
|
|||
15
sound
16.02.12
✎
16:10
|
(14) Если ПКО - это правила конвертации объекта в КД2(а не приходно-кассовый ордер :)), то все понятно, кароче как решить проблему я в курсе, но вопрос по конкретной обработке: это косяк или тайный смысл?
|
|||
16
Feanor
16.02.12
✎
16:12
|
(15) у меня в этой обработке тоже печаль есть, задаюсь ровным счетом таким же вопросом...
Передаю таблицу значений как параметр, выгрузка - всё ок, загрузка ругается на тип "Не определено" или "Хранилище значений" |
|||
17
sound
16.02.12
✎
16:47
|
(16) Это в КД2 да? А можно как-то замутить с помощью КД чтобы выгружались объекты из массива (в нем куча ссылок на документы и справочники), то есть как-то "скормить" обработке по выгрузке "УниверсальныйОбменДаннымиXML" этот массив, чтобы выгрузка была только по этим данным?
|
|||
18
Feanor
16.02.12
✎
16:52
|
(17) задать массив как входящий параметр, по-моему, не получится. А вот получить этот массив программно как-то вполне можно.
|
|||
19
Feanor
16.02.12
✎
16:53
|
+(18) т.е. свою ТЗ я получаю в процессе выгрузки и хочу её передать в загрузку
|
|||
20
sound
16.02.12
✎
16:55
|
(18) (19) Ну вот в том то и дело, что у меня есть программно сформированный массив ссылок, как мне теперь сделать выгрузку только этих ссылок (ну и тех что рекурсивно цепляются)?
|
|||
21
DailyLookingOn Sunset
16.02.12
✎
16:57
|
(19)
В таблице значений нужно сохранять ключевые реквизиты. Какой смысл ГУИды между базами передавать? |
|||
22
Feanor
16.02.12
✎
16:57
|
(20) переопредели выборку. в нужной выборке делаешь "Одним запросом" и "Произвольный алгоритм", подсовывешь свою выборку. ну и почитай описание обработчика "Перед обработкой"
|
|||
23
Feanor
16.02.12
✎
16:58
|
(21) у меня нет гуидов и ссылок в моей ТЗ, чисто служебная информация. не нужно считать меня дауном :)
|
|||
24
DailyLookingOn Sunset
16.02.12
✎
17:04
|
(23)
И на тип параметра "ХранилищеЗначений" тоже ругается? Таблицы значений в типах нет, хотя в пределах выгрузки использовать можно. |
|||
25
Feanor
16.02.12
✎
17:06
|
(24) да, на "Хранилище значений" и ругается (орфография сохранена). В параметр типа "ХранилищеЗнчаений" помещаю свою ТЗ и ставлю галочку у параметра "Использовать при загрузке"
|
|||
26
sound
16.02.12
✎
17:16
|
В общем беда следущая, начну издалека :)
Работали себе юзеры в базе, никого не трогали, потом злые программеры решили обновить конфигурацию базы данных, база работает почти круглосуточно, а обновление вместе с пересчетом итогов длится очень долго (писал тут v8: Обновление конфигурации базы данных без пересчета итогов. Сделали средствами скуэль копию, поместили туда юзеров, из живой всех выгнали и сделали обновление за 2-е суток, обновления серьезные примерно 10 релизов проскочили. Планов обмена и прочих красивых штук не настроено, зато есть журнал регистрации из которого можно взять и посмотреть кто и что менял за эти 2-е суток и перенести данные только измененных и новых объектов. Какие-то большие таблицы типа независимых регистров сведений можно перенести опять же скуелем. |
|||
27
DailyLookingOn Sunset
16.02.12
✎
17:20
|
(25)
Поржал. Слепил тестовый XML. В файле выгрузки в тексте "Хранилище значения" убрал пробел - всё заработало. Где при выгрузке происходит прокол с типом - наверно можно найти, мне это не надо. |
|||
28
DailyLookingOn Sunset
16.02.12
✎
17:22
|
Лепишь заплатку:
Если СтроковыйТипСвойства="Хранилище значения" Тогда СтроковыйТипСвойства="ХранилищеЗначения"; КонецЕсли; |
|||
29
Feanor
16.02.12
✎
17:25
|
(27), (28) молодец, возьми с полки пирожок )))
Но мне подобное решение изначально уже было очевидно. Только кошернее немного допилить обработку, а то каждый раз в хмл менять не комильфо. |
|||
30
DailyLookingOn Sunset
16.02.12
✎
17:26
|
(29)
В (28) и есть допилка обработки. |
|||
31
Feanor
16.02.12
✎
17:27
|
(30) да, точно
|
|||
32
sound
16.02.12
✎
17:28
|
+(26)
Фильтр = Новый Структура; Фильтр.Вставить("ДатаНачала", ДатаНачала); Фильтр.Вставить("ДатаОкончания", ДатаОкончания); ТЗЖурнал = Новый ТаблицаЗначений; ВыгрузитьЖурналРегистрации(ТЗЖурнал, Фильтр); ТЗЖурнал.Свернуть("Данные", ""); И вот как теперь сделать чтобы КД выгружала только данные из ТЗЖурнал ? |
|||
33
Feanor
16.02.12
✎
17:42
|
(32) думаю, можно посмотреть виды документов в этой ТЗ, затем для каждого такого документа переопределить выборку данных. Возможно, придется дробить ТЗ по метаданным, что бы передать в запрос как параметр.
|
|||
34
sound
17.02.12
✎
10:55
|
Странно, я думал что для КД это было бы очень логично: правила конвертации объектов настроены, осталось подсунуть универсальной обработке выборку (массив, таблицу и т.д.) с тем что нужно передавать и в путь!
|
|||
35
sound
17.02.12
✎
10:56
|
Возвращаясь к теме вопроса (раз больше никто ничего не говорит), будем пробовать аккуратно констатировать, что это ошибка в типовой обработке, которую почему-то за столь долгое время ее существования никто не обнаружил!
|
|||
36
Feanor
17.02.12
✎
10:57
|
(35) не ошибка, а маленький косячок
|
|||
37
sound
17.02.12
✎
11:01
|
(36) мне показался не таким уж маленьким, с учетом того сколько было времени потрачено впустую, ну да ладно всем спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |