Универсальный обмен данными UNIDATA 1с77

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

Разработка - Обмен данными 1С - Загрузка и выгрузка в Excel

14
Моя авторская обработка для обмена данными для 1с77

 

(C) Осипов Сергей Александрович, Москва 2003 год

Оглавление

Введение. 1
Теоретические предпосылки. 1
Настройки. 1
Интерфейс. 2
Параметры обмена. 2
Выгружать. 3
Алгоритмы этапов работы.. 4
FAQ и примеры.. 5
Нужно выгрузить только накладные с определенным номером.. 6
Описание импорта из XLS/MXL.6
Дополнительные сведения и рекомендации.6
Приложения.6
Лицензия.6

Введение

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

По умолчанию поддерживаются следующие источники: документы Excel, MXL-таблицы.

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

Обработка может быть применена для решения широкого спектра задач:

  1. Периодический обмен информацией в распределенных системах (замена УРБД).
  2. Выгрузка проводок из торговли в бухгалтерию и другие подобные обмены.
  3. Генерация документов в других базах по документам в исходной.
  4. Восстановление данных из резервных копий за 1-2 дня.
  5. Начальное заполнение данными при переносе справочников в другую конфигурацию (через импорт из Экселя).
  6. Автоматическая забивка однотипных рутинных данных с помощью импорта из Экселя.

Теоретические предпосылки

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

Файл состоит из набора объектов–узлов Objects, хранящихся в узле Object.

Каждый объект содержит уникальный в пределах файла идентификатор (ID) и список свойств.

Каждое свойство имеет значение и тип.

Типы бывают следующими:

  1. Простые типы – число, строка, дата (Num, Str, Dat).
  2. Агрегатные типы – ссылка на другой объект в пределах файла, тип Agr.
  3. Группы – объединяют несколько свойств в одно, тип Group.
  4. Списки – содержат упорядоченный список свойств, тип List.

Такая структура позволяет описать любые данные. Пример структуры вы можете посмотреть в прилагающемся файле Struct.xml.

 
Для вычисления уникальных идентификаторов каждого объекта в 1С используется функция ЗначениеВСтрокуВнутр().

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

  • Для справочников при выгрузке по значению выгружается все реквизиты и история периодических реквизитов, а по ссылке – только значения всех реквизитов. Периодические реквизиты в обоих случаях выгружаются по значению на рабочую дату.
  • Для документов при выгрузке по значению выгружается все реквизиты шапки и табличная часть, а по ссылке – только всех реквизитов шапки.
  • Реквизиты-объекты объектов, выгружаемых по ссылке, также выгружаются по ссылке. Поэтому даже один выгружаемый документ может повлечь за собой большое количество ссылок.
  • Состав выгружаемых реквизитов для ссылки может корректироваться. Например, если у товара есть уникальный код, то для ссылки достаточно этого кода, остальные реквизиты для экономии места можно отключить.

На этапе выгрузки пользователь обработки указывает виды объектов для выгрузки и фильтры, чтобы выгружались только нужные ему объекты. В результате получается XML-файл.

Этот файл можно в дальнейшем конвертировать конвертором (стандартным или собственной разработки), а можно и без конвертирования передать на загрузку. Конвертор представляет собой ert-обработку, которая может использовать набор функций работы с XML (смотрите приложение «ФункцииКонвертора.TXT»).

На этапе загрузки важно указать правила сопоставления объектов. Правила сопоставления очень мощные, это изюминка обработки. Для объекта можно использовать сразу несколько правил и если одно не подходит, искать другим способом, а также делать проверку сопоставления. Можно также отфильтровать загружаемые объекты, защитить от записи некоторые объекты.
Загрузка строится из двух этапов – поиска (сопоставления объектов) и, собственно, загрузки. Поиск никаким образом не меняет данные, с его помощью можно оценить качество указанных вами правил поиска.

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

 
Результаты выгрузки и загрузки отражаются в протоколе.

Настройки

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

Существуют множество опций, уточняющих поведение программы при выгрузке-загрузке.

 

Для начала работы с конфигурацией нужно нажать кнопку «Заполнить», которая заполняет таблицу присутствующими в конфигурации видами объектов

 

В главной форме на закладке «Настройки» можно устанавливать параметры для каждого объекта по отдельности или сразу нескольким выбранным объектам.

Сначала нужно выбрать параметр из списка слева (щелкнуть дважды мышью или нажать на нем кнопку Enter).

Если устанавливается значение для одного объекта, нужно щелкнуть мышью в колонк.

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

Интерфейс

Обработка может запускаться в автоматическом режиме, без участия пользователя. В случае работы с пользователем команды управления сосредоточены на закладке «Файл». Здесь указаны пути к файлам загрузки, выгрузки, к обработке конвертора.

  • Кнопки «Запомнить/Восстановить» используются для сохранения/восстановления настроек.
  • Кнопка «Выгрузить» запускает выгрузку.
  • Кнопка «Поиск» запускает поиск.
  • Кнопка «Загрузить» запускает загрузку. Загрузку можно запускать только после поиска.
  • Кнопка «Конвертировать» запускает конвертор из файла выгрузки в файл загрузки.
  • Кнопка «См» и «Печать» напротив надписи «Объекты» показывает и распечатывает текущее состояние таблицы Объекты (например для проверки результатов поиска) запускает выгрузку.

Параметры обмена

Обработка может быть весьма гибко настроена с помощью правил обмена, заполняемых пользователем.

В таблице приведены параметры, использующиеся при выгрузке и загрузке.

Параметр – название правила.

Варианты значения – варианты значений параметра. Если указан вариант «Условие», то можно указывать любое условие, которое будет вычисляться прежде, чем применится правило. Так как условия записываются на языке 1С, то они могут использовать следующие переменные и функции:

  • Об – текущий объект
  • НомОб – номер объекта в таблице Объекты
  • Св – название свойства
  • Ссылка – текущее значение ссылки, его можно изменить с помощью вызова УстСсылка(Зн)
  • Зн – значение свойства
  • Подч – элемент справочника, подчиненного данному
  • УстДок – 1, если периодический реквизит установлен документом, 0 – вручную
  • ДатаНачала, ДатаКонца – период выгрузки
  • РабочаяДата() – рабочая дата

Кроме того, можно использовать специальные функции:

  • УстСсылка(Зн) – устанавливает новое значение ссылки
  • ВзятьПуть() – возвращает путь вида «Системные/Главные/Наименование».
  • ПоискПоНаименованию()
  • ПоискПоКоду()
  • ПоискПоПолям(П1,П2,П3, ….)
  • ПоискПоНомеру()
  • ЛогНе(Зн) – инвертирует значение, возвращает из не-нуля ноль, из ноля единицу
  • УстПериодНачДата() - устанавливает дату начала выгрузки периодических реквизитов (по умолч. ДатаНачала)
  • УстПериодКонДата() - устанавливает дату конца выгрузки периодических реквизитов (по умолч. ДатаКонца)
  • МодЗн(Зн)
  • МодСв(Свойство)
  • МодЕще(Свойство,Зн)

Однако не всегда параметры и специальные функции имеют смысл, поэтому в таблице указано, какие из них можно использовать в каждом правиле.

 
Кроме этого, практически везде можно использовать дополнительные функции, код которых написан в обработке:

  • ИмяВСпр(Имя,Вид) – возвращает элемент справочника Вид с наименованием Имя.
  • КодВСпр(Имя,Вид) – возвращает элемент справочника Вид с кодом Имя.
  • ВидОбъекта(Об) – возвращает вид элемента Об или «», если вида нет или значение пустое.

Правила записи условий:

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

Результатом вычисления выражения должно быть число, которое при равенстве нулю интерпретируется как ложь, в остальных случаях, как истина. Например:
:1=1 Истина :1=0 Ложь 1*0*1*(1+1) Ложь (аналог операции И) 1+1+1+0 Истина (аналог операции ИЛИ)


Если вы хотите записывать простые условия ,которые дают не числовое, а логическое значение, в привычном для вас виде, то в начале условия ставьте знак «:», например :Об.Код=«00076». Такое условие автоматически заменится на ?(Об.Код==«00076»,1,0).

При вычислении условий может происходить побочный эффект, например устанавливаться некоторые переменные, поэтому важен порядок и состав вычисляемых выражений.

Можно указывать порядок непосредственно с помощью функции 1С ?(Условие, ЕслиИстина, ЕслиЛожь).


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



Правила Выгрузки

Правило

Варианты значений

Описание

Прим

Выгружать

1,0

Указывает, какие объекты конфигурации нужно выгружать.

 

Подч

Условие

Выгружать подчиненные элементы справочников (у которых владелец – выгружаемый элемент справочника).

По умолчанию Ссылка=0, т.е. выгружаются целиком.

Параметры:

Об – выгружаемый элемент и Подч – подчиненный элемент.

Функции:
УстСсылку()

ПараметрПодч пока не доступен

История

Условие

Выгружать/загружать историю периодических реквизитов справочника за период выгрузки. Правило применяется к Направление («В» или «З»), Св – свойство, УстДок (1 – установлен документом, 0 – вручную).

Функции:
УстПериодНачДата() - устанавливает дату начала выгрузки (по умолч. ДатаНачала)

УстПериодКонДата() - устанавливает дату конца выгрузки (по умолч. ДатаКонца)

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

Нет еще

Операция

Условие

Условие выгрузки операции документа. По умолчанию не выгружается.

 

ОбВыгр

Условие

Условие выгрузки объекта. По умолчанию выгружаются все объекты.
Параметры:
Об, Ссылка

Функции:
УстСсылку() – установить ссылку для объекта.

 

СвВыгр

Условие

Условие выгрузки свойства.
Параметры:
Об, Св, Ссылка – ссылка для объекта свойства, Зн – значение свойства.

Функции:
УстСсылку() – ссылка будет установлена для объекта свойства.
ВзятьПуть() – возвращает путь от первого свойства до текущего, например для поля «Код» путь будет «Системные».

 


 


Правила загрузки

Правило

Варианты значений

Описание

Прим

Поиск

Условие

Правило сопоставления объектов.

Параметры: нет

Функции:

  • ПоискПоНаименованию()
  • ПоискПоКоду()
  • ПоискПоПолям(П1,П2,П3, ….) – поиск по совпадающим полям
  • ПоискПоНомеру()

 

В случае поиска по полям корректно обрабатывается сравнение агрегатных типов, т.е. например для Единиц правило может быть таким:
ПоискПоПолям(«Владелец», «Наименование»)

Правила можно комбинировать, например:

{ЛогНе(ПоискПоПолям(«Артикул»)){ЛогНе(ПоискПоНаименованию()){ПоискПоКоду():}}}
ищет сначала по артикулу, если не найден, ищет по артикул и потом ищет по коду.

 

ОбЗагр

Правило

Условие загрузки объекта. По умолчанию :(Ссылка=0) ИЛИ (Род=1) , т.е. из потока объектов загружаются те, которые переданы по значению, или те, которые переданы как значения свойств переданных по значению объектов.

Варианты:

:(Ссылка=0) – только переданные по значению объекты

:(Ссылка=1) – только переданные по ссылке объекты

:(Род=0) – объекты только из основного потока

 

Параметры:
Об, Ссылка, Род(1 или 0) , Найден

 

ОбЗащ

Правило

Условие загрузки объекта поверх существующего. Контролируются только существующие объекты, ведь новые объекты должны заполниться. Если истинно, то объект загружается.

Параметры:
Об, Ссылка

По умолчанию защищаются все существующие объекты, которые загружаются по ссылке.

 

СвЗагр

 

Условие загрузки свойства.

Параметры:
Об, Св, Ссылка

 

Проводить

Условие

Проводить документ.

Пустое условие: не проводить
Проведен – нужно ли проводить документ, Об,

Функции:
УслПроведен() – возвращает 1, если документ должен быть проведен

Только в этом режиме можно поменять дату & время проведенных документов. После окончания загрузки у документов устанавливается нужная дата & время, и они последовательно проводятся. Можно допровести документы вручную на закладке «Проведение»

 

Удалять

Условие

Помечать на удаление объекты, которые должны быть помечены на удаление.

Пустое условие: не удаляются.

Нет еще

Мод

Условие

Модифицирует значение свойства и название свойства объекта перед его выгрузкой, удобно для номера документа и т.п. Параметры: Свойство, Зн.

Функции: МодЗн(Зн) – модифицирует значение, МодСв(Свойство) – модифицирует имя свойства при выгрузке, МодЕще(Свойство,Зн) – добавляет в выгрузку реквизит, вычисляемый на основе текущего. Например, чтобы заменить свойство «Код» на свойство «Артикул» и значение на 1000 больше, можно использовать следующее правило:
?(Свойство=»Код», МодСв(«Артикул»)+МодЗн(Число(Зн)+1000),1)

МодЕще(Св,Зн)

Не работает МодЕще

Код

Условие

Правило, по которому вычисляется код(номер документа).

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

Это правило позволяет уточнить порядок назначения кода.

Параметры:

Об, Код – каким должен быть код
Функции:

Нет еще

КакНовые

Условие

Работает на этапе поиска. Помечает объект как не найденный, даже если он найден, следовательно объект будет заведен как новый.

 

Новые

- или +

+ загружаются только новые, существующие не оформляются
- оформляются только существующие, новые не загружаются
В принципе то же можно получить c помощью «ОбЗагр» :

Для + правило :Найден=0

Для – правило :Найден<>0

 



Алгоритмы этапов работы

Этап выгрузки объектов:

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

Алгоритм выгрузки объектов:

  1. Перебираются все указанные в настройках виды объектов, у которых стоит признак выгрузки Выгружать=1. Если в автоматическом режиме выгружается список объектов, то перебираются только элементы списка.
  2. Каждый объект выгружается по значению (Ссылка=0).
  3. При выгрузке определяется, был ли уже выгружен объект. Если не был выгружен, тогда выгружается с. Иначе, если был выгружен с Ссылка=1, а сейчас Ссылка=0, то объект удаляется из выгрузки и выгружается заново с Ссылка=1. В силу непонятного глюка компоненты XML объект не удаляется физически из выгрузки (при удалении программа вылетает), а ему присваивается ID=0. При загрузке объекты с ID=0 безусловно игнорируются.
  4. Для объекта вычисляется ОбВыгр (см. таблицу). Если правило истинно, объект выгружается.
  5. Объект помещается в выгрузку, ему устанавливается ID и флажок Link.
  6. Выгружаются свойства объекта. Для проверки выгрузки свойства используется функция СвВыгр, в которой можно указать и Link. По умолчанию свойства выгружаются с Link=1.
  7. По окончании выгрузки полученный XML файл сохраняется на диск.

Этап загрузки объектов:

Процедура загрузки состоит из поиска и оформления объектов. На этапе поиска программа пытается сопоставить объекты из файла с объектами базы данных, при этом в текущей базе данных не производится никаких изменений.

На этапе оформления заводятся новые элементы и изменяются свойства существующих.

Алгоритм поиска объектов:

  1. Все объекты из файла загружаются в таблицу. Каждому объекту устанавливаются флаги: Найден=0; Плохой=0; Об=0; Link=0;
  2. Если объект плохой, т.е. Плохой=1, то он пропускается.
  3. Если объекта нет в конфигурации, то устанавливается флаг Плохой=1.
  4. Если объект еще не найден, т.е. Найден=0, обрабатывается параметр Поиск и выдается объект, который можно сопоставить объекту из файла. Если сопоставление возможно, Найден=1 и в Об запоминается сопоставленный объект и его Link.
  5. В процессе обработки параметра Поиск могут рекурсивно вызываться поиски свойств объекта, если они нужны для поиска объекта.
  6. В результате работы для каждого объекта имеем флаг Найден и объект Об.

Этап оформления объектов:

Т.к. 1С накладывает жесткие ограничения на уникальность кода элемента, номера документа и наличие владельца у элемента, процедура загрузки объектов делится на этап заведения и оформления.

На этапе заведения заводятся новые элементы справочников и документы. При этом у справочников устанавливается только владелец, родитель и код, а у документов – только дата и номер.

На этапе оформления проставляются реквизиты объектов.

Алгоритм заведения объектов:

  1. Перебираются все объекты из исходного файла.
  2. Если (Заведен=1) ИЛИ (Плохой=1) ИЛИ (Найден=1) тогда переходим к следующему объекту.
  1. Вычисляем параметр ОбЗагр. Если ложь, помечаем объект как Плохой=1 и переходим к следующему. Если правило не указано, вычисляется УслУмолч.
  1. Устанавливаем Новый=1, заводим новый объект соответствующего типа.
  2. У справочника заводим его родителя или владельца. У объекта устанавливаем код (номер). Пробуем записать. В случае невозможности записи из-за требований контроля уникальности меняем код (номер).
  3. Если объект не удалось записать, помечаем его как Плохой=1, иначе как Заведен=1.

Алгоритм оформления объектов:

Т.к. все объекты уже присутствуют в базе (кроме плохих), то можно установить значение любого свойства, даже агрегатного.
При загрузке табличной части оставляется (добавляется) столько строк в документ, сколько должно быть строк. Старые значения строк не удаляются, если не замещаются новыми значениями. Если в табличной части в выгрузке 0 строк, то табличная часть не удаляется.

  1. Перебираются все объекты из исходного файла.
  2. Если Плохой=1, то объект пропускается.
  3. Вычисляется ОбЗагр. Если ложь, объект пропускается. Если правило не указано, вычисляется УслУмолч.
  4. Перебираются все свойства объекта из файла.
  5. Для каждого свойства проверяем параметр СвЗагр. Если истина, то устанавливаем значение свойства.

Этап конвертации:

Загрузка операций:

Операции загружаются построчно. Номер строки игнорируется. Строки загружаются последовательно.
При выгрузке счета также выгружается информация о его видах субконто. Затем, при загрузке субконто в счет, для текущего вида субконта счета и Т.к. часто одинаковые субконто идут в счетах в различном порядке, при загрузке субконто номер i в счет, в выгрузке ищется информация о том, какое

FAQ и примеры

Для уяснения возможностей обработки и быстрого старта приводятся наиболее типичные или интересные приемы работы.

Выгрузка отдельного документа:

В ОбВыгр укажите СокрЛП(Об.НомерДок)=«1». Учтите, что атрибут НомерДок всегда возвращается как строка.

Выгрузка между различными конфигурациями с сохранением отсутствующих в базе-получателе реквизитов:

Если у объекта-получателя есть атрибут «Примечание» неограниченной длины, а теряются реквизиты Рекв1, Рекв2, …, в Мод укажите ?(Св=«Рекв1», МодСв(«Примечание»)+МодЗн(Строка(Рекв1)+Строка(Рекв2)+Строка(Рекв3)) ,0). Т.е. Рекв1 будет при выгрузке переименован в примечание а его значение будет преобразовано в строку, составленную из реквизитов.

 

Изменение типа объекта при выгрузке:

Если в исходной базе номенклатура называется «Товары», а в получателе «Номенклатура» можно записать Мод для справочника «Товары» так:

?(Св=«Вид», МодЗн(«Номенклатура») )

 

Загрузка только новых (только существующих):

Правило ОбЗагр укажите так:

Найден=0

или Найден=1 соответственно.

 

Сделать, чтобы проводки документа загрузились в другой базе, как ручные операции без документа:

  1. Нужно изменить вид объекта с документа на ручную операцию, для этого правило Мод укажите ?(Св=«Вид», МодЗн(«Операция»))
  2. Нужно отключить вывод всех реквизитов шапки и табличной части. Для этого правило СвВыгр укажите
    : (Св<>”Реквизиты” ) И (Св<>”Таблица”)
    Т.е. правило гласит, что свойства Реквизиты и Таблица не выгружаются, а значит и их подсвойства тоже.

Использовать несколько Мод для нескольких реквизитов:

?(Св=«Вид», МодЗн(«Номенклатура»),0) +

?(Св=«Вид», МодЗн(«Номенклатура»),0)

Помните, что Мод и возвращает числа и их можно складывать (или) или умножать (и).

Мне нужно перенести номенклатуру, а тут столько много параметров, как бы попроще:

Все просто, нужно у номенклатуры установить свойства:

  • Выгружать 1
  • Поиск ПоискПоНаименованию() (Если хотите по наименованию синхронизировать)

И все, можно переносить.

Мне нужно перенести приходные накладные, а тут столько много параметров, как бы попроще:

Все просто, нужно у приходной накладной установить свойства:

  • Выгружать 1

У всех справочников установите:

  • Поиск ПоискПоНаименованию() Если хотите по наименованию синхронизировать
  • Новые «-» Чтобы новые элементы не заводились, будут дырки

И все, можно переносить.

Нужно выгрузить только накладные с определенным номером

В свойстве ОбВыгр указать :

Найти("-1|1-2.7-1007|100-2-1010|99-1-1010|",СокрЛП(Об.НомерДок)+"|")<>0

Описание импорта из XLS/MXL.

Так как данные в XLS и MXL представляют собой таблицы в которых хранится некий текст, процедура импорта сделана единообразно. MXL работает более быстро, а большие объемы информации иногда трудно перенести из MXL в XLS без ухищрений (например через сохранение в промежуточном HTML-файл). Поэтому в дальнейшем импорт будет рассматриваться на примере таблиц EXCEL. Таблицы в MXL должны быть подготовлены точно так же.

Импорт заключается в том, что данные из файла Excel (специальным образом организованного) преобразуются в файл XML, в формате, который можно загрузить с помощью данной обработки.

Пример таблицы для импорта указан в файле Импорт.xls

 

Каждая строка представляет значение одного или нескольких свойств одного объекта.

В первой строке указываются названия свойств, во второй строке – их тип.

Начиная с третьей строки указываются значения свойств.
Последней колонкой считается первая колонка без названия, последней строкой – первая строка, у которой ни в одной колонке нету данных.


Колонки серого цвета обязательно должны присутствовать (для справочников и документов):

ID

Уникальный ключ объекта, к которому относятся свойства

List

Список объекта, в который попадают свойства

Load

Ссылка 1 – по ссылке, 0 – по значению

 

Также, для загрузки в 1С, нужны колонки Тип и Вид. Возможно Наименование, Код, ДатаДок, НомерДок и т.п.

Тип свойства во второй строке можно указывать как Num, Str, Dat, Agr.

Внимание! Для объектов типа Agr должен указываться в значении свойства его ID. Отсюда следует, что этот объект должен также быть описан отдельной строкой с этим ID. Например если у вас в колонке «ВидТовара» стоит «штучный», то должна быть отдельная строка, где ID=”штучный”, Вид=«ВидыТоваров», Тип=«Перечисление».

Пустые значения ячеек пропускаются.

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

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

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

Дополнительные сведения и рекомендации.

Обработка для своей работы требует компоненты v7plus.dll в каталоге базы, а также наличия в системе MSXML-парсера от Miscrosoft не ниже 3.0. В Win2k Workstation он имеется по умолчанию, для Win98 и W2k Server его нужно скачать с сайта http://msdn.microsoft.com/downloads/default.asp (поиск по MSXML).

Файлы обмена удобно просматривать в любом интернет-браузере, для редактирования очень рекомендую программу XMLSpy.

Приложения.

  1. UniData.ert – shareware версия обработки.
  2. “Struct.xml” – файл с примером структуры XML-документа, участвующего в обмене.
  3. “Тест загрузки из XLS.xls” – файл, демонстрирующий универсальную загрузку данных из EXEL.
  4. “Тест загрузки из MXL.mxl” – файл, демонстрирующий универсальную загрузку данных из MXL.
  5. “Конвертор из XLS.ert” – конвертор из XLS в XML для целей загрузки в 1С из EXCEL. В нем также содержится блок функций «Функции конвертора», которые можно использовать в своих конверторах.

Лицензия.

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

14

Скачать файлы

Наименование Файл Версия Размер
down.zip
.zip 262,85Kb
07.02.12
259
.zip 262,85Kb 259 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. rimma_n 166 08.02.12 10:53 Сейчас в теме
Обработка интересная!
а что делать тем бедным пользователям, которым не хватило денежек на лицензии MS Office? мы, например, пользуемся Open Office, тоже хочется использовать загрузку из файлов XLS
2. fixin 3877 08.02.12 11:18 Сейчас в теме
(1)Простите, обработка поставляется как есть... Я уже 77 давно не юзаю. В Стар-оффисе тоже есть OLE-автоматизация и выгрузка в XML
3. soba 08.02.12 23:08 Сейчас в теме
Основательно сделано! А есть замеры по скорости работы?
4. fixin 3877 08.02.12 23:37 Сейчас в теме
(3) давно это было. Думаю, не медленнее работает, чем типовой обмен по правилам (конвертация данных).
5. navi 10.02.12 09:54 Сейчас в теме
Как то была у меня подобная обработка universal.ert автора уже непомню, вроде функционалы совпадают
6. fixin 3877 10.02.12 10:31 Сейчас в теме
(5) не, вроде universal.ert никогда не называл. посмотрите, есть ли в той обработке мои реквизиты. Тогда может быть это одна из древних версий, которые были на проклубе. Разработка целиком авторская.
7. navi 10.02.12 10:43 Сейчас в теме
Я имел ввиду по функционалу и задачам которые ваша разработка решает.
8. fixin 3877 10.02.12 10:57 Сейчас в теме
(7) ничто не ново под луной. Мысли сходятся.
9. Анна79 20.03.12 18:11 Сейчас в теме
12. ponaroshku 28.04.12 08:19 Сейчас в теме
13. ponaroshku 05.05.12 08:09 Сейчас в теме
В начале правда не получилось, но после прочтения подробного описания всё ок

Большое спасибо за чёткое описание :)) плюс
14. Збянтэжаны Саўка 241 24.05.12 16:10 Сейчас в теме
(0) на приложенной картинке написано "... через текстовый файл", а не через XML, разница есть, хотя XML конечно тоже вроде как текстовый ?
15. fixin 3877 24.05.12 16:39 Сейчас в теме
(14) там форматы разные - в текстовом файле и ХМЛ.
16. zavsom 52 11.01.13 10:54 Сейчас в теме
17. freebsdd 1 19.03.13 12:13 Сейчас в теме
При импорте из справочника в справочник, заполняет значения типа, строка, число, дата, а вот ссылку на другой справочник (в одном из полей) не заполняет. Вручную заполнять очень много, пишу свой импорт...
18. freebsdd 1 19.03.13 12:14 Сейчас в теме
19. fixin 3877 19.03.13 12:20 Сейчас в теме
(18) наверно что-то не увидели. потому что у меня работало без проблем. Там надо писать правила поиска.
20. freebsdd 1 19.03.13 15:05 Сейчас в теме
Ладно, буду знать. Благодарю!..
Оставьте свое сообщение

См. также

Перенос данных ТиС 77 -> УТ 11 3

Инструменты и обработки Программист Архив с данными v8 v77::ОУ 1С7:ТиС УТ11 Россия УУ Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Правила обмена данными между конфигурациями "Торговля и Склад 7.7" и "Управление торговлей 11". Перенос осуществляется с помощью обработки "Универсальный обмен данными". Переносятся документы и справочная информация.

2 стартмани

12.07.2019    1947    6    gudogu    5       

Обмен 1С: Торговля и склад 7.7 - Bitrix 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Розничная и сетевая торговля (FMCG) Windows Розничная торговля Абонемент ($m) Обмен через XML WEB

Обработка обмена между 1С:Торговля и склад 7.7 и сайтом на основе CRM-Bitrix в формате XML по протоколу HPPTS.

1 стартмани

25.06.2019    1760    3    ch_igor    0       

Выгрузка проводок из ЗУП 3.1 в КА 1.1, Бух77 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v77::БУ КА1 1С7:Бух ЗУП3.x БУ Зарплата Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8

Обработка выгрузки документа "Отражение зарплаты в бухучете". Механизм загрузки в КА 1.1. Механизм загрузки в Бух 77.

1 стартмани

13.09.2018    4644    41    HAMMER_59    7       

Автоматическая выгрузка из 1С 7.7 и 8.3 остатков в XML файл Бухгалтерия 4.5 и ТиС 7.7, а также БП 3.0 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ 1С7:Бух 1С7:ТиС БУ УУ Абонемент ($m) Обмен через XML

Автоматическая выгрузка из 1С 7.7 остатков в XML файл Бухгалтерия 4.5 и ТиС 7.7, БП 3.0 Обратился клиент на 7.7 попросил, сделать простую выгрузку каталога товара с остатками для сайта из баз ТиС и Бух 4.5. Затем попросил еще создать аналогичную под БП 3.0. В выгрузке содержится: Код, Наименование, Ед измерения, количественный остаток, уровень вложенности в каталоге, группы товаров, флаг ЭтоГруппа. Прописаны фильтры по Кодам групп товаров и по кодам складов. В Бух 4.5 обращение к бухгалтерским итогам по счету 41.1 В ТиС запрос к регистру остатков. Структура файла одинаковая.

1 стартмани

04.08.2017    17777    9    IvanovAV    0       

Заполнение табличной части документов из файла Excel (для 1С 7.7 бухгалтерский учет, ред. 4.5) 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух БУ Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel

Обработка для тех кто хочет заполнить табличную часть документа на основании Excel файла. Файлы Excel могут быть разной структуры, есть возможность указать область файла Excel которую нужно загрузить и указать для каждого поля табличной части номер загружаемой колонки Excel файла. Обработка, пока открыта форма, помнит ссылки на созданные элементы номенклатуры, то есть созданные элементы можно удалить сразу либо пометить на удаление, если они созданы ошибочно.

2 стартмани

19.06.2017    9231    16    kaps22    1       

Выгрузка из ЗиК 2.3 РСВ-1 за 1-й кв. 2017 в XML-файл (формат 5.01) 7

Отчеты и формы Программист Бухгалтер Архив с данными v77::БУ v77::Расчет 1С7:Бух 1С7:ЗиК 1С7:УСН Россия БУ НУ Windows Зарплата Управление персоналом (HRM) ФОМС, ПФ, ФСС Абонемент ($m) Обмен через XML Налоговые

Возникла необходимость из 1С:7.7 ЗиК 2.3 выгрузить персонифицированные сведения в «Контур-Экстерн». Из ЗиК выгружаются в файловом формате *.pncb. Контур принимает данные в виде файла xml (формат отчета 5.01 ). Нашлось простое решение...

1 стартмани

22.04.2017    30375    8    Kuzya_brаtsk    19       

Регламентированный отчет Единый Социальный Взнос ЕСВ + выгрузка XML и DBF 2017г 5

Отчеты и формы Бухгалтер Внешний отчет (ert,erf) v77::БУ v8::БУ 1cv8.cf 1cv7.md Украина БУ Windows Зарплата Абонемент ($m) Регламентированная отчетность Обмен через XML Файловые протоколы обмена, FTP

Внешний регламентированный отчет по единому социальному взносу (ЕСВ) с возможностью выгрузки в XML и DBF для украинских конфигураций.

1 стартмани

11.01.2017    16223    32    Igortid    4       

Выгрузка Электронных счетов-фактур в xml для Казахстана (esf.gov.kz) 2

Инструменты и обработки Бизнес-аналитик Бухгалтер Внешний отчет (ert,erf) v77::БУ 1С7:Бух Казахстан БУ УУ Windows Учет ТМЦ Абонемент ($m) Обработка документов Обмен через XML

Данная обработка самописная для нетиповой конфигурации 1с 7.7. Позволяет выгружать электронные счета-фактуры в файл txt, после сохранения требуется в блокноте пересохранить в кодировку utf-8

10 стартмани

23.06.2016    10318    4    dj_voodoo    1       

Удобная выгрузка данных из 1С 7.7 для последующего переноса их в другие программы 8

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Абонемент ($m) Файловые протоколы обмена, FTP Загрузка и выгрузка в Excel Внешние источники данных

