Конвертация данных 2 - Отмена проведения документов в 7.7 при повторной загрузке

Публикация № 77152

Администрирование - Администрирование данных 1С - Обработка документов

При повторной загрузке данных в 1С бывает необходимо отменить проведение у существующих документов.

Делая обмен между семерочными конфигурациями на КД2, столкнулся с тем, что не отменяется проведение уже загруженных документов при повторной загрузке. Исследуя этот вопрос, обнаружил что в обработке загрузки v77imp.ert есть функция

Функция ОтменитьПроведение(Объект, СтатусВПравилах="Авто", СтатусВФайле="НеИзвестен")

которая выполняет отмену проведения документа, но нигде не используется в данной обработке.Также выяснилось, что при загрузке документа, в процедуре

Процедура ЗагрузитьДокументV8(Объект, Вид, ИмяПравила)

есть строчка кода, которая пытается получить флаг отмены проведения из файла обмена:

ОтменитьПроведение  =   Число(Объект.ПолучитьАтрибут("ОтменитьПроведение"));

Но переменная ОтменитьПроведение далее нигде не используется.

Итак, чтобы включить возможность отмены проведения документов, я сделал изменения в конфигурации Конвертация (2.1.3.1), в обработке ВыгрузкаКонвертации:

1. Макет "ПроцедурыИФункцииМодуляВыгрузки"

Добавил атрибут к узлу Объект в функции ВыгрузитьПоПравилу() (смотрите комментарии):

Функция ВыгрузитьПоПравилу(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО = "", УзелСсылки = "", ТолькоПолучитьУзелСсылки = 0,
    ...
    Если Приемник = мПустоеЗначение Тогда //строка 2827 в типовой конфигурации 2.1.3.1
        Приемник = СоздатьУзел("Объект");
        УстановитьАтрибут(Приемник, "Нпп", Нпп);
        УстановитьАтрибут(Приемник, "Тип", ПолучитьРеквизитПКО(НомерПКО, "Приемник"));
        УстановитьАтрибут(Приемник, "ИмяПравила", ПолучитьРеквизитПКО(НомерПКО, "Код"));
        //для отмены проведения документов
        //в обработчике ПередВыгрузкой ПКО документа написать:
        //ВходящиеДанные = СоздатьОбъект("СписокЗначений");
        //ВходящиеДанные.ДобавитьЗначение(1, "ОтменитьПроведение");
        Попытка
            УстановитьАтрибут(Приемник, "ОтменитьПроведение", ВходящиеДанные.Получить("ОтменитьПроведение"));
        Исключение
        КонецПопытки;
        //конец для отмены проведения документов

2. Макет "ПроцедурыИФункцииМодуляЗагрузки"

Добавил в процедуру ЗагрузитьДокументV8()  одну строчку (см. комментарии)

Процедура ЗагрузитьДокументV8(Объект, Вид, ИмяПравила)
    ...
    СтатусПроведения   =    гТабКэшПараметровЗагрузки.СтатусПроведения;
    ОтменитьПроведение  =   Число(Объект.ПолучитьАтрибут("ОтменитьПроведение"));
    ОбъектБД.НайтиДокумент(ТекущийОбъект);
    //отмена проведения документов
    ОтменитьПроведение(ОбъектБД,,ОтменитьПроведение);
    //конец отмена проведения документов

3. И все - работает.

В файле данных появился новый атрибут:

который сигнализирует о необходимости отмены проведения документа.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ЗАК 21.10.10 08:13 Сейчас в теме
А в чем это xml файл открыт на скрине?
2. nicxxx 239 21.10.10 08:32 Сейчас в теме
3. Арчибальд 2714 21.10.10 08:57 Сейчас в теме
Фишка невелика, но хорошо оформлена и несомненно полезна. +
4. artbear 1314 21.10.10 09:50 Сейчас в теме
(3) +1
(0) На всякий случай уточню: название процедуры ЗагрузитьДокументV8, а работает все-таки для 77, верно?
5. nicxxx 239 21.10.10 10:29 Сейчас в теме
(4) да, все верно. v77imp.ert - это типа универсальная обработка загрузки - может загружать в 7.7 как из 8(0/1/2), так и из 7.7, поэтому наверно чтобы идеологию не нарушать - все называния восьмерочные...имхо, конечно.
6. mark2k 28.10.10 10:03 Сейчас в теме
Оставьте свое сообщение

См. также

Как в 1С 7.7 сделать обмен на базе FTP

Файловые протоколы обмена, FTP 1С7.7<->1C7.7 v7.7 1cv7.md Бесплатно (free)

Выгрузка данных на FTP на примере в конфигурации Штрих-М Кассир 1.10.

12.05.2020    2037    Ignatov_mu    10    

Оптимизация выгрузки из 1С 7.7 по правилам обмена большого объема данных

Перенос данных из 1С7.7 в 1C8.X Обмен через XML 1С7.7<->1C7.7 v7.7 1cv7.md Бесплатно (free)

При выгрузке из 1С 7.7. большого справочника программа завершалась примерно с таким сообщением: "msxml6.dll: Недостаточно памяти для завершения операции". Вариант выгрузки порциями меня не устраивал. Поэтому немного оптимизировал обработку выгрузки. Возможно кому-то сэкономит время.

24.09.2014    32319    Just4Fun    33    

КД 2.0. Перенос документов 7.7 - 7.7. Передача параметра "Проведен"

Обмен через XML 1С7.7<->1C7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md КД Бесплатно (free)

1С:Конвертация данных 2.0. Решение проблемы проведения документов при переносе между базами 7.7

20.12.2011    18849    xazrad    18    

OLE в 1С-Предприятии

Математика и алгоритмы 1С7.7<->1C7.7 v7.7 1cv7.md Бесплатно (free)

Небольшая инструкция с примерами - как работать с OLE

09.08.2008    34773    Minotavrik    8    

(OLE 1С - 1C 7.7) Функции для 1С:Предприятие 7.7 для работы с другой базой 1С.

1С7.7<->1C7.7 Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Простенькие учебные функции (с описанием) для работы с базой 1С 7.7 через OLE. Полностью средствами 1С, т.е. не требуют никаких внешних компонент. Пользоваться можно бесплатно:-) Вставляете в глобальный модуль и пользуетесь. Цель: обучение, готовая иллюстрация подходов, возможность сразу использовать или, если нужно, доработать под свои цели.

06.08.2008    29399    venger    8    

1С:Конвертация данных: Способ переноса дерева элементов справочников между разнородными конфигурациями.

Математика и алгоритмы Обмен через XML 1С7.7<->1C7.7 v7.7 1cv7.md КД Бесплатно (free)

Данная задача возникает когда необходимо перенести справочники между конфигурациями у которых различается количество уровней. Например, количество уровней в справочнике "Номенклатура" в конфигурации "Торговля и Склад" - 5, а в конфигурации "Бухгалтерия" - 4. Самое простое решение - отбросить реквизит "Родитель" элементов справочника при выгрузке, но есть способ элегантнее. В данном случае мы не обсуждаем возможность изменения структуры справочника в базе-приемнике конфигурации "1С:Бухгалтерия".

23.06.2008    13234    api.vl    2    

Много общих журналов + гибкие закладки

Математика и алгоритмы Обработка документов Работа с интерфейсом v7.7 1cv7.md Бесплатно (free)

Общий журнал в ТиС имеет удобный механизм отбора, однако, жальба, что из меню можно открыть только один его экземпляр. Исправляем... А также добавляем "гибкие" закладки.

21.10.2007    16294    Shaman100M    20