Варианты настройки автообмена.
Вариант 1: запустить сеанс 1С под любым пользователем (кроме выбранного в настройках обработки), открыть обработку, включить на форме обработки галочку Автообмен, оставить обработку работать. Периодически будет выполняться обмен данными с учетом настройки по времени.
Вариант 2: ч\з планировщик Windows настроить запуск 1С с обработкой под пользователем из настроек обработки. Выполнятся задания по обмену (для которых время подошло, должна быть включена галочка Автообмен), 1С закроется.
Вариант 3: создать регламентное задание, которое будет вызывать функции выгрузки и загрузки данных из обработки. Задание должно выполнить чтение настроек, вызвать функции выгрузки и загрузки данных, выполнить сохранение настроек.
Примеры:
Windows Server 2008 (вариант 2) | ||
|
| |
|
|
|
bat файл (вариант 2) |
|
Windows Server 2003 (вариант 2) | ||
|
|
|
Расписание для регл. задания (вариант 3) | |
|
|
|
|
Регламентное задание для 8.2/8.3 (вариант 3) |
Процедура Автообмен() Экспорт |
Регламентное задание для 8.1 (вариант 3) |
Процедура Автообмен() Экспорт ВнешняяОбработка = Обработки. mobicom81.Создать(); |
Для работы с регламентным заданием в обработке в процедурах НастройкиЗагрузить и НастройкиСохранить необходимо сделать изменения:
Процедура НастройкиЗагрузить(ОбъектыВыгрузки, ОбъектыЗагрузки, Заголовок) Экспорт
// определяем файл настроек
//лПолноеИмяОбработки = ИспользуемоеИмяФайла;
лПолноеИмяОбработки = "\\server\mobicom\mobicom82.epf";
лФайл = Новый Файл(лПолноеИмяОбработки);
Процедура НастройкиСохранить(ОбъектыВыгрузки, ОбъектыЗагрузки) Экспорт
// определяем файл настроек
//лПолноеИмяОбработки = ИспользуемоеИмяФайла;
лПолноеИмяОбработки = "\\server\mobicom\mobicom82.epf";
лФайл = Новый Файл(лПолноеИмяОбработки);
Настройка обработки.

Ручной автообмен.

Объекты выгрузки и объекты загрузки.

Имя раздела – имя таблицы в облаке.
Наименование – произвольное наименование, для представления на форме обработки.
Выключено – любой символ. Раздел не участвует в обмене данными.
Замещение – “true” - таблица в облаке очищается и записываются новые данные, “false” - данные в облаке обновляются/добавляются.
Таб. часть – подчиненный справочник, табличная часть документа, как задано в облаке.
Связка – имя поля, связывающего таб. часть и основной объект.

Отбор – имя объекта, как задано в конфигураторе. Если пусто, или в начале стоит «*» - отбор не используется.
Тип объекта – «С» - справочник, «Д» - документ, «Р» - регистр. Для правильной подстановки отбора в запрос.
Комментарий – произвольный комментарий.
Раздел объекта выгрузки

Имя секции (области) – имя таблицы в облаке. На рисунке - ref_agreements.
Мобиком – наименование поля в таблице облака.
Источник – наименование поля данных (в таблице, результате запроса) в 1С. Если поле пустое, или в начале «*» - поле не участвует в обмене.
Ссылка – если это ссылочное поле, тип ссылки, как задано в облаке. Дополнительно по этому полю накладывается отбор (если не помечено «*») в запросе. Подробности ниже.
Описание – произвольное описание.
Запрос – первая строка - основной текст запроса (без дополнительных фильтров).
Есть условие – «1» или «0». Есть уже в тексте основного запроса условие или нет. Для правильной вставки дополнительных отборов в запрос.
Доп. при выгрузке – первая строка - текст модуля, который будет выполнен после выполнения запроса (если нужно с выбранными данными совершить какие-то действия перед их записью в выходной файл данных).
Формирование запроса

