Автоматический обмен при появлении файла, по регламентному заданию создаёт файл выгрузки, даже если файл загрузки не появлялся

Публикация № 1198647

Разработка - Обмен данными 1С - Перенос данных из 1C8 в 1C8

Автообмен ВыполнятьОбменПриПоявленииФайла

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

Вариант работы ИБ клиент-сервер, где сервер linux(COM-объект недоступен). Т.к. обмен через подключение к информационной базе недоступно, используем обмен через файловый ресурс. Для облегчения загрузки выгруженной информации, в ИБ приёмнике настраиваем "Автоматический обмен при появлении файла" который в свою очередь запускается через регламентное задание. Как оказалось, регламентное задание отрабатывает, ИБ приёмник не видит файла для загрузки, но при этом - каждую попытку проверки файла создаёт файл выгрузки(для чего??? от меня ускользает). Если внести эти изменения, то ответный файл из ИБ приёмника создастся только после появления файла загрузки. Что на мой взгляд более чем логично.

//88(
    // Добавленный код
//88)
//881(
    // Изменённый код
//881)

Общий модуль - ПроцедурыОбменаДанными

Процедура ВыполнитьОбменПоНастройкеАвтоматическогоОбмена()
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//88(
	// Если это Автообмен = ВыполнятьОбменПриПоявленииФайла(РучнойЗапускОбменов = Ложь) и ВыполняемоеДействие = ЗагрузкаДанных,
	// тогда файл после "Чтения изменений" удаляется, после чего ВыполняемоеДействие = ВыгрузкаДанных
	// каждый раз по РегламентномуЗаданию "Записывает изменения", даже если файл не появлялся.
	// Данная переменная проверяет ДоступностьФайлаПриЗагрузкеДанных, и не даёт "Записывать изменения" без "Чтения изменений".
	ДоступностьФайлаПриЗагрузкеДанных = Ложь;
	//88)
	Для Каждого СтрокаТабЧасти Из ОбъектНастройки.НастройкиОбмена Цикл
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			Если ВыполняемоеДействие = Перечисления.ДействиеПриОбмене.ВыгрузкаДанных Тогда
				
				СтруктураНастроекОбмена.Вставить("ПроизводитьЧтениеДанных", Ложь);
				//881СтруктураНастроекОбмена.Вставить("ПроизводитьЗаписьДанных", Истина);
				//88(
				СтруктураНастроекОбмена.Вставить("ПроизводитьЗаписьДанных", ?(Не РучнойЗапускОбменов И Не ПустаяСтрока(ОбъектНастройки.ВыполнятьОбменПриПоявленииФайла), ДоступностьФайлаПриЗагрузкеДанных, Истина));
				//88)
				
			ИначеЕсли ВыполняемоеДействие = Перечисления.ДействиеПриОбмене.ЗагрузкаДанных Тогда
				
				СтруктураНастроекОбмена.Вставить("ПроизводитьЧтениеДанных", Истина);
				СтруктураНастроекОбмена.Вставить("ПроизводитьЗаписьДанных", ЛОЖЬ);
				//88(
				ДоступностьФайлаПриЗагрузкеДанных = СтруктураНастроекОбмена.ДоступностьФайла;
				//88)
				
			Иначе
				
				Продолжить;
				
			КонецЕсли;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
КонецПроцедуры

Для удобства в РС "История обмена данными" в "Информацию о выгрузке данных" будем писать "Недоступен файл для загрузки данных! Обмен отменен.", вместо "В настройке обмена не взведены флаги загрузки и выгрузки данных! Обмен отменен.". Для этого

Функция ВыполнитьДействияПередНачаломОбменаДанными()
/////////////////////////////////////////////////////////////////////////////////////////////////////
	Если НЕ СтруктураНастроекОбменаДанными.ПроизводитьЧтениеДанных 
		И НЕ СтруктураНастроекОбменаДанными.ПроизводитьЗаписьДанных Тогда
			
		//881ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбменаДанными, "В настройке обмена не взведены флаги загрузки и выгрузки данных! Обмен отменен.");
		//88(
		ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбменаДанными, ?(Не СтруктураНастроекОбменаДанными.РучнойРежимЗапуска И Не ПустаяСтрока(СтруктураНастроекОбменаДанными.ВыполнятьОбменПриПоявленииФайла), "Недоступен файл для загрузки данных! Обмен отменен.", "В настройке обмена не взведены флаги загрузки и выгрузки данных! Обмен отменен."));
		//88)
		Возврат Ложь;
			
	КонецЕсли;
/////////////////////////////////////////////////////////////////////////////////////////////////////
КонецФункции

