![]() |
![]() |
![]() |
|
план обмен последовательность выгрузки разных видов документов | ☑ | ||
---|---|---|---|---|
0
gusden
16.05.12
✎
14:22
|
Доброе время суток.
Помогите разобраться с проблемой при обмене. Есть два видов документа "ИзменениеСтатусаКоробки" и "ОтправкаРаспоряжения" в удалённом офисе вводят сначала ИзменениеСтатусаКоробки потом ОтправкаРаспоряжения, но при загрузке в головной офис загружается сначала ОтправкаРаспоряжения. Как повлиять на порядог загрузки(выгрузки) документов? |
|||
1
gusden
16.05.12
✎
16:05
|
объясню суть проблемы более подробно.
документ "ИзменениеСтатусаКоробки" должен находиться на временной оси раньше чем документ "ОтправкаРаспоряжения" в удалённом офисе они так и вводятся. Между удалённым офисом и головным офисом существует разница во времени. Поэтому при загрузке документов в головной офис если время документа больше текущего документы проводятся текущим временем. Если ввести "ИзменениеСтатусаКоробки", обменяться, ввести "ОтправкаРаспоряжения" и опять обменяться то всё ок. Но если попробовать ввести "ИзменениеСтатусаКоробки" и "ОтправкаРаспоряжения" и потом попробовать обменяться то возникает проблема. Первым при обмене загружается "ОтправкаРаспоряжения" и при попытке поменять время и перепровести документ становится раньше движения по "ИзменениеСтатусаКоробки" и вываливается ошибка. |
|||
2
gusden
16.05.12
✎
16:50
|
Народ подскажите, хоть в какую сторону капать...
|
|||
3
acsent
16.05.12
✎
16:54
|
>> Поэтому при загрузке документов в головной офис если время документа больше текущего документы проводятся текущим временем
туу ошибка |
|||
4
gusden
16.05.12
✎
17:08
|
(3)Мне надо поменять время документа на текущее и я это делаю в процедуре
Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) //Сделать проверку приходящего сообщения с имеющимся в базе //и в случае совпадени оставлять дату у первого документа // При получении данных из офисов корректировка времени Если ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ЗаказПокупателя") ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ПотребностьПокупателя") ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ИзменениеСтатусаКоробки") ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ОтправкаРаспоряжения") Тогда Если ЭлементДанных.Проведен Тогда Если ЭлементДанных.ЭтоНовый() И ТекущаяДатаСервера()<ЭлементДанных.Дата Тогда ЭлементДанных.УстановитьВремя(РежимАвтоВремя.ТекущееИлиПоследним); ЭлементДанных.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры И в большенстве случаев это корректно работает, но вот в описанной выше ситуации возникает проблема. Пока единственное что приходит в голову это менять время документов не во время обмена а после. Т.е. после обмена отобрать документы и поменять их дату. |
|||
5
Serg_1960
16.05.12
✎
17:39
|
(0) "Как повлиять на порядок загрузки(выгрузки) документов?" - ни как. Только если самостоятельно парсить файл сообщения, "расставляя в нужном порядке" объекты в файле сообщения. Но это всё равно не имеет смысла, если у вас компьютеры не синхронизируются по времени - не так, так по другому можете получить конфликтную ситуацию.
Единствено разумный выход (имхо) - реализовать синхронизацию времени на всех компьютерах, где работают с этими документами. Причём - время "единое", даже если у пользователей различное поясное время. |
|||
6
gusden
17.05.12
✎
09:41
|
(4) После обмена поменял дату документов и всё прокатило.
(0)Но всё таки какой-то логике должно подчиняться последовательность видов документов. У меня эта последовательность строга одинаковая. Т.е. сначала выгружаются все документы вида1, потом вида2 и т.д. причём каждый раз одинаково. |
|||
7
mikecool
17.05.12
✎
09:42
|
а записывать документы датой базы-источника не вариант?
|
|||
8
Maxus43
17.05.12
✎
09:42
|
понятие временная ось для документов разных видов не применима, в зависимости от ссылки в итоге строит ось внутри одной секунды, последовательность только для доков одного вида можно построить по момент времени
|
|||
9
mikecool
17.05.12
✎
09:43
|
(6) а не пофик для обмена в какой последовательности их грузить?
|
|||
10
Maxus43
17.05.12
✎
09:44
|
(8) + я не понял нафиг документ вобще проводится после обмена? он с движениями мигрировать должен уже проведённый. и время у дока приходит из базы источника, чо менял зачем?
|
|||
11
DrShad
17.05.12
✎
09:45
|
(9) +100500
|
|||
12
gusden
17.05.12
✎
10:04
|
(10)Документ в база источник записан например в 10-00 когда он попадает в головную базу, то он также записан и проведён временем 10-00, но текуще время например 9-15. И если я в головной базе буду вводить новый документ он должен стать после документа в из удалённой базы и должен видеть его движение. поэтому приходиться менять время документа из удалённой базы.
|
|||
13
gusden
17.05.12
✎
10:06
|
(7) геморно на мой взгляд. Все документы у меня вводятся оперативно. А уже потом при обменя я корректирую не стыковки по времени.
|
|||
14
Maxus43
17.05.12
✎
10:06
|
(12) разница в 45 минут на серверах? админы жгут. (5) + 1
Не с той проблемой боретесь |
|||
15
gusden
17.05.12
✎
10:07
|
(14)один сервак в москве один в минске разные часовые пояса
|
|||
16
Maxus43
17.05.12
✎
10:09
|
(15) в базах прописаны разные часовые пояса в настройках? ЕМНИП это учитывается при обменах
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |