Использование ОбменДанными.Загрузка Истина в 1С 8.3
Что такое ОбменДанными.Загрузка = Истина, как использовать ОбменДанными.Загрузка.
Содержание
ОбменДанными.Загрузка
ОбменДанными.Загрузка — атрибут любого объекта в системе 1С предприятие. Он позволяет обозначить при записи объекта, что необходимо отключить любые проверки (в т.ч проверки на уровне платформы 1С). Сделано это было для того, чтобы избежать конфликтов при обмене данных.
Если Вы разрабатываете свою конфигурацию, во всех проверках правильности данных (например, процедура ПередЗаписью) необходимо первой строкой добавить такую строку:
Если ОбменДанными.Загрузка = Истина Тогда
Возврат;
КонецЕсли;
Это является хорошим тоном среди разработчиков 1С.
Контроль записи в стандартных обработках 1С
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Если Вы когда-либо пользовались стандартными обработками 1С (например, Поиск и замена значений, Групповая обработка данных, Универсальный обмен данных и т.п), Вы наверное замечали настройку, которая называется обычно «Контроль записи». Эта настройка как раз отвечает за включение/выключение атрибута «ОбменДанными.Загрузка».
Как установить режим ОбменДанными Загрузка
Использовать этот атрибут очень удобно в программном коде, для отключения всех проверок. Например, данный атрибут необходим, если Вам нужно записать объект, но он имеет незаполненные обязательные реквизиты. Это можно также использовать как способ увеличить скорость массовой обработки данных — если Вы отключаете все проверки, система записывает объект быстрее.
Пример использования:
КонтрагентСсылка = Справочники.Контрагенты.НайтиПоНаименованию(«Рога и копыта»);
КонтрагенОбъект = КонтрагентСсылка.ПолучитьОбъект();
КонтрагенОбъект.Наименование = «Рога и копыта LTD.»
КонтрагенОбъект.ОбменДанными.Загрузка = Истина;
КонтрагенОбъект.Записать();
Азы настройки обмена данными в 1С с помощью конфигурации «1С Конвертации данных» на примере смотрите в видео:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Игорь:
В случае восстановления последовательности не отрабатывает. К документам программного доступа нет. Косяк.
Аноним:
Игорь Косяк, в типовых конфигурациях в процедурах «ПередЗаписью» и «ПриЗаписи» сначала проверяется условие «ОбенДанными.Загрузка = Истина» и если условие соблюдается происходит отрабатывает оператор «Возврат», т.е. не выполняются дальнейшие операторы (а это могут быть проверки, формирование движений по регистрам, изменение последовательностей и др.). Другими словами при таком режиме только сохраняются реквизиты объекта и его табличные части
Аноним:
:)))
EvilGrym@shit_mail_.me:
Однако, есть подводный кирпич.
Если вдруг, случайно, вам возжелалось по-быстрому грохнуть пару-тройку тысяч неудачно загруженных документов, то можно получить неприятный побочный эффект. К примеру:
Имеем бух, документы поступление товаров+ дополнительные сведения у каждого документа. При включенном режиме загрузка = истина документы шустренько так удаляются, раза в 4…6 быстрее чем по нормальному, Однако, в регистре сведений Дополнительные сведения остаются записи . А пачемушта? А патамушта, в р.с. Доп.св. Измерение Объект ( со ссылкой на поступление товара) является ведущим и при удалении объекта (в смысле приходной накладной) должно само удаляться, а загрузка = истина отключает эту системную фичу. Так что приходится подчищать хвосты врукопашную.
EvilGrym:
Подстава №2: В режиме загрузки документы не проводятся. Пишет что
«Действие не может выполняться в режиме загрузки данных».
Аноним:
НовЗапись_ШтрихКод = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
как в этом случае поставить ОбменДанными.Загрузка = Истина; ???