![]() |
![]() |
|
КД - режим записи. | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
05.04.13
✎
14:20
|
Синхронизация документов между двумя базами
если режим проведения не устанавливать - документы копируют только состояние вроде не вру? для проведения пишу - перед выгрузкой если Проведен тогда РежимЗаписи = "Проведение" Допустим в источнике документ 1 проведен. Его перенесли - в приемнике он после загрузки тоже проводится потом в осточнике отменили проведение. если Проведен тогда РежимЗаписи = "Проведение" Иначе РежимЗаписи = "ОтменаПроведения" и тут все ок - в приемнике документ будет найден, реквизиты заполнены и будет произведена отмена проведения. но наткнулся на такой момент - если в источнике документ создали и не провели в приемник он попадат новым объектом, и с режимом записи отмена проведения. соотвественно получаю ошибку на движениях - регистратор не установлен как должно быть? |
|||
1
RomaH
naïve
05.04.13
✎
14:26
|
если перефразировать вопрос
как в КД сделать правила, что бы проведенный документ проводился в приемнике, а не проведенный - не проводился, или если был до этого проведен - отменял проведение |
|||
2
Alex S D
05.04.13
✎
14:32
|
у меня это прописано в Послезагрузки
|
|||
3
Aleksey
05.04.13
✎
14:33
|
(1) что мешает после загрузки это всё делать?
|
|||
4
Зойч
05.04.13
✎
14:35
|
так вроде непроведенный и сам отменится
|
|||
5
Alex S D
05.04.13
✎
14:38
|
(4) хрен там, у меня вот движения остаются например а документ помечен как не проведенный
|
|||
6
RomaH
naïve
05.04.13
✎
14:42
|
(3) т.е. второй раз записывать в базу?
|
|||
7
Alex S D
05.04.13
✎
14:42
|
(6) получается так... но может есть и другие пути хз)
|
|||
8
RomaH
naïve
05.04.13
✎
14:42
|
т.е. правила записали объект в базу приемник
потом после загрузки проверяем флаг "Проведен" и пишем объект еще раз с установленым режимом записи? |
|||
9
Alex S D
05.04.13
✎
14:44
|
(8) я делал только для отмены, насчет проведения не уверен
|
|||
10
RomaH
naïve
05.04.13
✎
14:44
|
Если Не Объект.Проведен Тогда
Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); //Контрольный КонецЕсли; ну и с установкой режима записи только для проведенных в "ПередВыгрузкой" |
|||
11
PCcomCat
05.04.13
✎
14:47
|
А еще можно до записи посмотреть найден ли этот объект в базе, а уж после этого анализировать, что с ним делать: проводить, отменять проведение или просто записать.
|
|||
12
RomaH
naïve
05.04.13
✎
14:55
|
(11) как бы там все до записи
|
|||
13
PCcomCat
05.04.13
✎
14:57
|
(12) Ну?
|
|||
14
PCcomCat
05.04.13
✎
14:58
|
А ещё часто бывает ситуация, когда бух подправил нумерацию ПКО или РКО, например, и на загрузке при попытке записать документ вываливается ошибка записи.
|
|||
15
SunFox
05.04.13
✎
15:11
|
Если не Отказ Тогда
Объект.ОтражатьВБухгалтерскомУчете = Ложь; Объект.ОтражатьВНалоговомУчете = Ложь; Если (не Объект.Проведен) и Объект.Ссылка.Проведен Тогда ОбщегоНазначения.УдалитьДвиженияРегистратора(Объект, Ложь); ИначеЕсли Объект.Проведен Тогда Объект.Записать(РежимЗаписиДокумента.Проведение); //ПолныеПрава.РегистрацияОтложенногоПроведения(Объект.Ссылка, Объект.Организация); КонецЕсли; КонецЕсли; |
|||
16
SunFox
05.04.13
✎
15:12
|
+15 УПП - ПослеЗагрузки
|
|||
17
RomaH
naïve
05.04.13
✎
15:20
|
(13) специально проверил
в ПослеЗагрузки ПКО ЗначниеЗаполнено(Объект.Ссылка) = Ложь; (15) Объект.Ссылка надо бы заменить на просто Ссылка ИначеЕсли Объект.Проведен Тогда Объект.Записать(РежимЗаписиДокумента.Проведение); заменить на ПередВыгрузкой - РежимЗаписи установить для проведенных - избавитесь от лишней записи |
|||
18
PCcomCat
05.04.13
✎
15:23
|
(17) Что и требовалось доказать! Для такого объекта отмена проведения не требуется!!!
|
|||
19
RomaH
naïve
05.04.13
✎
15:27
|
остановился на таком:
Если ОбъектНайден и Не Объект.Проведен Тогда Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); ОбъектМодифицированн = Ложь; Конецесли; // по сути можно еще проверить Ссылка.Проведен - и если не проведена, то не делать ничего и вынести удаление движений в отдельную процедуру в конфигурации или в алгоритм КД, а не целиком записывать объект в базу |
|||
20
RomaH
naïve
05.04.13
✎
15:29
|
(18) и как до записи проанализировать и дать команду системе отменить проведение или нет?
где видел режимЗаписи везде еще нет найденного в базе объекта - не понятно что делать а где есть найденный - там нет установки режимаЗаписи |
|||
21
PCcomCat
05.04.13
✎
15:51
|
(19) Вы с со своими руками в разных часовых поясах находитесь? ;) Написал же уже!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |