Групповое проведение на сервере для Бухгалтерии 2.0



Появилась задача ускорить групповое проведение всех документов. Единственным выходом посчитал сделать проведение на стороне СЕРВЕРА. Вот что получилось…

ВАЖНО!!! Необходимо изменение конфигурации.

Использование целесообразно в трехзвенных системах

Для того чтобы обработка корректно работала необходимо добавить модуль:


1. Если вы не хотите лазить в обработку тогда Создаем Общий модуль с наименованием КА_ДопМодуль

2. В нем добавляем Функцию КА_ПровестиОбъектНаСервере


Функция КА_ПровестиОбъектНаСервере(ТаблицаДокументов) Экспорт

     ВсегоДокументов = ТаблицаДокументов.Количество();

     Для Индекс = 0 ПО ВсегоДокументов 1 Цикл

          СтрокаДокумента = ТаблицаДокументов[индекс];

          Если СтрокаДокумента.РеглДокумент Тогда
               Продолжить;
          КонецЕсли;

          ДокументОбъект = СтрокаДокумента.Ссылка.ПолучитьОбъект();

          Попытка
               ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
          Исключение
          КонецПопытки;

     КонецЦикла;

     ВызватьИсключение Истина;

КонецФункции

3. Если хотите добавить Модуль и имя процедуры свои ищем в модуле формы обработки строку

 

ФоновыеЗадания.Выполнить(«КА_ДопМодуль.КА_ПровестиОбъектНаСервере»,МассивПараметров,
Ключ, «Проведение в фоне»);

и соответственно меняем «КА_ДопМодуль.КА_ПровестиОбъектНаСервере» на свои значения.

Теперь собственно об особенностях обработки.

1. При постановке галочки «На сервере» выполнение передается фоновому заданию. Соответственно при достаточных мощностях сервера скорость перепроведения возрастает в разы.

2. Установлена защита на повторный запуск обработки на другом или текущем компьютере. Это предотвращает конфликт блокировок и подвисания базы.

3. Фоновое задание не мешает пользователю продолжать свои действия после запуска.

Источники вдохновления:

http://www.kb.mista.ru/article.php?id=696

И типовая обработка в 1С Бухгалтерия «ГрупповоеПерепроведениеДокументов».

Работает у нас в организации на УРА!!! Пользуйтесь на здоровье.


11 Comments

  1. dimaxx

    Появилась задача ускорить групповое проведение всех документов. Единственным выходом посчитал сделать проведение на стороне СЕРВЕРА. Вот что получилось…

    Перейти к публикации

    Reply
  2. gutentag

    !

    Reply
  3. dimaxx

    Интересный коммент)

    Reply
  4. diarki

    Подойдет ли эта обработка для комплексной автоматизации, или есть ли что ни будь подобное для управление торговлей есть?

    Reply
  5. dimaxx

    (3) diarki, Тут использована технология. И обработка в основном предназначена для показа возможности с минимальными доработками. для управления торговлей нужно просто удалить модули получения регламентных документов и документов по учету НДС из обработки и она так же прекрасно будет работать. Так как она получает все не помеченные Документы из базы за период.

    Reply
  6. Alav

    Прикольно. Только одно пожелание а можно вот текстовое описание и модуль КА_ДопМодуль.КА_ПровестиОбъектНаСервере добавить в архив к скачиванию. А то забудешь где скачал (или инет будет не доступен, или публикацию удалят) и запустить не сможешь. А так глянул описание, скопипастил и готово

    Reply
  7. sound

    Вот она рыба моей мечты (Ц)

    Reply
  8. dimaxx

    (5) Alav, Легко)

    Reply
  9. FreeArcher

    И что реально ускоряет?

    Это наверное, если не терминальный сервер и работа по сети. А в терминале будет ускорение, за счет чего?

    Reply
  10. 8c1.ru

    (8) как мимнимум за счет отстутствия проверок прав доступа

    Reply
  11. KotorVB

    Темка уже старая, но всё же отпишусь.

    Может кому поможет.

    Есть возможность сделать тоже самое, только проще и совсем без доработки конфигурации.

    Достаточно использовать стандартную схему обмена данными, а в действиях выбрать только отложенные движения. И всё.

    Осталось только внешнюю обработку сделать которая бы заполняла регистр отложенные движения документов с использованием, для большей гибкости, построитель)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *