Имя: Пароль:
1C
1С v8
Конвертация данных: не переносится счет-фактура с отметкой "Исправление"
0 Saari
 
15.01.15
08:04
Переношу документ "Корректировка реализации" правилами из УТ 10.3 в БУХ 2.0 при помощи встроенной обработки "Обмен данными XML".
Сам документ переносится, но с переносом подчиненной ему счет-фактуры проблемы:
если в счет-фактуре не установлена галка "Исправление", то переносится правильно.
если в счет-фактуре установлена галка "Исправление", то эта счет-фактура не переносится (не выгружается из УТ).
В чем может быть ошибка и как ее решить?
1 Saari
 
15.01.15
08:52
?
2 Рэйв
 
15.01.15
08:59
(0)Скорее всего в правилах так настроено.
Чтобы решить- надо открыть правила и исправить
3 Saari
 
15.01.15
09:10
(2) правила открыты. Если где-то в правилах стоит запрет на перенос с/ф с отметкой "Корректировка", то... не могу его найти.
4 Dmitriy_76
 
15.01.15
09:17
(3) ПВД смотрел?
5 Godofsin
 
15.01.15
09:19
(3) в ПередВыгрузкой смотрел?
6 Saari
 
15.01.15
09:26
В закладке "Перед выгрузкой данных" нахожу документ "СчетФактураВыданный". И в нем в событии "Перед выгрузкой" написан код:
-----------------------------
Отказ = Ложь;
Если ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ОтражениеРеализацииТоваровИУслугНДС")
    ИЛИ Объект.СформированПриВводеНачальныхОстатковНДС
    ИЛИ ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ВводНачальныхОстатковНДС") Тогда
    Отказ = Истина;
КонецЕсли;
Если НЕ Отказ Тогда
    ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете = Неопределено;
    Параметры.Свойство("ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете", ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете);
    Если НЕ ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете = Неопределено И ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете Тогда
        // Если ПередаватьТолькоДокументыОтраженныеВБухгалтерскомУчете = Ложь, значит документы выгружаются всегда
        Для каждого СтрокаТЧ из Объект.ДокументыОснования Цикл
            Если ЗначениеЗаполнено(СтрокаТЧ.ДокументОснование) Тогда
                МетаданныеДокументаОснования = СтрокаТЧ.ДокументОснование.Метаданные();
                Если ОбщегоНазначения.ЕстьРеквизитДокумента("ОтражатьВБухгалтерскомУчете", МетаданныеДокументаОснования)
                    И НЕ СтрокаТЧ.ДокументОснование.ОтражатьВБухгалтерскомУчете Тогда
                    Отказ = Истина;
                    Прервать;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;    
    КонецЕсли;
КонецЕсли;
----------------------
Документом-основанием для выгружаемой с/ф является выгружаемый документ "Корректировка реализации", в котором галки "Отражать в бух учете" установлена. Т.е. на мой взгляд все правильно. Но... не выгружается с/ф.
7 Saari
 
15.01.15
11:33
?
8 Saari
 
15.01.15
14:43
Разобрался, но несовсем. Дело вот в чем:
когда у с/ф установлена галка "Исправление", то в номере документа вначале приписывается буква "И".
Номер с/ф без галки "Исправление": БТ0000000005
Номер с/ф с галкой "Исправление":  ИБТ000000001
И если я в с/ф с галкой "Исправление" откорректирую номер на БТ0000000006, то с/ф перенесется правилами.
Получается, что не переносятся счета-фактуры, у которых номер с добавленным префиксом "И".
В чем может быть ошибка?
9 Saari
 
15.01.15
15:02
Разобрался! :)
оказывается в событии "Перед конвертацией объекта" было написано условие:
Если Лев(Источник.Номер,2) <> Источник.Организация.Префикс Тогда
Отказ = Истина;
КонецЕсли;

Если убрать это условие, то с/ф переносится.
Всем спасибо за помощь!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn