1С-Битрикс. Принудительная полная выгрузка.

24 Mar
Published by Nicholas

Принудительная полная выгрузка

В стандартном обмене данными между 1С:Управление торговлей и 1С-Битрикс есть механизм принудительной полной выгрузки, который, при определенных условиях может сыграть злую шутку.

Как работает механизм

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

Какие в этом плюсы

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

Минусы принудительной полной выгрузки

Если в УТ:11 программа хотябы спрашивает сделать ли полную выгрузку, то в УТ:10 этот флаг устанавливается автоматически и вы узнаете об этом только тогда, когда вместо 10 измененных товаров у вас вдруг начнут выгружаться 50 тысяч номенклатурных позиций.

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

Пример из жизни. Настроен периодический обмен данными только по измененным объектам. Кто-то то изменяет настройку обмена с сайтом. Программа устанавливает флаг принудительной полной выгрузки. Начинает выгружаться весь справочник номенклатуры. Из-за большого объема данных обмен завершается с обишкой. Вы решаете сделать выгрузку частями, настраиваете отбор. Несмотря на то, что в настройках установлен флаг «выгружать только измененные объекты», в файле обмена данными будет «СодержитТолькоИзменения=false». Битрикс, увидя этот параметр, удалит все данные в каталоге, кроме тех, которые содержатся в файле выгрузки. Не приятный суюрприз.

Как отключить полную выгрузку

В УТ:10 признак принудительной полной выгрузки храниться в регистре сведений «НастройкиОбменаССайтомСПринудительнойПолнойВыгрузкой». После изменения настроек обмена можно открыть этот регистр и удалить соответствующую строчку.

В УТ:11 - это реквизит типа Булево в настройках обмена.

Радикальный подход

Можно полностью отключить данный механизм в УТ:10, закомментировав содержимое процедуры:

Процедура УстановитьФлагПринудительнойПолнойВыгрузки(НастройкаОбмена, Флаг) Экспорт
   
Зап = РегистрыСведений.НастройкиОбменаССайтомСПринудительнойПолнойВыгрузкой.СоздатьМенеджерЗаписи();
   
Зап.НастройкаОбмена = НастройкаОбмена;
    Попытка
        Если
Флаг Тогда
           
Зап.Записать();
        Иначе
           
Зап.Удалить();
        КонецЕсли;
    Исключение
    КонецПопытки;
КонецПроцедуры

Для конфигурации УТ11 в модуле форму узла обмена нужно поменять значение переменной на Ложь:

Если ТекущийОбъект.ВыгружатьТолькоИзменения Тогда

   
// Changed("Nicholas Mikuslas", "21.09.2014 13:28:35", "Отключим принудительную полную выгрузку") {
        //ТекущийОбъект.ВыполнятьПолнуюВыгрузкуПринудительно = Истина;
    // } to {
   
ТекущийОбъект.ВыполнятьПолнуюВыгрузкуПринудительно = Ложь;
   
// }

КонецЕсли;

Тэги 

1С-Битрикс

Комментарии

Аватар пользователя Денис

Спасибо!

Аватар пользователя Pas

спасибо, помогло

Аватар пользователя Вадим

Спасибо! Это помогло

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Вы человек или автоматическая спам-рассылка?
Target Image