Имя: Пароль:
1C
1С v8
Конвертация Данных - Загрузка непроведенных документов
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
//Т.к. непроведенные счета-фактуры не загружаются,
//либо, если они были загружены в базу-приемник раньше,
//нам уже не важно какой документ-основание, то делаем отказ
Если Не Источник.Проведен Тогда Отказ = Истина КонецЕсли;

Короче пока так!