Позволяет выгружать данные справочников, документов, сальдо по счетам из 1С 7.7 (компонента «Бухгалтерский учет» в файлы формата MXL, XLS, DBF. Полученные файлы удобно использовать для переноса в другие программы. В разработке применено несколько оригинальных решений.

1 стартмани

10.06.2016    24705    120    gubanoff    10       

Декларация по НДС. Раздел 8 и 9 - конвертация в xml-формат из Excel 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Россия БУ Windows Закрытие периода НДС Абонемент ($m) Регламентированная отчетность Загрузка и выгрузка в Excel Обмен через XML

Обработка формирует xml-файлы декларации по НДС из книги покупок и книги продаж, сохраненных в Excel. Пригодится тем, кому нужно вручную подправить декларацию.

1 стартмани

26.02.2016    9770    23    sarpa82    4       

Выгрузка в ЕГАИС (для ликероводочных, винно-водочных заводов) 4

Инструменты и обработки Программист Внешний отчет (ert,erf) v77::ОУ 1С7:ТиС Пищевая промышленность УУ Windows Производство готовой продукции (работ, услуг) Акцизы Абонемент ($m) Обмен через XML

Выгружает документы из 1С: 7.7 торговля и склад в систему ЕГАИС (производителя) в формате XML. 1. Стандартная ТТН 2. ТТН на экспорт 3. ТТН с импортной продукцией

1 стартмани

25.11.2015    9967    83    sf002    3       

Импорт входящих налоговых накладных (формат *.xml) пачкой из системы "Соната" в 1С v7.7 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Украина НУ НДС Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel Внешние источники данных

Обработка предназначена для загрузки входящих налоговых накладных и корректировочных налоговых накладных, экспортированных из внешних файлов формата *.xml - в 1С 7.7 "Бухгалтерия для Украины".

1 стартмани

24.11.2015    10697    8    DemNV    1       

Загрузка проводок в 1С Предприятие 7.7 (Бухгалтерия, УСН) из Excel 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Россия БУ Windows Абонемент ($m) Загрузка и выгрузка в Excel

Обработка для загрузки проводок в 1С Предприятие 7.7 (Бухгалтерия, УСН) из файла Excel

1 стартмани

07.10.2015    9808    6    astronavt006    2       

Выгрузка налоговых накладных в XML-файлы для загрузки в М.Е.док (Украина) 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Украина НУ Windows Абонемент ($m) Обмен через XML

Обработка позволяет выбрать из базы группу документов вида «Налоговая накладная» и экспортировать их в XML-файлы для дальнейшей загрузки в М.Е.док. При этом используются слегка подкорректированные стандартные средства экспорта НН в XML конфигурации «Бух.учет для Украины ПРОФ рел. 308».

1 стартмани

23.02.2015    8122    2    mark_iz    4       

Импорт Налоговых накладных и Приложения 2 к НН из M.E.Doc (медок, medoc) в 1С 7.7 Бухгалтерский учет для Украины 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Украина НУ НДС Абонемент ($m) Внешние источники данных Обмен через XML

Импорт входящих Налоговых накладных и Приложения 2 к НН из M.E.Doc в 1С 7.7 Бухгалтерский учет для Украины с использованием стандартного файла выгрузки формата XML из M.E.Doc

1 стартмани

19.02.2015    16341    40    MrLloyd    6       

Импорт входящих налоговых из XML в 1С: 7.7 6

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Украина НУ Windows Абонемент ($m) Обмен через XML

Обработка для загрузки входящих налоговых накладных с 01.01.2015 из файла XML. Тестировалось на "Бухгалтерии для Украины" 307. Получить файл XML можно из программы Медок, выделив нужные налоговые и нажав "Экспорт -> для обмена отчетностью"

1 стартмани

29.01.2015    24044    60    phoenix2000    12       

Правила обмена Штрих-М: Торговое предприятие PROF v.4.19.01 - Розница 2.1.4.9 4

Инструменты и обработки Программист Архив с данными v77::ОУ 1cv7.md Розничная и сетевая торговля (FMCG) Россия Windows Розничная торговля Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Работает через стандартный универсальный обмен данными в формате XML. Правила служат для переноса остатков номенклатуры и цен на дату окончания выгрузки, а также справочника штрих-кодов из конфигурации Штрих-М: Торговое предприятие v.4.19 в кофигурацию 1С: Розница, ред. 2.1

1 стартмани

26.11.2014    16744    26    Belomor    7       

Загрузка документа "Поступление товаров" из Excel (для Бухгалтерии 7.7) 2

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Россия БУ Windows Учет ТМЦ Абонемент ($m) Загрузка и выгрузка в Excel

Переделанная "на скорую руку" обработка от Art77 http://infostart.ru/public/94721/ для создания документа "Поступление товаров" из файлов Excel в Бухгалтерии 7.7.

1 стартмани

05.08.2014    6982    26    samoilov_vit    2       

Загрузка файлов ПФР 3

Инструменты и обработки Системный администратор Бухгалтер Внешняя обработка (ert,epf) v77::БУ v77::Расчет 1С7:Бух 1С7:ЗиК Россия БУ Windows Зарплата ФОМС, ПФ, ФСС Абонемент ($m) Обмен через XML

Исправлена и доработана стандартная обработка загрузки сданных в ПФР файлов для 1С: Бухгалтерии 7.7. С возможностью загрузки в 1С данных по стажу.

1 стартмани

08.10.2013    14258    21    AndKovalchuk    9       

Обработка обмена документами между конфигурациями Бухгалтерский учет для Украины 7.7 3

Инструменты и обработки Программист Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Украина БУ Windows Абонемент ($m) 1С7.7<->1C7.7

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

1 стартмани

27.04.2013    8275    13    PeterGr    1       

Обмен данными между 1С:ТиС 7.7 и Bitrix 25

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Windows Абонемент ($m) Внешние источники данных Обмен через XML WEB

Недавно понадобилось сделать интеграцию между 1С:Торговля и Склад 7.7 и 1С:Битрикс. В сети Интернет имеются готовые решения, но все они платные. Поэтому решил сделать собственное бесплатное решение.

1 стартмани

13.03.2013    25528    269    Nicholas    19       

Программный ввод остатков товаров из Экселя в ТиС v.7.7 3

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Украина Windows Учет ТМЦ Абонемент ($m) Загрузка и выгрузка в Excel

Начало работы с 1С начинается с ввода остатков. В большинстве случаев остатки товаров имеются в электронном виде (например в Экселе). Чтобы вручную их не вводить в 1С. Я написал эту небольшую обработку. Товары сразу распределяются по группам (указанным в Экселе)

1 стартмани

11.02.2013    8603    31    volodya1122    1       

Модификация стандартного механизма УРБД в 1С 7.7 13

Инструменты и обработки Системный администратор Программист Внешний отчет (ert,erf) v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Распределенная БД (УРИБ, УРБД) 1С7.7<->1C7.7

Обработка позволяет реализовать нестандартную схему обмена данными между распределенными базами в 1С 7.7, когда нужен обмен между группами периферийных баз. Такая ситуация может сложиться, когда у предприятия есть филиалы в разных городах, а в пределах филиала-города должно работать несколько офисов и складов (группа периферийных баз). Между периферийными базами одного города должен быть обмен всеми данными, в центральную базу должны попадать данные из всех городов. Причем, разные города не должны видеть данные другого города.

7 стартмани

15.12.2012    20089    17    axxell    3       

Выгрузка прайса из 1С:7.7 ТиС в Excel 6

Инструменты и обработки Руководитель проекта Внешний отчет (ert,erf) v77::ОУ 1С7:ТиС УУ Windows Оптовая торговля Абонемент ($m) Загрузка и выгрузка в Excel

Отчет позволяет выгружать прайс из 1С:7.7 ТиС в Excel. Автоматизация процесса выгрузки.

1 стартмани

08.11.2012    10087    79    FotoGraff    3       

Выгрузки данных о продажах продуктов производителя Биосфера (версия 3) и отчет-ведомость для сверки дистрибьютора с данными производителя для Koмплeкcной кoнфигуpaции peдaкции 4.2. 1

Инструменты и обработки Программист Бизнес-аналитик Внешняя обработка (ert,epf) v7.7 v77::ОУ 1С7:Комплекс 1С7:ТиС 1С7:ПУБ Оптовая торговля, дистрибуция, логистика УУ Windows Оптовая торговля Учет ТМЦ Ценообразование, анализ цен Абонемент ($m) 1С7.7<->1C7.7

Это обработка выгрузки данных о продажах продуктов производителя Биосфера и отчет-ведомость для сверки дистрибьютора с данными производителя Биосфера на сайте, которые формируются по оборотному регистру Koмплeкcной кoнфигуpaции "Буxгaлтepия+Topгoвля+Cклaд+Зapплaтa+Kaдpы", peдaкция 4.2 (7.70.424).

1 стартмани

19.10.2012    23733    21    ksnik    1       

Загрузка контрагентов для алкогольной декларации 5

Инструменты и обработки Системный администратор Бухгалтер Внешняя обработка (ert,epf) v77::БУ 1С7:Бух Абонемент ($m) Обработка справочников Загрузка и выгрузка в Excel

Быстро загрузить контрагентов-производителей алкогольной продукции из Excel-файла поможет простая обработка.

1 стартмани

17.09.2012    13795    46    BorisBelov    7       

Выгрузка на сайт через EXСEL, с таймером (с повторениями выгрузки через заданный промежуток времени). 7.7 ТиС Украина 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Украина Windows Абонемент ($m) Практика программирования Загрузка и выгрузка в Excel WEB

Данная обработка состоит из двух обработок, т.к. таймер в 1С реализован крайне криво, я старался как мог. Первая обработка запускает таймер, и настройки выгрузки (а точнее вторую обработку, которая выгрузкой и занимается непосредственно). Выгрузка данных в EXСEL осуществляется согласно логу, т.е. выгружаются исключительно те данные, которые редактировали ближайшие два дня. Также обработка автоматически удаляет все экселевские файлы, лежащие в указанной папке более трех дней (можно эту функцию отключить) Подробная инструкция по установке в описании

1 стартмани

03.09.2012    8534    15    serko8547    1       

Импорт данных из Excel в 1С 8

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Windows Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel

Часто возникает задача по импорту данных в типовые документы (реализация, комплектация, перемещение и т.д.) подготовленных данных из Экселя в чистый заранее созданный документ. Что собственно и делается.

1 стартмани

31.07.2012    8854    130    gorleon    8       

Типовой отчет "Подготовка сведений для ПФР" - загрузка из Excel 4

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v77::БУ v77::Расчет 1С7:Бух 1С7:ЗиК Россия БУ Зарплата ФОМС, ПФ, ФСС Абонемент ($m) Загрузка и выгрузка в Excel Бухгалтерские

Доработка типового отчета "Подготовка сведений для ПФР" позволяет загрузить из Excel сведения о распределении оплаченных сумм по сотрудникам.

1 стартмани

10.07.2012    12419    36    vladismi    8       

Выгрузка в XML номенклатуры + автоматическая отправка на FTP сервер для ТиС 7.7 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Россия Windows Абонемент ($m) Обработка справочников Обмен через XML WEB

Выгрузка в XML файл номенклатуры, с выбором цены и остатками по складу (без использования AddIn.XMLParser)+ автоматическая отправка на FTP сервер.

1 стартмани

14.06.2012    15407    126    гыук320    2       

Загрузка Счетов на оплату в ТиС 7.7 из Excel 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1С7:ТиС Россия Windows Абонемент ($m) Обработка документов Загрузка и выгрузка в Excel

Отдел управления запасами попросил упростить работу по занесению информации из Счетов на оплату (в формате Excel) в 1С ТиС (на MS SQL Server 2000).

1 стартмани

13.04.2012    10187    22    al_zzz    1