Имя: Пароль:
1C
1С v8
Программное восстановление последовательности в документах 1С
0 inkvizitr
 
21.11.18
14:46
вот набросал в цикле механизм перепроведения документов, нужные документы у меня хранятся в ТЗ под названием "ТаблицаДокументов", суть всего вопроса состоит в том, что я не знаю как правильно описывать код по восстановление последовательности, могли бы проверить, дать советы и т.п.

    Для каждого Документ Из ТаблицаДокументов Цикл
        Если Документ.ВыбратьДокумент Тогда
            Если ТекстЗапроса <> "" Тогда
                ТекстЗапроса = ТекстЗапроса + "
                |ОБЪЕДИНИТЬ ВСЕ";
            КонецЕсли;        
            ТекстЗапроса = ТекстЗапроса+ "
            |ВЫБРАТЬ
            |    Документ.Ссылка
            |    Документ.Дата,
            |    Документ.Организация,
            |    Документ.Проведен
            |ИЗ
            |    Документ." + Документ.ИмяДокумента + " КАК Документ
            |ГДЕ
            |    Документ.Проведен
            |    И Документ.Дата МЕЖДУ &ДатаНачало И &ДатаОкончания";
        КонецЕсли;
    КонецЦикла;
    
    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка";
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("ДатаНачало", ДатаНачало);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        Момент = Новый МоментВремени(Выборка.Дата, Выборка.Ссылка);
        Отбор = Новый ТаблицаЗначений;
        Отбор.Колонки.Добавить("Организация");
        Отбор.Добавить().Организация = Выборка.Организация;
        Последовательности.ДокументыОрганизаций.Восстановить(Момент, Отбор);

        ДокументКоторыйНужноПерепровести = Выборка.Ссылка.ПолучитьОбъект();
        ДокументКоторыйНужноПерепровести.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
1 inkvizitr
 
21.11.18
14:48
т.е. как говорится перепровести программно могу, а вот с восстановлением последовательностью не работал
2 inkvizitr
 
21.11.18
14:59
меня больше всего волнует вот этот момент и на сколько он правильный

        Момент = Новый МоментВремени(Выборка.Дата, Выборка.Ссылка);
        Отбор = Новый ТаблицаЗначений;
        Отбор.Колонки.Добавить("Организация");
        Отбор.Добавить().Организация = Выборка.Организация;
        Последовательности.ДокументыОрганизаций.Восстановить(Момент, Отбор);
Основная теорема систематики: Новые системы плодят новые проблемы.