|
Конвертация Данных - Загрузка непроведенных документов | ☑ | ||
---|---|---|---|---|
0
varyag
11.06.14
✎
10:37
|
В КД пишу правила. Надо чтобы непроведенные документы в базе приемника искались и если их нет - то не загружались, а если есть, то отменялось проведение..
В ПКО Документа написал //Непроведенные документы не загружаем если их нет в бухгалтерии, а если есть, то распроводим Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник)) Тогда Если Источник .Проведен Тогда РежимЗаписи = "Проведение"; Иначе РежимЗаписи = "ОтменаПроведения"; НеСоздаватьЕслиНеНайден = Истина; КонецЕсли; КонецЕсли; Но не работает, просто грузятся непроведенные, даже если в источнике он проведен.. |
|||
1
YF
11.06.14
✎
10:38
|
(0) Ниче не понял. что значит " чтобы непроведенные документы в базе приемника искались и если их нет - то не загружались"
|
|||
2
varyag
11.06.14
✎
10:40
|
ну если в источнике документ не проведен, то
1) ищем его в приемнике 2) Если есть - то режимЗаписи.ОтменаПроведения Если нет - то Не загружать документ |
|||
3
Бледно Золотистый
11.06.14
✎
10:41
|
(1) Имхо это галочка "Не создавать новый объект в приемнике, если он не найден"
|
|||
4
varyag
11.06.14
✎
10:42
|
(3) но мне то надо только для непроведенных это условие
|
|||
5
МойКодУныл
11.06.14
✎
10:43
|
(4) Сделай два правила одно для проведенных, другое для не галочкой не создавать
|
|||
6
varyag
11.06.14
✎
10:44
|
(5) вариант.. кстати. Спасибо. А еще есть варианты?
|
|||
7
Йохохо
11.06.14
✎
10:45
|
Если ОбъектНайден Тогда
Отказ = Истина; КонецЕсли; |
|||
8
GenAcid
11.06.14
✎
10:47
|
Описание обработчика "после загрузки" почитай внимательно. Особенно про параметры Объект и Ссылка.
|
|||
9
varyag
11.06.14
✎
10:48
|
(7) Это в обработчике "При загрузке"? Но там я не смогу проверить проведен ли источник.. Или смогу? я просто изначально так хотел но не смог
|
|||
10
varyag
11.06.14
✎
10:50
|
(8) да уж почитал и не раз, это обработчик уже после загрузки, а мне надо непроведенные не загружать
|
|||
11
GenAcid
11.06.14
✎
10:51
|
(10) Я ж говорю внимательно прочитай.
Событие выполняется после прочтения и установки атрибутов объекта из файла, %НО ДО ЕГО ЗАПИСИ% в информационную базу. |
|||
12
Йохохо
11.06.14
✎
10:52
|
(9) а, ОбъектНеНайден, но она депрекейтед ) а остальной код у тебя есть, и в (3) еще
|
|||
13
Йохохо
11.06.14
✎
10:53
|
(10) если найден то Ссылка уже доступна, читай из базы
|
|||
14
varyag
11.06.14
✎
10:59
|
(11) но я же не знаю источник проведен у меня или нет, т.к. пкс для реквизита проведен не делал..
(13) не совсем понял, напиши пожалйуста одним предложением)) А почему мой код из (0) не работает в обработчике ПередВыгрузкой? |
|||
15
varyag
11.06.14
✎
11:02
|
(13) Кстати При загрузке - Отказ - в описании нету
|
|||
16
varyag
11.06.14
✎
11:04
|
(13) и режим записи тоже нет
|
|||
17
GenAcid
11.06.14
✎
11:07
|
(14) Ну добавить его сложно, конечно :)
|
|||
18
varyag
11.06.14
✎
11:24
|
(17) нет, просто не хотел)) уже добавил и сделал по твоему варианту, Код по записи документа вынес в алгоритмы. Просто думал можно обойтись средствами и обработчиками конвертации данных.
|
|||
19
varyag
11.06.14
✎
11:33
|
всё-таки почему код из (0) не работает? Кто-нибудь знает?
|
|||
20
varyag
11.06.14
✎
11:56
|
Если Объект.Проведен Тогда
Объект.Записать(РежимЗаписиДокумента.Проведение); Иначе Если ОбъектНайден Тогда Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); Иначе Отказ = Истина; КонецЕсли; КонецЕсли; Вот такой код в обработчике ПКО документа После загрузки, и все равно создает новый непроведенный |
|||
21
varyag
11.06.14
✎
12:22
|
Если Объект.Проведен Тогда
Объект.Комментарий = "Попытка проведения"; Объект.Записать(РежимЗаписиДокумента.Проведение); Иначе Если ОбъектНайден Тогда Объект.Комментарий = "Найден"; Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); Иначе Объект.Комментарий = "Не найден"; Отказ = Истина; КонецЕсли; КонецЕсли; в итоге документ загружается незаполненным, в комментарии пусто |
|||
22
GenAcid
11.06.14
✎
12:30
|
Код рабочий, мне не понятно что ты там в алгоритмы вынес.
|
|||
23
varyag
11.06.14
✎
12:33
|
(22) это и есть код из алгоритма
|
|||
24
varyag
11.06.14
✎
12:35
|
к алгоритму обращение из обработчика ПКО документа После загрузки
Причем у меня выгрузка идет из одного счета фактуры в три разных: Сч-фактура, Акт, Требование-накладная, такая проблема только с Актом я уже написал тупо Отказ = Истина... все равно создается |
|||
25
Йохохо
11.06.14
✎
12:35
|
осваивай отладку кд и остановку по условию)
|
|||
26
GenAcid
11.06.14
✎
12:37
|
(24) Значит в другом месте создается, чудес не бывает.
|
|||
27
varyag
11.06.14
✎
12:37
|
похоже придется.. А отладка КД в конфигураторе КД? или базы из которой обмен?
|
|||
28
varyag
11.06.14
✎
12:38
|
(26) Вспомнил, у меня поиск основания сч-фактуры идет по этому же ПКО
|
|||
29
varyag
11.06.14
✎
12:42
|
теперь не знаю вообще что делать, как это обойти?
|
|||
30
GenAcid
11.06.14
✎
12:48
|
Конкретнее проблему опиши, непонятно что не так.
|
|||
31
varyag
11.06.14
✎
12:57
|
//Т.к. непроведенные счета-фактуры не загружаются,
//либо, если они были загружены в базу-приемник раньше, //нам уже не важно какой документ-основание, то делаем отказ Если Не Источник.Проведен Тогда Отказ = Истина КонецЕсли; Короче пока так! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |