Конвертация данных 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С 7.7 сделать обмен на базе FTP

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

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

12.05.2020    1637    Ignatov_mu    7    

Оптимизация выгрузки из 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    32104    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    18689    xazrad    18    

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

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

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

09.08.2008    33805    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    29173    venger    8    

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

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

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

23.06.2008    13185    api.vl    2    

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

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

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

21.10.2007    16235    Shaman100M    20