p.s.

Вот и всё, после чего файл выгрузки данных создастся только после появления файла для загрузки. а не каждый раз при проверке появления.

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Бэнни 120 26.02.20 18:33 Сейчас в теме
А что за комментарии такие "88"?
2. wau8824ru 21 27.02.20 05:54 Сейчас в теме
88 то что дабавил, 881 то что изменил.
Так удобно искать изменения текстовым поиском по модулю.
3. wau8824ru 21 28.02.20 10:37 Сейчас в теме
(2)
Так удобно искать изменения

При сравнении с конфигурацией поставщика - добавленный текст зелёным, изменённый синим.
4. wau8824ru 21 05.03.20 10:14 Сейчас в теме
(3)
При сравнении с конфигурацией поставщика - добавленный текст зелёным, изменённый синим.

Обманул
добавленный код - синий.
изменённый код - красный.
Оставьте свое сообщение

См. также

Механизмы проведения документов при обмене по универсальному формату

Статья Программист Нет файла v8 Бесплатно (free) Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    1712    partizand    5       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Бесшовная интеграция через обмен по правилам - миссия выполнима

Статья Программист Нет файла v8 ДО ERP2 Бесплатно (free) Практика программирования Интеграция Перенос данных из 1C8 в 1C8

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    2303    e-9    2       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

Статья Программист Нет файла v8 КД Россия НДС Бесплатно (free) Перенос данных из 1C8 в 1C8

При написании правил обмена между "более старой" и "более новой" конфигурациями можно столкнуться с тем, что в одной конфигурации ставки НДС - это перечисление, а в другой - справочник (или наоборот, но мой пример именно из перечисления в справочник). Ситуация несложная, но нестандартная, поэтому выкладываю работающий пример, может, кому пригодится.

09.11.2019    3837    vikulinamari    1       

Настройка синхронизации между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4

Статья no Нет файла v8 БП3.0 УТ11 Беларусь Бесплатно (free) Перенос данных из 1C8 в 1C8

Пошаговое описание настройки типового обмена между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4

21.10.2019    4521    OlesiaM    1       

Время учиться: до 3 апреля скидки на курсы до 40%! Промо

Для тех, кто решил провести самоизоляцию с пользой, Инфостарт запускает акцию «Время учиться». С 30 марта до 3 апреля 2020 года наши курсы и видеозаписи докладов INFOSTART EVENT 2019 INCEPTION продаются со скидкой!

Объединение организаций в ЗУП при реорганизации с переносом данных из ЗУП 2.5 в ЗУП 3.1

Статья Программист Нет файла v8 v8::СПР ЗУП2.5 ЗУП3.x БУ Бесплатно (free) Зарплата Управление персоналом (HRM) Перенос данных из 1C8 в 1C8

В этой статье описан опыт объединения 2-х организаций при реорганизации в ЗУП 3.1 с переносом данных одной организации из ЗУП 2.5 (релизы баз более или менее свежие, но не самые последние на момент перехода, примерно двух- и трехмесячной давности). За основу было взято решение из этой статьи https://infostart.ru/public/833658/, в которой описан алгоритм решения задачи, за что автору статьи огромная благодарность! Здесь же даны некоторые комментарии и пояснения к алгоритму переноса и объединения, описаны выявленные мною ошибки. Также приведена небольшая инструкция по использованию обработки ирПодборИОбработкаОбъектовБД — она будет полезна для пользователей — «не программистов», впервые работающих в не управляемых формах.

09.10.2019    4578    Neti    1       

EnterpriseData: простой способ защиты данных в базе получателя при одностороннем обмене

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Перенос данных из 1C8 в 1C8

Очень часто бухгалтеры ругаются, когда уже отраженные документы в бухгалтерском учета меняются сотрудниками.

04.10.2019    4587    handscenter    12       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Дозагрузка измененных данных при помощи КД2

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Иногда во время каких-то регламентных действий по обслуживанию базы(например, при обновлении измененной базы на много релизов) требуется обеспечить бесперебойность работы пользователей. Если конфигурации баз до и после идентичны, то тут сам Бог велел воспользоваться обработкой "ВыгрузкаЗагрузкаДанныхXML", либо такой же но с отбором(на Инфостарте есть такая). Но что если конфигурации баз различаются/значительно различаются? Ниже опишу, как вышел из положения я.

12.09.2019    3255    al_zzz    2       

Конвертация Данных. Нюансы использования конструкции "НеЗамещатьОбъект = Истина" в обработчике события "ПриЗагрузке"

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8

У конвертации данных есть «особенности», которые «пьют кровь» программистов. Эта статья про очередную обнаруженную «особенность».

10.09.2019    5846    ivanek    21       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

Обмен данными через Web Сервисы

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Перенос данных из 1C8 в 1C8

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

02.09.2019    12771    user5300    38       

Выгрузка и загрузка документов с движениями

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8

Возникла задача перенести документы с движениями, но подменив организацию. Наткнулся на проблему с выгрузкой движений, опишу свой опыт.

02.09.2019    4379    human_new    7       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Статья Программист Нет файла v8 v8::УФ 1cv8.cf ОС Бесплатно (free) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    9332    ids79    7       

Перенос дополнительных реквизитов в Конвертации данных 2.0

Статья Программист Нет файла v8 КД Россия УУ Бесплатно (free) Перенос данных из 1C8 в 1C8

Пример написания правил обмена (КД 2.0) для переноса дополнительных реквизитов справочника "Номенклатура", в том числе перенос ПВХ с разными типами значений.

13.08.2019    6828    vikulinamari    7       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Синхронизация данных между 1С: ЗУП 3.1 и Бухгалтерией 3.0 через файл

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Перенос данных из 1C8 в 1C8

Публикация описывает последовательность синхронизации данных между 1С: ЗУП 3.1 и Бухгалтерией 3.0 через файл.

23.04.2019    8251    saveliev    3       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Как прикрутить ГУИД к регистру сведений

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    14696    m-rv    16       

Работа с ComОбъектом 1С 8.2; 8.3

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Перенос данных из 1C8 в 1C8

Определение типов и значений через COM соединение между конфигурациями.

15.04.2019    16131    vik070777    12       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Обмен данными между УПП 1.3.64.х и БП 3.0 по расписанию через Универсальный обмен данными + План обмена

Статья Программист Нет файла v8 УПП1 Россия Windows Бесплатно (free) Обмен через XML Перенос данных из 1C8 в 1C8

Описание доработки конфигурации УПП 1.3.64.х для выполнения обмена данными по расписанию в БП 3.0. через обработку Универсальный Обмен Данными XML и План Обмена.

09.04.2019    5242    mrcamomile    15       

RabbitMQ + Конвертация Данных 3.0

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

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

21.03.2019    19620    barelpro    82       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Конвертация данных 2.1: поиск по условию

Статья Программист Нет файла v8 КД ERP2 Windows Бесплатно (free) Перенос данных из 1C8 в 1C8

Задача. При обмене документами "Реализация товаров и услуг", поиск контрагента осуществлять по полям "ИНН", "КПП". Если вид договора с комиссионером, то поиск осуществлять по полям "ИНН", "КПП", "Наименование".

15.01.2019    10630    wowik    13       

Заметки КД 2.1: Как передать файл, динамически создаваемый в источнике, в справочник присоединенных файлов приемника

Статья Программист Нет файла v8 КД Россия Windows Бесплатно (free) Перенос данных из 1C8 в 1C8

В БП 3.0 есть документ "Книга Продаж Для Передачи В ЭлектронномВиде" из которого выгружается XML файл. Задача: Нужно из БП 3.0 посредством правил обмена, вместе с документом книга продаж сформировать и перенести XML файл в базу приемник. В приемнике файл будет храниться в справочнике "Книга Продаж Присоединенные Файлы".

10.10.2018    7682    Viktor_Ermakov    6       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Планы обмена 1С

Статья Программист Нет файла v8 Бесплатно (free) Перенос данных из 1C8 в 1C8 Интеграция

В статье - мастер-классе Дмитрий Жичкин рассказывает, для чего нужны планы обмена 1С и какие задачи они решают. Он подробно описывает физическую структуру планов обмена и механизмов регистрации изменений, рассматривает основные проблемы, возникающие при выгрузке изменений и предлагает методы их решения.

10.09.2018    44944    zhichkin    25       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Альтернатива переноса ТЗ в конвертации данных 2.1

Статья Программист Нет файла v8 КД Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Здравствуйте уважаемые. Решил выложить альтернативный способ переноса данных в конвертации данных из источника к приемнику, с последующим сбором их в ТЗ в месте ПослеЗагрузки. Т.е.можно готовый перенесенный объект доработать либо создать что-то еще на базе данных. Метод сам разработан с учетом простого понимания Конвертации без использования всех её многочисленных тонкостей и сложностей. В примере рассматривается перенос Операции. И вот еще что. Я не привожу тут готовое решение, я всего лишь показываю концепцию того, как можно делать в КД. Без использования глобальных переменных.

20.08.2018    5840    dinopopyys    6