8.х Групповое перепроведение документов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Димыч28, 30 дек 2014.

  1. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток! Каждую ночь запускаю обработку перепроведения документов установка скидок номенклатуры, с перезаполнением таблицы товаров
    код:
    Код:
    Процедура ПерезаполниьДокументыНаСкидку() Экспорт
     
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Дата", Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"));
        Запрос.УстановитьПараметр("Условие", Перечисления.УсловияСкидкиНаценки.ПоДисконтнойКарте);
        Запрос.Текст =
        "ВЫБРАТЬ
        |    УстановкаСкидокНоменклатуры.Ссылка
        |ИЗ
        |    Документ.УстановкаСкидокНоменклатуры КАК УстановкаСкидокНоменклатуры
        |ГДЕ
        |    УстановкаСкидокНоменклатуры.Проведен = Истина
        |    И УстановкаСкидокНоменклатуры.ДатаОкончания <= &Дата
        |    И УстановкаСкидокНоменклатуры.Условие = &Условие" ;
        Выборка = Запрос.Выполнить().Выбрать();
     
        ТаблицаТоваров = ДобавитьГруппу();
     
        Пока Выборка.Следующий() Цикл
            Объект = Выборка.Ссылка.ПолучитьОбъект();
            Объект.Товары.Очистить();
         
            Объект.Товары.Загрузить(ТаблицаТоваров);
            Объект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
        КонецЦикла;
     
    КонецПроцедуры
    Документы очень долго проводятся, есть варианты ускорить обработку?
    База на сервере 1с предприятия, субд postgresql
    Последнее редактирование модератором: 30 дек 2014
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Это уже смотрите что творится у вас при проведении.
  3. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Смотрел, документ долго проводится.
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    И что ??? Вы это говорили еще в первом сообщении.
  5. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Можно сделать чтоб документы проводились на сервере, это ускорит процесс?
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Они и так на сервере проводятся. Как вы поняли что проводятся долго ???? А может затык в ДобавитьГруппу() ?????????????????????
  7. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Затык именно в проведении, скрин с замером производительности до цикла

    Вложения:

  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Ну и смотрите где у вас больше всего времени затрачивается. Перестаньте морочить голову:D
    На скрине я вижу что узкое место в общем модуле.
  9. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Если на сервере проводятся документы, почему операторы в этот момент висят и не могут проводить документы?
    --- Объединение сообщений, 30 дек 2014 ---
    процедура прописана в общем модуле, и сейчас когда делал замер скорости даже первый документ еще не провелся, а их около сотни и с каждым днем прибавляются
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Потому что так положено в учете. И все нормальные люди перепроводят документы когда в базе никого нет и никто не может залезть в проводимый документ и исправить его, тем самым вызвать исключительную ситуацию. Курите матчасть-Cigar-
    При проведении записи регистров "блокируются для изменения", чтобы корректно сформировались движения доков.
  11. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.440
    Симпатии:
    374
    Баллы:
    104
    и как это увязывается с этой вашей фразой? -"Каждую ночь запускаю обработку перепроведения документов установка скидок номенклатуры"
    --- Объединение сообщений, 30 дек 2014 ---
    и что это за замеры если действие даже не выполнено полностью? при чём то, которое замеряется
    Последнее редактирование: 30 дек 2014
  12. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.570
    Симпатии:
    717
    Баллы:
    204
    Если перепроведение документов длится продолжительное время и не успевает завершится за то время, пока в базе не работают пользователи, то есть смысл создать узел РИБ, сделать его главным, вынести на отдельный сервер и выполнять проведение в этом узле, потом выполнять обмен с подчиненным узлом.
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Больно заморочено...
  14. TopicStarter Overlay
    Димыч28
    Offline

    Димыч28 Опытный в 1С

    Регистрация:
    10 янв 2013
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    УправлениеЗапасамиПартионныйУчет.ЗаписатьДокументНаСервере(Выборка.Ссылка,РежимЗаписиДокумента.Проведение);
    Вот нашел, документ проводится быстрее, попробовал
  15. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    На чем основано у вас такое мнение ?

Поделиться этой страницей