|
Документы у которых реквизит "Проведен" всегда ложь. (Ну не проводят их) | ☑ | ||
---|---|---|---|---|
0
Magnetic
19.11.13
✎
22:55
|
В общем сейчас надумал обработчик перед выгрузкой сделать и не выгружать документы других организаций (тока НашаОрганизация ХД ) Не выгружать помеченные на удаление и непроведенные ... вот если первыми двумя пунктами разобрался то как отсеять непроведенные от тех которые в принципе непредусматривают чтоб их проводили не соображу реквизит "проведен" у всех ведь есть...
|
|||
1
vde69
модератор
19.11.13
✎
22:57
|
методанные тебе в помощь
|
|||
2
Magnetic
19.11.13
✎
23:01
|
(1) Краткость сестра таланта конечно, но блин немного подробнее можно: А именно различия там искать чтоль?
|
|||
4
Magnetic
19.11.13
✎
23:33
|
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда
Если Источник.ПометкаУдаления Тогда Отказ = Истина; ИначеЕсли Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация) Тогда Отказ = Истина; ИначеЕсли (Объект.Проведен = Ложь) И (ТипЗнч(Объект) <> ТипЗнч(Документ.Доверенность)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.ПлатежноеПоручение)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.АвансовыйОтчет)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.ИнвентаризацияТМЦ)) Тогда Отказ = 1; КонецЕсли; КонецЕсли; |
|||
5
Magnetic
19.11.13
✎
23:34
|
Вот так сойдет? (4)
|
|||
6
Magnetic
19.11.13
✎
23:35
|
Блин наверно Источник на Объект надо поменять в первом условии...
|
|||
7
Magnetic
19.11.13
✎
23:38
|
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда
Если Объект.ПометкаУдаления Тогда Отказ = Истина; ИначеЕсли Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация) Тогда Отказ = Истина; ИначеЕсли (НЕ Объект.Проведен) И (ТипЗнч(Объект) <> ТипЗнч(Документ.Доверенность)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.ПлатежноеПоручение)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.АвансовыйОтчет)) И (ТипЗнч(Объект) <> ТипЗнч(Документ.ИнвентаризацияТМЦ)) Тогда Отказ = 1; КонецЕсли; КонецЕсли; Или так лучше? и вообще только так перечисляя виды документов можно исключить непроводимые документы? |
|||
8
GenV
20.11.13
✎
00:18
|
Сначала проверяешь, что документ может проводится:
Док.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить |
|||
9
Magnetic
20.11.13
✎
00:49
|
(8) Та уже разродился отчасти (1) помогло
|
|||
10
Magnetic
20.11.13
✎
00:49
|
(9) (8)
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда Если Объект.ПометкаУдаления Тогда Отказ = Истина; ИначеЕсли Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация) Тогда Отказ = Истина; ИначеЕсли Объект.Метаданные().Движения.Количество() <> 0 И (НЕ Объект.Проведен) Тогда Отказ = Истина; КонецЕсли; КонецЕсли; |
|||
11
Magnetic
20.11.13
✎
00:53
|
Интересно а Вот так работать будет:
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда Отказ = Объект.ПометкаУдаления; Отказ = Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация); Отказ = Объект.Метаданные().Движения.Количество() <> 0 И (НЕ Объект.Проведен); КонецЕсли; |
|||
12
Magnetic
20.11.13
✎
00:54
|
Условий меньше но незнай наглядней ли получается?
|
|||
13
Magnetic
20.11.13
✎
01:03
|
В (11) какая могла вкрасться ошибка такая и вкралась.
Вот Такой код на мой взгляд абсолютно идентичен (10) Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда Отказ = Объект.ПометкаУдаления; Отказ = Объект.Метаданные().Движения.Количество() <> 0 И (НЕ Объект.Проведен); Отказ = Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация); КонецЕсли; А вот (11) этот пропускает доки других организаций |
|||
14
GenV
20.11.13
✎
01:08
|
(13) Как думаешь, что произойдет, если документ будет помечен на удаление, но у него будет правильная организация?
|
|||
15
Magnetic
20.11.13
✎
01:26
|
(14) Чего чего выгрузится такой
Значит надо через ИЛИ все условия задатьтипа Отказ = Услови1 ИЛИ Услови2 ИЛИ Условие3 Так ниче не проскользнет |
|||
16
Magnetic
20.11.13
✎
01:29
|
(14) Но в обработчике через если все оставил а логические построения эт так академический интерес :)
|
|||
17
Mikhail Volkov
20.11.13
✎
05:57
|
(6) Если перед выгрузкой, то Источник
|
|||
18
Magnetic
20.11.13
✎
10:34
|
(17) Я в ПередВыгрузкойОбъекта но ниче вроде работает...
|
|||
19
Magnetic
20.11.13
✎
10:35
|
(18) (17) ну то есть работает так как в (10) написано...
|
|||
20
Михаил Козлов
20.11.13
✎
10:36
|
"Не выгружать помеченные на удаление и непроведенные".
А если сначала был проведен, а потом отменили/пометили, как собираетесь поддерживать соответствие информации? |
|||
21
Maxus43
20.11.13
✎
10:43
|
по метаданным так
ОбъектМетаданных: Документ (MetadataObject: Document) Проведение (Posting) Использование: Только чтение. Описание: Тип: Проведение. Определяет, разрешено ли проведение документа при записи. |
|||
22
Magnetic
20.11.13
✎
10:45
|
(20) А я уверен что там такие есть. НО если сначала провели а потом отменили/пометили а потом сдали отчетность то этот док там участия и не принимал... А вообще у меня не есть цель полностью источник в приемник залить ... Просто несколько видов документов за определенный период.
|
|||
23
Magnetic
20.11.13
✎
10:48
|
(20) Кстати я именно и только документы так проверяю справочники таки даже помеченные на удаление выгружаю. Потому как любят помечать элементы справочника на удаление которые присутствуют в паре тройке сотен тысяч документов, ну за прошедшие периоды...
|
|||
24
acsent
20.11.13
✎
10:50
|
Что то я не увидел в коде проверку на возможность проведения
|
|||
25
Aleksey
20.11.13
✎
10:50
|
Есть такой документ, операция, который всю картину будет портить
Кстити, имхо сабж вреден, потому что 1. Проводим Документ А 2. Выгружаем его в базу Б 3. Помечаем на удаления документ А. 4. Выгружаем его в базу Б (он не выгрузится, отсеится по условию) 5... 6. Profit - т.е. расхождения данных Имхо правильнее при загрузки, если ОбъектНеНайлен тогда отказ = истина |
|||
26
Magnetic
20.11.13
✎
10:57
|
(24) Отказ = Объект.Метаданные().Движения.Количество() <> 0
Документы у которых количество движений = 0 не проводятся ... или есть такое чудо проводимое с 0 движениями? |
|||
27
Magnetic
20.11.13
✎
10:59
|
(25) Выгрузка разовая тоесть выгрузил и забыл работать начинаем типа только в переброшеной базе ... так что что там будут в приемнике творить пофиг хоть вообще все на удаление пометят больше выгрузок не будет...
|
|||
28
Serg_1960
20.11.13
✎
11:01
|
(27) Ха-ха. Два раза. Светит тебе в перспективе взаимный обмен писать.
(25) +1 Я бы и помеченные на удаление объекты обрабатывал - отправлял удаление объекта. На всякий случай. |
|||
29
Magnetic
20.11.13
✎
11:05
|
(28) Ну нет точно обратно не станут ничего просить загрузить. Источник верной дорогой идет в архив.... Ну рар или зип я еще не решил... :)))
|
|||
30
Magnetic
20.11.13
✎
11:10
|
Вообще там всего то пока надо коекакие виды документов перебросить(конечно потянули эти "коекакие виды" за собой всякого) в пустую базу чтоб бухи помотрели пощупали так сказать. А потом возможно только справочники им перекину чтоб с первого января в новой базе работать начали ну пока отчетность не сдадут в рар закатыват источник не буду :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |