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

21.10.10

База данных - Инструменты администратора БД

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Монопольное открытие формы обработки 1с77

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Блокировка открытия формы обработки одним пользователем.

1 стартмани

24.05.2023    621    igor7777    1    

0

Групповое переименование файлов для 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простецкий скрипт переименования файлов в папке в нижний регистр, будет полезен программистам и системным администраторам имеющим навыки програмирования в 1С. Можно легко настроить под себя, спасает мне периодически час времени, может, кому еще будет полезен.

1 стартмани

18.02.2022    3791    0    igor7777    6    

2

[7.7 ТиС. СТОП-БАРДАК] Автоперенос непроведенных документов на текущий день

Инструменты администратора БД Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5696    2    CheBurator    3    

2

Анализ 1С: Предприятие 7.7 с помощью ELK стека

Журнал регистрации Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11155    phsin    20    

28

Автоматическое объединение конфигураций 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15681    4    devlabnn    2    

6

Перепроведение по счету

Инструменты администратора БД Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3753    1    Genyak    1    

0

Решение проблем с печатью, предварительным просмотром печати, пакетной печатью 1С: 7.7 в терминале

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    27209    18    tux    3    

1

Логирование в 1С

Инструменты администратора БД Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    35133    rudjuk    21    

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