Это основной запрос. В нем уже есть условие, поэтому в графе «Есть условие» стоит «1».
Дополнительно к запросу при работе обработки будут добавлены отборы
![]()
и соответствующие параметры в запрос (объекты, полученные ранее в запросах в соответствующих разделах)

Выгружаемые данные


Дополнительные «хаки»
При выгрузке данных:
Простой фильтр по дополнительному полю.
Если при выборке данных для текущего раздела нужно добавить отбор в запрос, но в структуре данных раздела нет необходимого поля, можно сделать так:
* добавить новую строку в раздел
* в «Источник» поставить «#», в «Ссылка» - раздел, в котором выбирались нужные данные, в «Запрос» - поле в запросе, на которое нужно наложить отбор

Если в запросе условие находится внутри текста (после условия идет еще текст), место вставки доп. отборов помечается «<ГДЕ?>».
Сложный фильтр по дополнительному полю.Если запрос сложный, и отбор по одному дополнительному полю надо вставить в несколько мест: * добавить новую строку в раздел * в запросе в нужные места в условиях вставить параметры. для примера с договорами - «&Отбор_ref_agreements» К тексту запроса обработкой ничего дополнительно дописываться не будет, только к самому запросу добавятся дополнительные параметры. |
|
| |



Если в поле «Запрос» поставить слово «НЕОПРЕДЕЛЕНО» - к запросу и к тексту запроса не будет применено никаких действий, только соответствующий раздел (в данном случае ref_agreements) пометится для вызова. Это нужно, например, для: если в том разделе (ref_agreements) заполняется какая-то структура, данные из которой необходимы для обработки результатов текущего раздела.
Сложная выборка данных
Если запросом невозможно сразу выбрать или подготовить данные, или их не требуется выбирать запросом, в поле «Запрос» можно вставить простой текст запроса типа «ВЫБРАТЬ 1 КАК Поле1», в столбце «Ссылка» включить нужные поля, выключить ненужные, при этом для нужных в столбце «Запрос» поставить «НЕОПРЕДЕЛЕНО», чтобы не влиять на текст запроса. Вся работа по выборке данных ведется в «Доп. при выгрузке» |
|
После выполнения запроса и дополнительных действий если в результирующей таблице «лОбъекты» есть столбец «Ссылка», этот столбец будет скопирован в «лСписокФильтров» для возможности установки отбора по этим объектам при выборке данных в других разделах. Также по полю «Ссылка» генерируются коды объектов для облака. 
Если невозможно установить уникальные коды по полю «Ссылка» (уникальность достигается при использовании нескольких полей), в результате запроса поле «Ссылка» должно отсутствовать (можно, например, воспользоваться «Контрагенты. Ссылка КАК КонтрагентСсылка,»). Оно добавляется позже вручную, и заполняется композитным кодом. Также если при этом необходимо в дальнейшем использовать объекты этого раздела в отборах в других разделах, необходимо установить «лАвтоИдентификатор = Ложь;» и самостоятельно добавить нужные данные в «лСписокФильтров».

При загрузке данных:
Тип значения в 1С определяется по значению из «Ссылка» и настройки в разделе «Объекты выгрузки».


При загрузке из облака «Заявки» (doc_preorders) поле employee будет автоматически преобразовываться к типу «СправочникСсылка. Пользователи» и значение запишется в поле «Ответственный» созданного объекта 1С (в данном случае документ ЗаказПокупателя).

| Если значение из облака невозможно сразу преобразовать к типу данных 1С (в 1С у поля составной тип данных, при генерации кода значения для облака использовались составные коды, другие случаи), можно использовать переменную «лПеременные» ( = Новый Структура;), которая сбрасывается в начале обработки нового объекта. |

Общее:
Если в процессе обработки раздела нужно сохранить какой-то набор данных, который понадобится при обработке данных других разделов, можно использовать переменную «лКонстанты» ( = Новый Структура;), которая актуальна в процессе всей работы выгрузки/загрузки данных.
|
|





















