Импорт и экспорт данных

Унифицированная конфигурация форматов импорта/экспорта

Унифицированный механизм настройки импорта/экспорта предоставляет возможность обмена данными с другими программами посредством файлов, представленных в различных формах. Этот механизм реализован для части объектов данных, используемых системой. Сюда входят:
  • Товарные документы
  • Платежные поручения (при импорте - выписка банка)
  • Прайс-лист
  • Строки инвентаризации (только импорт)
  • Унифицированная конфигурация импорта/экспорта позволяет использовать следующие форматы файлов:

  • DBF
  • Текстовый (предусмотрен целый ряд опций, позволяющих настроить систему на подавляющее большинство вариантов текстовых представлений данных)
  • XML
  • Общие принципы работы и структура унифицированных конфигураций импорта/экспорта

    Конфигурация импорта/экспорта хранится в текстовом файле bin/impexp.ini. Структура конфигурации содержит следующие атрибуты:

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

    Например, конфигурация импорта/экспорта заголовков товарных документов содержит внутренние поля:

  • Ид документа
  • Номер документа
  • Дата
  • ИНН контрагента
  • Имя контрагента
  • Код контрагента
  • и т.д.
  • Вы можете установить соответствие каждому или некоторым из этих полей в полях входящего (исходящего) файла. Как правило, для каждой области использования конфигураций импорта/экспорта допускается ведение произвольного числа конфигураций, каждая из который отличается от остальных парой (наименование, направление передачи). То есть, можно создать одну конфигурация АБВ для экспорта и одну с таким же именем для импорта. В тоже время не допускается создание двух конфигураций с одинаковым именем для импорта (или же для экспорта).

    Возможности обмена данными через текстовые файлы

    Различные системы используют самый обширный набор форматов представления данных в текстовых файлах.

    Настройка конфигурации импорта/экспорта

    Общий список конфигураций импорта/экспорта

    Диалог конфигураций импорта/экспорта

    Доступ к большей части конфигураций импорта/экспорта объединен общим диалогом, показанном на рис. link. Здесь сгруппированы следующие наборы конфигураций:

  • Товаров
  • Заголовков и строк документов
  • Инвентаризации
  • Прайс-листов
  • Обращение к диалогу возможно через пункт меню Админ→ Конфигурации импорта/экспорта→ Конфигурации импорта/экспорта.

    Заголовочный диалог конфигурации

    Параметры импорта/экспортаВ заголовочном диалоге необходимо указать основные параметры импорта/экспорта. Вид этого диалога показан на рис. link. Далее в таблице перечисляются управляющие элементы этого диалога.

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

    Наименование
    Наименование конфигурации.

    Формат внешних данных
    Формат, в котором представлены входящие (исходящие) файлы. Доступны следующие варианты:

    Текстовый
    Данные представлены в виде текста. При этом детальные опции формата устанавливаются в дополнительном диалоге “Параметры текстового файла”.
    DBF
    Широко распространенный формат представления данных, используемый популярными системами семейства xBase (dBase, FoxPro, Clipper и др.)
    XML
    Текстовый файл в формате XML. На текущий момент поля могут быть определены только в виде тегов XML-файла, но не как атрибуты тегов.
    Excel
    Данные представлены в виде файла в формате Microsoft Excel. Работа с такими файлами реализуется средствами COM-интерфейсов программы Microsoft Excel. Это означает, что она должна быть установлена на том компьютера, на котором запускается сеанс, выполняющий функции импорта/экспорта.

    [Параметры текст файла]

    Эта кнопка открывает диалог редактирования опций формата текстового файла (см. ниже).

    ✓OEM - кодировка

    Если этот флаг установлен, то система предполагает, что строки во внешнем файле имеют национальную OEM-кодировку (для русского языка это - CP-866). Если флаг не установлен, то система считает, что текстовые строки в файле представлены в Windows-кодировке (для русского языка это - Windows-1251).

    ✓Удалять файлы после импорта

    Экспорт/Импорт

    Если переключатель установлен в положении ○Экспорт, то система будет использовать эту конфигурацию для экспорта данных. Если же выбран ○Импорт, то конфигурация используется для импорта данных. Обращаем внимание на то, что система следит за уникальностью наименований конфигураций в привязке к этому переключателю. То есть, вы можете иметь две конфигурации с одним именем, но при этом значение рассматриваемого переключателя в этих конфигурациях должно различаться.

    [Соответствие полей]

    При нажатии на эту кнопку открывается диалог редактирования списка соответствия полей. Подробно этот диалог рассмотрен ниже.
    Имя файла
    Имя файла импорта/экспорта. Здесь должен быть указан полный путь к файлу. Если вы укажете только имя без пути, то система будет пытаться найти (при импорте) или создать (при экспорте) файл в текущем рабочем каталоге, что, в общем случае, может привести к некоторой неопределенности (текущий рабочий каталог определяется при запуске сеанса программы).

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

    ▼Учетная запись FTP-сервера

    H:/PPY/OUT/F???-???.TXT будет последовательно замещаться на H:/PPY/OUT/F000-001.TXT
    H:/PPY/OUT/F000-002.TXT
    ...
    H:/PPY/OUT/F999-999.TXT
    пока не будет найдено имя файла, отсутствующего в каталоге H:/PPY/OUT. При переполнении нумерации экспорт всегда идет в файл в имени которого все символы '?' замещены на '9'.

    Кроме знаков вопроса, в имени файла экспорта может вставлена метапеременная . Если система встретит такую метапеременную, то заменит ее на глобально уникальный идентификатор (длиной 36 символов). Так как такой идентификатор гарантированно уникален, то и полное имя файла будет абсолютно уникальным.

    Диалог параметров текстового файла

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

    Кроме наиболее популярного формата с разделителями полей, вы можете настроить формат с полями фиксированной длины, а так же с вертикальной раскладкой полей (каждое поле занимает одну строку).Вид диалога редактирования этих параметров приведен на рис. link.

    Имя файла данных
    Это поле дублирует аналогичное поле в диалоге заголовка конфигурации. При открытии диалога, значение поле “Имя файла” и заголовочного диалога копируется в этот диалог. При подтверждении изменений в диалоге параметров текстового файла это имя будет скопировано в диалог заголовка.
    Ориентация записей
    Горизонтальная ориентация предполагает, что каждая запись содержится в одной строке. При вертикальной ориентации каждая строка содержит информацию об одном поле записи. При этом записи отделяются друг от друга специальной разделительной строкой.

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

    Еще один специальный случай - неявное разделение записей в вертикальной раскладке по числу строк. То есть, каждые N строк входного файла составляют отдельную запись, при этом явной строки-разделителя нет. В этом случае в рассматриваемом поле следует ввести строку следующего вида :N: (например, :4:).

    ✓Первая запись - наименование полей

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

    ✓Поля фиксированной длины

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

    ✓Формат поля: имя=значение

    Этот флаг применяется только при вертикальной ориентации записей. Если он установлен, то программа предполагает, что поля в файле заданы строками вида:

    имя поля=значение поля (имена полей не должны содержать символов '='). Такой формат предпочтительнее чем использующий безымянные поля, поскольку допускает пропуски полей и изменение порядка их следования внутри записи.

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

    ✓Текст имеет OEM - кодировку

    Если этот флаг установлен, то система предполагает, что строки во внешнем файле имеют национальную OEM-кодировку (для русского языка это - CP-866). Если флаг не установлен, то система считает, что текстовые строки в файле представлены в Windows-кодировке (для русского языка это - Windows-1251).

    ✓Текстовые поля обрамлены кавычками

    Если этот флаг установлен, то система предполагает, что все поля, имеющие тип “Строка”, обрамлены двойными кавычками.
    Количество незначащих строк в начале файла
    Установив в этом поле значение больше нуля, вы предпишите системе пропускать при импорте заданное количество строк в начале файла.

    При экспорте в файл будет занесено указанное количество пустых строк.

    Завершающая строка файла
    Этот параметр применим только для конфигурации с вертикальной раскладкой полей. Если здесь указан какой-либо текст, то при экспорте программа выведет его последней строкой файла.

    [Поля заголовка...]

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

    Если для данной конфигурации специфицированы какие-либо поля заголовка, то начало экспортируемого файла будет формироваться в следующем порядке:

  • Заданные параметром 'Количество незначащих строк в начале файла' пустые строки.
  • Если установлен флаг ✓Первая запись - наименование полей, то перечисляются наименования полей.
  • Выводятся поля заголовка.
  • Диалог параметров XML-файла

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

    Далее перечислены управляющие элементы диалога и их назначение.

    Корневой тег
    Тег записи
    Тег заголовка

    ✓Использовать DTD

    ✓Использовать кодировку UTF8

    ✓Имеет вложенную запись

    [Поля заголовка...]

    Диалог списка соответствия полей

    Соответствие полей импорта/экспорта

    В диалоге соответствия полей импорта/экспорта представлен упорядоченный список, состоящий из следующих колонок:

  • Наименование внутреннего поля
  • Наименование внешнего поля
  • Тип данных внешнего поля
  • Длина внешнего поля
  • Автоматически вычисляемая величина смещение поля относительно начала записи в символах (эта колонка служит хорошим подспорьем в случае настройки обмена данными через текстовый файл с фиксированной шириной полей).
  • Пример визуального представления этого диалога показан на рис. link.Кроме описанного списка, диалог содержит несколько типовых кнопок:

    [Редактировать]

    Вызывает окно “Сопоставление поля экспорта/импорта” (см. ниже), позволяет вносить изменения.

    [Добавить]

    Вызывает окно “Сопоставление поля экспорта/импорта” (см. ниже), позволяет добавлять новые поля.

    [Удалить]

    Удаляет соответствие полей.

    [Вверх] и [Вниз]

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

    Диалог элемента списка соответствия полей

    Сопоставление поля для экспорта/импорта

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

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

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

    Тип поля
    Тип данных содержащихся в данном поле. Система предоставляет выбор одного из следующих типов данных:

  • Строка - произвольная строка символов
  • Целое число - целочисленная величина
  • Число - число с плавающей точкой
  • Дата
  • Время
  • Обычно, тип данных для соответствия полей важен, однако, во многих случаях типы могут быть автоматически преобразованы друг в друга. Все возможные варианты привести сложно, но для примера можно сказать, что для текстового файла вы можете в качестве числового типа всегда выбирать просто “Число”. При экспорте данных важно понимать как принимающая программа будет воспринимать переданные типы.

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

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

    Точность (только для чисел)
    Максимальное количество десятичных знаков после точки для дробных чисел.

    Определение формул в соответствиях полей

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

    Текстовая формула
    представлена строкой, в которой могут быть включены псевдопеременные для подстановки. Например:“Сегодня @curdate”

    Эта формула будет преобразована к виду “Сегодня 1/09/2008” (если текущая дата - первое сентября 2008 года).Вот немногочисленный список пвседопеременных, которые можно использовать в формулах:

    @empty
    Специальная переменная, не заменяемая ни чем. Используется для представления пустых полей. Это может понадобиться при экспорте, если какое-то поле должно присутствовать в файле, но его нет необходимости наполнять содержанием.

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

    @recno
    Номер текущей записи.

    @curdate
    Текущая системная дата.
    @curyear
    Числовое представление текущего года.

    @curmonth
    Числовое представление текущего месяца (1 - январь).
    @curday
    Числовое представление текущего календарного дня.

    @curtime
    Текущее системное время.
    Функции
    Система предусматирвает несколько специализированных функция для использования в выражениях экспорта:

    @personregnum
    Возвращает строку номера регистра персоналии.

    Аргументы:

    regtypesymb
    Символ типа регистрационного документа.
    personid
    Значение идентификатора персоналии.

    @presonregnum(inn, @ManufID) Приведенный вызов будет замещен кодом ИНН производителя товара (при экспорте товаров, в предположении, что символ типа регистра ИНН - “inn”).

    @arregnum
    Возвращает строку номера регистра персоналии, связанной с аналитической статьей.

    regtypesymb
    Символ типа регистрационного документа.
    articleid
    Значение идентификатора персоналии.

    @arregnum(kpp, @CntragID) Приведенный вызов будет замещен кодом КПП контрагента по документу (при экспорте документов, в предположении, что символ типа регистра КПП - “kpp”).

    @arregdate
    Возвращает строку даты регистра персоналии, связанной с аналитической статьей.

    regtypesymb
    Символ типа регистрационного документа.

    articleid
    Значение идентификатора персоналии.

    @arregdate(lic, @CntragID) Приведенный вызов будет замещен датой регистрационного документа некоторой лицензии контрагента по документу (при экспорте документов, в предположении, что символ типа регистра лицензии - “lic”).

    @objtag
    Возвращает текстовое представление значения лота по объекту.

    Аргументы:

    tagsymb
    Символ типа тега.
    objtypesymb
    Символ типа объекта. Допускаются следующие значения:
    GOODS
    Тег товара.
    PERSON
    Тег персоналии.
    LOT
    Тег лота.
    GLOBALUSER
    Тег глобальной учетной записи.

    objid
    Значение идентификатора объекта.

    @objtag(manuf, LOT, @LotID) Приведенный вызов будет замещен текстом тега с символом manuf, прикрепленного к лоту (при экспорте строк документа).

    Наименования полей
    Вы можете использовать в формулах

    внутренней представление

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

    Арифметическая формула
    представлена выражением, содержащим числа, наименования полей и арифметические операции.

    @price - @discount 1.2 * @cost

    Специальные возможности
    Если в формуле представлена строка, обрамленная двойными ковычками, то эта строка без изменения (но без кавычек) переносится в строку результата.

    Выражение: Текущий год @curyear Даст результат: Текущий год 2012

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

    Выражение: @serial Даст результат (в предположении, что значение @serial 00308):

    Интерфейс с системами клиент-банк

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

    Конфигурация форматов клиент-банк

    Для настройки конфигурации форматов систем клиент-банк выберите пункт меню Админ→ Конфигурации импорта/экспорта→ Конфигурация форматов клиент-банка. На экране вы увидите список доступных конфигураций, в котором доступны следующие действия:

    [Редактировать]

    Вызывает окно “Параметры импорта/экспорта для систем клиент-банка” (см. ниже) и позволяет вносить изменения.

    [Добавить]

    Вызывает окно “Параметры импорта/экспорта для систем клиент-банка” (см. ниже) и позволяет добавлять новые конфигурации.

    [Удалить]

    Удаляет выделенную конфигурацию.

    [События]

    Не работает.

    [Ассоциации]

    Позволяет редактировать ассоциации импорта выписки из систем клиент-банк.

    [Закрыт]

    Закрывать диалог редактирования списка форматов.

    Диалог редактирования формата клиент-банк

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

    Код банка
    Каждый банк имеет уникальный код, так называемый “БИК банка”, позволяющий отличить его от других банков. Если вы введете код банка, которому соответствует данная конфигурация формата, то система будет экспортировать по этой конфигурации только те платежные поручения, в которых код банка плательщика равен указанному здесь.

    Если поле оставить пустым, то такая проверка выполняться не будет.

    Соответствие кодов платежей
    Это поле предназначено для трансляции кодов платежей экспортируемых платежных поручений из системы Papyrus в значения, которые должны использоваться в принимающей системе клиент-банк. Формат описания этих соответствий следующий:

    PM1,BM1;PM2,BM2;..;PMN,BMN Здесь: PM1 (а так же PM2 и далее) - номер метода платежа, определенный в системе Papyrus BM1 (а так же BM2 и далее) - номер метода платежа, определенный в системе клиент-банк.

    В системе Papyrus используются следующие коды платежей

    0
    неопределенный
    1
    почтой
    2
    телеграфом
    3
    электронно
    4
    срочно

    Если вы оставите описываемое поле пустым, то в систему клиент-банк будет попадать метод платежа с кодом 0.

    1,0;2,1;3,2;4,3 вид платежа “почтой” будет передан с кодом 0 вид платежа “телеграфом” будет передан с кодом 1 вид платежа “электронно” будет передан с кодом 2 вид платежа “срочно” будет передан с кодом 3

    ✓Определять плательщика по знаку суммы

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

    Список полей представленных в окне “Соответствие полей импорта/экспорта”

    Empty
    Строка(16)
    Поле, не заполняемое системой, но требуемое модулем клиент-банк.

    BillID
    Число(9)
    ИД платежного документа.
    Code
    Строка(24)
    Номер платежного документа.

    Date
    Дата(8)
    Дата платежного документа.
    PayerBankAcc
    Строка(32)
    Банковский счет плательщика.

    PayerID
    Число(10)
    ИД персоналии плательщика.
    PayerINN
    Строка(24)
    ИНН плательщика.

    PayerName
    Строка(128)
    Наименование плательщика.
    PayerBankCode
    Строка(24)
    БИК банка плательщика.

    PayerBankCorr
    Строка(32)
    Корр счет банка плательщика.
    PayerBankName
    Строка(128)
    Наименование банка плательщика.

    ReceiverID
    Число(10)
    ИД персоналии получателя.
    ReceiverBankAcc
    Строка(32)
    Банковский счет получателя.

    ReceiverINN
    Строка(24)
    ИНН получателя.
    ReceiverName
    Строка(128)
    Наименование получателя.

    ReceiverBankCode
    Строка(24)
    БИК банка получателя.
    ReceiverBankCorr
    Строка(32)
    Корр счет банка получателя.

    ReceiverBankName
    Строка(128)
    Наименования банка получателя.
    Amount
    Число(10,2)
    Сумма платежа.

    Purpose
    Строка(160)
    Назначение платежа.
    Sequence
    Число(4)
    Очередность платежа.

    TaxPayerKPP
    Строка(24)
    КПП плательщика бюджетного платежа.
    TaxReceiverKPP
    Строка(24)
    КПП получателя бюджетного платежа.

    TaxPayerStatus
    Строка(4)
    Статус плательщика бюджетного платежа.
    TaxClass
    Строка(24)
    Код бюджетной классификации.

    OKATO
    Строка(16)
    Код по ОКАТО бюджетной организации.
    TaxReason
    Строка(8)
    Код причина бюджетного платежа.

    TaxPeriod
    Строка(16)
    Налоговый период.
    TaxDocNumber
    Строка(16)
    Номер документа, согласно которому идет уплата.

    TaxDocDate
    Строка(16)
    Дата документа, согласно которому идет уплата.
    TaxPaymType
    Строка(8)
    Тип бюджетного платежа.

    VatSum
    Число(8,2)
    Сумма НДС.
    PurposePlusVat
    Строка(250)
    Поле примечание с присоединенным к нему текстом по НДС.

    CorrName
    Строка(16)
    Не используется.
    CorrBIC
    Строка(16)
    Не используется.

    CorrINN
    Строка(16)
    Не используется.
    CorrPerson
    Строка(16)
    Не используется.

    PaymMethod
    Число(4)
    Вид платежа.
    AddedAssocTag
    Число (Только импорт)
    Дополнительный признак ассоциации вида операции.

    Это поле позволяет уточнить вид операции импортируемого документа выписки. Если в принимаемом файле определено это поле, то при идентификации вида операции, которой должен принадлежать создаваемый документ, система обращает внимание на поле “Дополнительный признак ассоциации” в элементах списка ассоциаций импорта клиент-банк.

    AgentINN
    Строка(24)
    ИНН агента по документу.

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

    При экспорте платежных поручений в это поле будет заносится ИНН агента (если таковой имеется) по экспортируемому документу.

    AgentName
    Строка(48)
    Наименование агента по документу.

    Это поле помогает разрешать проблемы с идентификацией агента по импортируемому документу.

    LocSymb
    Строка(12)
    Символ склада.

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

    DebtBillID
    Число (Только импорт)
    ИД долгового документа (для зачета). Если это поле определено и в файле импорта в нем установлено ненулевое значение, то система попытается автоматически зачесть создаваемый документ на долговой документ и этим идентификатором.

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

    Дата и номер долгового документа

    Эти два поля имеют тоже назначение, что и DebtBillID. Только идентификация долгового документа для зачета в этом случае будет осуществляться // по номеру и дате документа. Для того, чтобы такая идентификация работала необходимо, чтобы были определены оба эти поля и во входном файле их значения должны быть не пустыми.

    Так как поле DebtBillID и пара полей DebtBillDate/DebtBillCode являются дублирующими, то при наличии всех трех полей приоритет использования принадлежит DebtBillID.

    DebtBillDate
    Дата (Только импорт)
    Дата долгового документа (для зачета).
    DebtBillCode
    Строка(24) (Только импорт)
    Номер долгового документа (для зачета).

    Экспорт платежных поручений

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

    Сама процедура экспорта состоит в вызове функции экспорта платежных поручений из реестра документов (см. стр. link).

    Импорт банковской выписки

    Для импорта банковской выписки необходимо выбрать пункт меню Справочники→ Админ→ Импорт→ Импорт банковской выписки. Вслед за этим на экране появится диалог, позволяющий выбрать конфигурацию импорта. Если существует только одна конфигурация, то процедура импорта начинается немедленно. Если не настроено ни одной конфигурации импорта, то система выдаст соответствующее сообщение об ошибке.

    Импорт и экспорт документов

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

    Настройка импорта и экспорта документов

    Конфигурации вариантов импорта/экспорта документов доступна посредством меню Админ Конфигурации импорта/экспорта Конфигурация форматов экспорта/импорта документов и Админ Конфигурации импорта/экспорта Конфигурация форматов экспорта/импорта строк документов.Диалог конфигурации импорта/экспорта заголовков документов

    Описание полей заголовка документа

    ID
    zstring(32)

    Идентификатор документа. По этому полю система сопоставляет данную запись с записями строк документа.

    Code
    zstring(24)

    Номер документа.

    Date
    date

    Дата документа.

    OpID
    long

    Только для экспорта. Идентификатор вида операции, которой принадлежит документ.

    OpSymb
    zstring(20) Только для экспорта.

    Символ вида операции, которой принадлежит документ.

    InvoiceCode
    zstring(24)

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

    InvoiceDate
    date Дата счет-фактуры. При экспорте, если дата счет-фактуры явно не задана, то это поле равно дате документа.

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

    INN
    zstring(32)

    ИНН контрагента. При импорте по этому поле система идентифицирует контрагента. Идентификация осуществляется следующим образом:

  • Из базы данных извлекается список персоналий, у которых регистрационный номер зарезервированного типа ИНН равен значению этого поля.
  • Найденный список персоналий проецируется на таблицу статей, заданную в виде операции, которой принадлежит импортируемый документ, как основная таблица объектов.
  • Если результирующий список статей не пустой, то берется первая статья из этого списка и она считается контрагентом по документу.
  • Обратите внимание на то, что крайне желательно обеспечивать уникальность кода ИНН среди записей персоналий в базе данных, иначе могут возникнуть неопределенности при идентификации контрагентов. Указанному методу идентификации контрагента предшествуют попытки идентификации по CntragID и по RegistryCode (см. ниже). Если эти две попытки не дали результата, то только в этом случае применяется описанный метод.

    GLN
    zstring(16) Только для экспорта.

    Код GLN контрагента по документу. Этот код берется из регистра с зарезервированным типом Код GLN персоналии, связанной с основной статьей документа.

    CntragID
    long

    Идентификатор аналитической статьи контрагента по документу. При экспорте это поле заполняется.

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

    CntragNo
    long

    Только для экспорта. Номер аналитической статьи контрагента по документа.

    CntragName
    zstring(128) Имя контрагента.

    RegistryCode
    zstring(32) Поисковый код контрагента. Именно, это - номер регистра персоналии, соответствующий типу регистрационного документа, определенному в одном из видов, которому принадлежит персоналия, как поисковый.

    При импорте, если не удалось идентифицировать контрагента по идентификатору CntragID и значение RegistryCode не пустое, то программа пытается идентифицировать контрагента по этому номеру. Эта идентификация осуществляется следующим образом:

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

    Obj2ID
    long Только для экспорта.

    Идентификатор дополнительного объекта по документу.

    Obj2Name
    zstring(48)

    Только для экспорта. Наименование дополнительного объекта по документу.

    Obj2No
    long Номер статьи дополнительного объекта по документу.

    При импорте, если значение этого поля не нулевое, программа пытается идентифицировать дополнительную статью по документу с его помощью. Если такая попытка не удалась, то применяется идентификация по Obj2INN (см. ниже).

    Obj2INN
    zstring(32)

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

    Описанная идентификация при импорте применяется в случае, если не удалось идентифицировать дополнительную статью документа с помощью поля Obj2INN (см. выше).

    Obj2GLN
    zstring(16)

    Только для экспорта. Код GLN дополнительного объекта по документу. Этот код берется из регистра с зарезервированным типом Код GLN персоналии, связанной с дополнительной статьей документа.

    AgentName
    zstring(128) Только для экспорта.

    Наименование агента, к которому привязан документ.

    AgentINN
    zstring(32)

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

    AgentGLN
    zstring(16) Только для экспорта.

    Код GLN агента по документу. Этот код берется из регистра с зарезервированным типом Код GLN персоналии, связанной со статьей агента по документу.

    DueDate
    date

    Дата исполнения документа (чаще всего, планируемая дата отгрузки).

    PaymDate
    date

    Последняя дата из плана платежей по документу. Чаще всего (но не всегда) она и единственная. При импорте документа эта дата применяется к создаваемому документу только в том случае, если в конфигурации определено поле суммы Amount и значение этого поля не нулевое (сумма ассоциируется с величиной платежа, планируемого на эту дату).

    Amount
    double format(8.2) Номинальная сумма документа. При импорте товарных документов значение этого поле

    CRate
    double format(8.2) Валютный курс, по которому рассчитываются базовые суммы валютного документа.

    CurID
    long format(10) Идентификатор валюты.

    BaseAmount
    double format(8.2) Базовая номинальная сумма документа.

    CostWithSTax
    int16 format(4) Признак того, что в цены реализации товарного документа включают налог с продаж.

    VatSum
    double format(8.2) Сумма НДС в номинальных ценах. Используется только при экспорте.

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

    Memo
    zstring(160)

    Примечание к документу.

    LocID
    zstring(32)

    Идентификатор склада, к которому относится документ.

    LocName
    zstring(48)

    Наименование склада, к которому относится документ.

    LocCode
    zstring(16)

    Код склада, к которому относится документ. При импорте система идентифицирует склад создаваемого документа именно по этому полю.

    City
    zstring(48) Город. При экспорте в это поле копируется наименование города, в котором находится склад, которому принадлежит документ.

    Addr
    zstring(255) Адрес. При экспорте в это поле копируется адрес склада, которому принадлежит документ.

    OrderBillID
    zstring(32) Только для экспорта.

    Идентификатор документа заказа, к которому привязан данный документа. Если документ привязан к нескольким документам заказа, то это поле принимает идентификатор одного из них (порядок не регламентирован).

    OrderBillNo
    zstring(24) Только для экспорта.

    Номер документа заказа, к которому привязан данный документ.

    DlvrAddrID
    long

    Только для экспорта. Идентификатор адреса доставки из данных по фрахту.

    DlvrAddrCode
    zstring(16) Только для экспорта.

    Код адреса доставки из данных по фрахту.

    DlvrAddr
    zstring(255)

    Только для экспорта. Адрес доставки из данных по фрахту.

    MainGLN
    zstring(16) Только для экспорта.

    Код GLN главной организации. Этот код берется из регистра с зарезервированным типом Код GLN текущей главной организации.

    Применение формул при экспорте документов

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

    Благодаря этому вы, например, можете экспортировать документы со значениями их дополнительных сумм.Обратим внимание на то, что символы, относящиеся к контексту документа можно вписывать в формулу как с префиксом @, так и без него. Например, выражения {@addamt * 1.8} и {addamt * 1.8} эквивалентны.

    Описание полей строк документа

    BillID
    zstring(32)

    Идентификатор документа. По этому полю система сопоставляет данную запись с записью в таблице документов.

    LineNo
    long

    Только для экспорта. Номер строки (первая строка нумеруется единицей).

    GoodsID
    long Идентификатор товара.

    LotID
    long Только для экспорта.

    Идентификатор лота, к которому привязана строка документа.

    GoodsName
    zstring(128)

    Наименование товара.

    Barcode
    zstring(24)

    Штрихкод товара.

    ArCode
    zstring(24)

    Кода товара, сопоставленный со статьей контрагента по документу.

    ArCodeOwn
    zstring(24) Только для экспорта. Собственный код товара (артикул, сопоставленный с пустой аналитической статьей).

    UnitName
    zstring(48) Только для экспорта.

    Наименование торговой единицы измерения товара.

    UnitCode
    zstring(20)

    Только для экспорта. Код торговой единицы измерения товара.

    PhUnitName
    zstring(48) Только для экспорта.

    Наименование физической единицы измерения товара.

    Quantity
    double format(10.3)

    Количество торговых единиц товара.

    PhQtty
    double format(10.3)

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

    Для переоценки это поле не инициализируется.

    UnitPerPack
    double format(10.3)

    Емкость упаковки.

    PckgQtty
    double format(10.3)

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

  • Значение, заданное в поле UnitPerPack обрабатываемой записи (см. выше).
  • Значение емкости упаковки поставки, заданное в карточке товара.
  • Емкость упаковки в последнем лоте товара, к которому относится строка, выбранном на складе, которому принадлежит импортируемый документ.
  • Cost
    double format(8.2)

    Цена поступления одной торговой единицы товара.

    Price
    double format(8.2)

    Цена реализации одной торговой единицы товара.

    Discount
    double format(8.2)

    Скидка на одну торговую единицу товара.

    Полная цена реализации представляется разницей Price - Discount

    CVatRate
    double format(3.1) Ставка входящего НДС в процентах.

    CVatSum
    double format(8.2) Ставка входящего НДС.

    VatRate
    double format(3.1) Ставка НДС в номинальных ценах в процентах.

    VatSum
    double format(8.2) Сумма НДС в номинальных ценах в процентах.

    Expiry
    date Дата истечения срока годности товара. При экспорте это значение берется из лота, которому принадлежит операция.

    Serial
    zstring(32) Серийный номер лота.

    CLB
    zstring(32) Номер грузовой таможенной декларации (ГТД), сопоставленный с лотом, к которому относится операция.

    QcCode
    zstring(32) Номер сертификата качества.

    QcBc
    zstring(16) Код бланка сертификата качества.

    QcManuf
    zstring(48) Производитель, указанный в сертификате качества.

    QcPrDate
    zstring(16) Дата производства, указанная в сертификате качества.

    QcInitDate
    date Дата выдачи сертификата качества.

    QcExpiry
    date Дата окончания срока действия сертификата качества.

    QcRegOrg
    zstring(48) Наименование органа, выдавшего сертификат качества.

    QcEtc
    zstring(48) Дополнительная информация по сертификату качества.

    Применение формул при импорте документов

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

    Общий формат такой формулы следующий: prefix . content. Здесь prefix - зарезервированное ключевое слово, обозначающее механизм обработки, . (точка) - просто разделитель префикса и содержания формулы, content - содержание формулы.На данный момент доступны следующие поля:

    lottag
    Формулы для динамической привязки тегов лотов. Для этого в содержании формулы необходимо указать символ тега с префиксом lottag. Например, формула lottag.manufprice означает, что из заданного внешнего поля будет извлечено значение, которое будет присвоено тегу лота с символом manufprice.
    priceformula
    Формула для расчета цены реализации импортируемой строки документа. После точки должна следовать собственно формула расчета. Обратим внимание на то, что эта формула может оперировать только псевдопеременными, ссылающимися на поля импортируемой структуры, но не на документ (строку документа).

    Например: priceformula.@cost*1.2 присвоит цене реализации значение, равное цене поступления, умноженное на 1.2. Если расчет по формуле завершился с ошибкой или дал нулевой либо отрицательный результат, тогда данное значение игнорируется (цена реализации устанавливается так, как будто эта формула задана не была, но в журнал импорта заносятся соответствующие замечания).

    Параметры внешнего поля при использовании данного вида формулы не значимы.

    costformula
    То же, что и priceformula, но для расчета цены поступления.

    formulainner-field-name

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

    token
    inner-field-name

    Сложная конструкция, реализующая извлечение значения из внешнего текстового поля. Здесь inner-field-name - символьное обозначение внутреннего поля, значение которого необходимо определить. После точки следуют 3 аргумента разделенные пробелами: ppyrsrv{outer-field-name} ppyrsrv{divider} ppyrsrv{token-no}

    ppyrsrv{outer-field-name}
    Символьное обозначение внешнего поля, из которого необходимо извлечь подстроку.
    ppyrsrv{divider}
    Допустимые разделители, отделяющие подстроки исходного текста. Здесь могут следующие варианты: один из символов _ , ; . - : % ^ $ @ # или специальные строки: space (пробел), tab (табуляция).
    ppyrsrv{token-no}
    Номер подстроки, которую необходимо извлечь. Первая подстрока имеет номер 1.
    Например: в исходных данных содержится текстовое поле с символом CODEANDDATE вида номердокумента-датадокумента Для извлечения номера документа из этого поле применим формулу

    token

    Code .CODEANDDATE - 1
    А для извлечения даты документа применим формулу

    token

    Date .CODEANDDATE - 2

    Экспорт документов

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

    Наконец, в таблице документов выберите команду “Экспорт документов” (<Ctrl-R> ).Кроме этого, функция экспорта документов присутствует в отчете по фрахтам.

    Диалог экспорта документов

    Импорт документов

    Для импорта документов следует выбрать пункт меню Справочники→ Админ→ Импорт→ Импорт документов.Диалог импорта документов

    Разрешение неопределенных товаров при импорте документов

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

    В этой ситуации система придерживается двух принципов:

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

  • Создать новый товар для каждой из неизвестных позиций в отдельности.
  • Массовое создание новых товаров для всех неизвестных позиций сразу. Эта функция занимает меньше сил, но и снижает возможности контроля над формированием новых номенклатурных позиций.
  • Заменить неизвестную системе позицию на существующую по выбору пользователя.
  • Найти аналог неизвестного товара по наименованию.
  • Импорт инвентаризации

    Система предоставляет унифицированный сервис для импорта строк инвентаризации. Настройка форматов импорта инвентаризации доступна через пункт меню Админ→ Конфигурации импорта/экспорта→ Конфигурация импорта инвентаризации.

    Поля, используемые при импорте инвентаризации

    GoodsID
    long Идентификатор товара.

    Barcode
    zstring(24) Штрихкод товара.

    GoodsName
    zstring(64) Наименование товара.

    Serial
    zstring(24) Серийный номер.

    Quantity
    double format(12.5) Фактическое количество. Допустимое значение должно лежать в пределах от 0 до 1000000 (включительно). Если значение выходит за указанные границы, то строка не будет принята (система проинформирует об этом пользователя).

    Cost
    double format(12.5) Цена поступления.

    Price
    double format(12.5) Цена реализации.

    Идентификация товаров при импорте инвентаризации

    Схема порядка идентификации товара приведена на рис.link. Далее следует описание порядка идентификации:

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

  • В противном случае, если во входном файле определен штрихкод товара, то товар ищется по этому штрихкоду со следующими особенностями:

  • Если в записи входного файла задан серийный номер, то ищется подходящий лот с этим серийным номером и из него извлекается товар.

    При этом строка инвентаризации получает принадлежность серийного номера.

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

    Упомянутый вес используется как фактическое количество только в том случае, если поле Quantity записи во входном файле имеет недопустимое значение или ноль.

  • Если штрихкод имеет весовой префикс и в конфигурации товаров установлен флаг ✓На весы вместо штрихкода загружать ИД товара, то пять цифр после весового префикса трактуются как идентификатор товара.

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

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

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

    Правило определения цен при импорте строк инвентаризации

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

    Система применяет следующий порядок вовлечения значений из этих полей в формирование цен строк инвентаризации:

  • Если вид операции документа предусматривает учет строк в ценах реализации, то цена извлекается из поля Price (но только если значение этого поля больше нуля).

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

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

    Параметры импорта/экспорта товаров

    Наименование конфигурации

    ▼Группа по умолчанию

    ▼Операция прихода

    ▼Таблица аналитических статей

    ▼Поставщик

    ▼Склад

    Признак необходимости добавления товара в матрицу
    SubCode (offs,len)

    ▼Торговая единица по умолчанию

    ▼Физ ед измерения

    Формат внешних данных

    ○Текстовый

    ○DBF

    ○Xml

    ○Excel

    ○Экспорт

    ○Импорт

    ✓OEM-кодировка

    ✓Удалять файлы после импорта

    ✓Не приходовать нулевое количество

    ✓Анализировать наименования

    ✓Анализировать штрихкоды

    ✓Только анализ

    ✓Universe-HTT

    ✓Force Single Barcode

    ✓Import Images

    ✓Заменять существующих производителей

    [Параметры файла...]

    [Соответствия полей...]

    Имя файла

    Поля, используемые при импорте и экспорте товаров

    Code
    zstring(32) Штрихкод.

    CodeCD
    zstring(32) Штрихкод с форсированной контрольной цифрой // @v6.2.4

    AddedCode
    zstring(32) Дополнительный штрихкод.

    AddedCodeQtty
    double format(10.4) Количество для дополнительного штрихкода.

    GrpID
    zstring(32) Только для экспорта.

    Идентификатор родительской группы товара.

    GrpCode
    zstring(32)

    Код группы родительской группы товара.

    GrpName
    zstring(128)

    Наименование группы.

    FolderGrpName
    zstring(128)

    Наименование группы верхнего уровня.

    Name
    zstring(128)

    Наименование.

    Abbr
    zstring(128)

    Сокращенное наименование. // @v6.2.4

    UnitName
    zstring(48)

    Наименование единицы измерения.

    UnitCode
    zstring(20)

    Только для экспорта. Код единицы измерения.

    PhUnitName
    zstring(48) Наименование физической единицы измерения.

    PhUPerU
    zstring(48) Соотношение физических единиц к торговым.

    ClsCode
    zstring(20) Символ класса товара.

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

    DimX
    double

    Числовой классификатор X.

    DimY
    double

    Числовой классификатор Y.

    DimZ
    double

    Числовой классификатор Z.

    DimW
    double

    Числовой классификатор W.

    PropKindName
    zstring(48)

    Наименование классификатора товара Kind. При импорте, если элемент классификатора с таким именем не существует, система создает новый элемент с этим именем.

    PropGradeName
    zstring(48)

    Наименование классификатора товара Grade. При импорте, если элемент классификатора с таким именем не существует, система создает новый элемент с этим именем.

    PropAddName
    zstring(48)

    Наименование классификатора товара Add. При импорте, если элемент классификатора с таким именем не существует, система создает новый элемент с этим именем.

    PropAdd2Name
    zstring(48)

    Наименование классификатора товара Add2. При импорте, если элемент классификатора с таким именем не существует, система создает новый элемент с этим именем.

    UnitsPerPack
    double format(10.6)

    Емкость упаковки лота.

    Cost
    double format(10.2)

    Цена поступления.

    Price
    double format(10.2)

    Цена реализации.

    Rest
    double format(10.4)

    Остаток.

    QCNumber
    zstring(32)

    Сертификат качества: номер сертификата.

    QCBlank
    zstring(16)

    Сертификат качества: код бланка.

    QCDate
    date

    Сертификат качества: дата выдачи.

    QCExpiry
    date

    Сертификат качества: срок годности.

    QCManuf
    zstring(128)

    Сертификат качества: изготовитель.

    QCOrg
    zstring(128)

    Сертификат качества: регистрирующий орган.

    QCManufDate
    zstring(20)

    Сертификат качества: дата производства.

    QCEtc
    zstring(32)

    Сертификат качества: прочая информация.

    QCInnerCode
    zstring(16)

    Сертификат качества: внутренний код.

    SalesTax
    double format(10.2)

    Ставка налога с продаж.

    Vat
    double format(10.2)

    Ставка НДС.

    Country
    zstring(48)

    Страна изготовитель.

    CountryCode
    zstring(48)

    Код страны изготовителя.

    Clb
    zstring(32)

    Грузовая таможенная декларация.

    Serial
    zstring(32)

    Серийный номер.

    Expiry
    date

    Срок годности.

    ExpiryPeriod
    long

    Срок годности дней.

    PckgQtty
    double

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

    PckgBrutto
    long

    Масса брутто упаковки поставки, г.

    PckgLength
    long

    Длина упаковки поставки, мм.

    PckgWidth
    long

    Ширина упаковки поставки, мм.

    PckgHeight
    long

    Высота упаковки поставки, мм.

    ManufID
    long

    Только для экспорта. Ид производителя товара.

    ManufName
    zstring(128) Наименование производителя товара.

    Brand
    zstring(128) Наименование торговой марки товара. При импорте, если в справочнике брэндов найдена запись с таким наименованием, то товар получает принадлежность этому брэнду, в противном случае создается новая запись для торговой марки с этим наименованием.

    ExtA
    zstring(255) Дополнительное текстовое поле товара 1.

    ExtB
    zstring(255) Дополнительное текстовое поле товара 2.

    ExtC
    zstring(255) Дополнительное текстовое поле товара 3.

    ExtD
    zstring(255) Дополнительное текстовое поле товара 4.

    ExtE
    zstring(255) Дополнительное текстовое поле товара 5.

    ArCode
    zstring(32) Только для импорта.

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

  • Если поле BillSupplID содержит идентификатор существующей статьи аналитического учета, то код будет соответствовать этой статье.

  • Если предыдущий вариант не привел к выбору статьи, и поле BillSupplCode содержит действительный поисковый код персоналии, соответствующей какому-либо поставщику, то ArCode будет сопоставлен этому поставщику.
  • В случае невозможности определить аналитическую статью по предыдущим двум шагам код товара по статье сопоставляется с поставщиком, заданным в конфигурации импорта.

    Если же и это значение пустое, то код станет собственным.

  • AltGrpCode
    zstring(32)

    Только для импорта. Код альтернативной группы.

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

    AltGrpPLU
    long

    Только для импорта. PLU для альтернативной группы.

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

    HierObjCode
    zstring(32) Код объекта в иерархии.

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

    HierParentCode
    zstring(32)

    Код группы верхнего уровня в иерархии. Поле необходимо для импорта иерархически организованного файла товаров и товарных групп.

    BillSupplID
    long Документ: ид поставщика

    BillSupplCode
    zstring(32) Документ: код поставщика.

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

    BillCode
    zstring(32) Документ: номер документа.

    BillDate
    date Документ: дата документа.

    Экспорт лотов

    Для лотов предусмотрен только экспорт.Конфигурация экспорта лотов практически аналогична общей конфигурации экспорта/импорта за исключением дополнительного атрибута ▼Аналитическая статья для получения кодов товаров. Этот параметр необходим в том случае, если требуется экспортировать коды товаров по статье.

    Вызов функции экспорта лотов осуществляется из таблицы лотов (см. стр. link).

    Поля, используемые при экспорте лотов

    ID
    long Ид. лота.

    BillID
    long Ид. документа, которым сформирован лот.

    LocID
    long Ид. склада.

    Dt
    date Дата поступления лота.

    OprNo
    long Номер операции за день.

    Closed
    int16 Признак нулевого текущего остатка по лоту.

    GoodsID
    long Ид. товара.

    QCertID
    long Ид. сертификата качества.

    UnitPerPack
    double format(10.3) Количество единиц в упаковке.

    Quantity
    double format(10.3) Поступившее количество единиц.

    WtQtty
    double format(10.3) Поступившее количество в независимых физических единицах.

    WtRest
    double format(10.3) Остаток после операции в независимых физических единицах.

    Cost
    double format(10.2) Цена поступления.

    ExtCost
    double format(10.2) Величина накладных расходов.

    Price
    double format(10.2) Цена реализации.

    Rest
    double format(10.3) Текущий остаток. То есть остаток с учетом все операций по лоту.

    PrevLotID
    long Ид. родительского лота.

    SupplID
    long Ид. поставщика.

    CloseDate
    date Дата закрытия лота.

    Expiry
    date Дата истечения срока годности.

    InTaxGrpID
    long Ид. налоговой группы прихода.

    BegRest
    double format(10.3) Остаток на начало операционного периода. Заполняется только если экспорт осуществляется из списка лотов с непустым операционным периодом.

    EndRest
    double format(10.3) Остаток на конец операционного периода. Заполняется только если экспорт осуществляется из списка лотов с непустым операционным периодом.

    QttyPlus
    double format(10.3) Приход за операционный период (количество). Заполняется только если экспорт осуществляется из списка лотов с непустым операционным периодом.

    QttyMinus
    double format(10.3) Расход за операционный период (количество). Заполняется только если экспорт осуществляется из списка лотов с непустым операционным периодом.

    OrgLotDt
    date Дата поступления оригинального лота.

    Serial
    zstring(32) Серийный номер лота. Заполняется только если экспорт осуществляется из списка лотов с атрибутом фильтра ✓Показывать серийные номера.

    UhttArCode
    zstring(32) Приватный UHTT-код товара.

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

    Импорт товаров (старая версия)

    file=filename
    Имя файла, из которого будут импортированы данные.

    hierarchy=obj_code,parent_code
    Иерархический справочник:

    obj_code
    код объекта.
    parent_code
    код родительского объекта.
    code=fld_name
    goods code (imported into Code (not ID)).

    addedcode=fld_name
    Дополнительный код товара. Если существует запись с кодом (code), который уже есть в справочнике, но addedcode при этом уникальный, то в товар с кодом code добавляется дополнительный код addedcode.
    addedcodeqtty=fld_name
    Количество товара, ассоциированное с addedcode (по умолчанию - 1).

    subcode=offs,len
    Подстрока значения поля code, по которой следует проводить дополнительную попытку идентификации товара по штрихкоду Используется в случае, если длина импортируемых кодов почему-либо выросла но при этом необходимо избежать дублирования с товарами, которые уже есть в справочнике. Если такой код найден, то он заменяется на более длинный из импортируемого справочника. Offs=0.., len=1..
    supplid=fld_name
    supplier id (used for linking to suppliers)

    groupcode=fld_name
    parent group code
    groupname=fld_name
    parent group name (used only if grpcode undefined)

    group2name=fld_name
    Наименование группы-папки, которой принадлежит группа groupname
    name=fld_name
    goods name

    unitname=fld_name
    Unit name
    phperu=fld_name
    physical units per unit

    packqtty=fld_name
    quantity of trade units in one package
    cost=fld_name
    Cost of one trade unit

    price=fld_name
    price of one trade unit
    rest=fld_name
    rest (trade units) Остаток товара.

    qcnmb=fld_name
    quality cert name
    qcblank=fld_name
    quality cert blank code

    qcdate=fld_name
    quality cert issue date
    qcexpiry=fld_name
    quality cert expiry date

    qcmanufname=fld_name
    goods manufacturer name (as marked in quality cert)
    qcorgname=fld_name
    quality cert issue organization name

    qcmanufdate=fld_name
    goods produce date string (as marked in quality cert)
    qcetc=fld_name
    quality cert extra string (imported into QalityCert.Etc

    salestaxrate=fld_name
    rate of sales tax
    vatrate=fld_name
    rate of vat

    manufcountryname=fld_name
    goods manufacturer country name
    manufcountrycode=fld_name
    goods manufacturer country code

    Если задан manufcountrycode, и поле manufcountry пустое, то система ищет государство (не персоналию-государство, а именно государство) с аббревиатурой manufcountrycode. Если такое государство существует, то создается персоналия-государство, соответствующая найденному государству и ее идентификатор принимается в качестве производителя товара.

    clb=fld_name
    ГТД лота.

    manufname=fld_name
    Производитель.
    brand=fld_name
    Торговая марка.

    ext_a=fld_name
    Дополнительное поле A.
    ext_b=fld_name
    Дополнительное поле B.

    ext_c=fld_name
    Дополнительное поле C.
    ext_d=fld_name
    Дополнительное поле D.

    ext_e=fld_name
    Дополнительное поле E.
    warehouse=warehouse_code
    Символ склада для которого приходовать остаток или задавать товарную матрицу.

    matrix=-1,0,1 (bias *1000)
    Признак необходимости добавлять товар в матрицу. Если указан параметр warehouse, то матрица устанавливается для выбранного этим параметром склада, в противном случае - для всех складов.

    -1
    игнорировать матрицу (эквивалентно отсутствию параметра).
    0
    устанавливать для матрицы значение 0.
    1
    устанавливать для матрицы значение 1.
    1000
    устанавливать для матрицы значение 0 только если в базе данных уже есть такой товар. В противном случае товар не добавлять и не приходовать.
    1001
    устанавливать для матрицы значение 1 только если в базе данных уже есть такой товар. В противном случае товар не добавлять и не приходовать.

    Импорт товарных групп

    Импорт товарных групп возможен из файлов формата DBF.Описание импорта товарных групп заносится в файл bin/import.ini в зону [goodsgroup].

    Здесь могут быть следующие параметры:

    file
    Обязательный параметр.

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

    name
    Обязательный параметр.

    Наименование поля, в котором находится имя группы.

    code
    Наименование поля, в котором содержится код группы.

    parentseq
    Специализированный параметр, позволяющий импортировать иерархию групп в случае, если все уровни группировки хранятся в одной записи. Значение параметра задается в виде списка элементов, разделенных символом ; (точка с запятой). Каждый элемент представлен одним или двумя наименованиями полей, представляющих соответственно, поле имени группы верхнего уровня и поле кода этой группы.

    name=nam
    code=cod
    parentseq=group;subgroup,sgc
    В этом примере предполагается, что входной файл содержит следующие поля:

    nam
    Наименование товарной группы.
    cod
    Код товарной группы.
    group
    Наименование группы самого верхнего уровня.
    subgroup
    Наименование группы второго уровня.
    sgc
    Код группы второго уровня.
    Обратите внимание, на то, что для группы самого верхнего уровня код опущен.
    Вызов функции импорта товарных групп осуществляется посредством пункта меню Справочники→ Админ→ Импорт товарных групп.

    Импорт персоналий

    Импорт персоналий возможен из файлов формата DBF.

    Описание импорта персоналий заносится в файл bin/import.ini в зону [person] или [suppl] (специализированный импорт поставщиков).

    file=filename
    Имя файла, из которого будут импортированы данные.

    personcodereg=reg_symb
    Символ (не наименование) вида регистрационного документа, используемого в качестве кода персоналии. Этот вид регистра может быть использован для связи персоналий с другими объектами (товарами, дисконтными картами и т.д.).
    code=fld_name
    unique code, identified person in enterprise domain Уникальный внутри импортируемого файла код персоналии. В базу данных Papyrus этот код заносится как регистр типа personcodereg. Если personcodereg не определен, то код персоналии не присваивается.

    idbias=bias
    bias added to key to avoid person id duplicating
    kind=person_kind_list
    Список наименований видов персоналий, которым должны принадлежать импортируемые персоналии. Если таких видно несколько, то их наименования должны следовать друг за другом с разделителем ',' (запятая). Если этот параметр отсутствует или не содержит ни одного допустимого значения, то создаваемые персоналии получают принадлежность зарезервированному виду UNKNOWN (Неизвестные).

    name=fld_name
    person name (imported into PersonTbl::Rec.Name) Обязательное поле. Поле наименования персоналии. Система не принимает персоналию, если в базе данных уже имеется персоналия с таким именем.
    extname=fld_name
    Расширенное наименование персоналии.

    status=fld_name
    Символ (не наименование) юридического статуса, которому должна принадлежать импортируемая персоналия. Если это значение пусто, либо не найден статус с таким символом, то персоналия получает статус по следующему правилу:

  • Если среди списка видов персоналий, заданного параметром kind, есть хоть один, для которого определен юридический статус по умолчанию, то будет применяться этот статус.
  • В противном случае используется зарезервированные статус Юридическое лицо.
  • vatfree=fld_name
    Признак освобожденности персоналии от уплаты НДС.

    Для того, чтобы импортированная персоналия получала признак “Освобожден от НДС” необходимо, чтобы значение этого поля было одно из следующих:

  • 1
  • YES
  • Y
  • city=fld_name
    Наименование города. Этот город заносится в юридический адрес персоналии. Если в базе данных нет города с таким наименованием, то система создает запись для этого города с принадлежностью родному государству.

    zip=fld_name
    Почтовый индекс адреса.
    addr=fld_name
    Поле адреса персоналии. Этот адрес заносится как юридический адрес персоналии.

    phone=fld_name
    Поле телефона. Указанная в этом поле строка заносится в список электронных адресов персоналии с зарезервированным видом Рабочий телефон.
    inn=fld_name
    ИНН персоналии. Система пытается идентифицировать персоналию по ИНН наряду с именем. Так, если в базе данных уже существует персоналия с ИНН, содержащимся в записи, то такая персоналия не импортируется.

    okpo=fld_name
    ОКПО персоналии. Импортируется как номер зарезервированного типа регистрационного документа ОКПО (ИД=5).
    okonh=fld_name
    ОКОНХ персоналии. Импортируется как номер зарезервированного типа регистрационного документа ОКОНХ (ИД=4).

    kpp=fld_name
    Код КПП персоналии. Импортируется как номер зарезервированного типа регистрационного документа Код КПП (ИД=10).
    bankacc=fld_name
    Номер банковского счета.

    bankname=fld_name
    Наименование банка. Если банка с заданным в записи наименованием не существует, то система создает новую запись для такого банка.

    bic=fld_name
    БИК банка. Система пытается идентифицировать банк по этому коду. Если в базе данных есть банк с таким кодом, то считается, что банк идентифицирован.

    corracc=fld_name
    Корр счет банка. Перед импортом рекомендуется присвоить признак “Дублируемый номер” типу регистрационного документа “Корр счет банка”, в который собственно и импортируется значение из этого поля.
    memo=fld_name
    Примечание персоналии.

    Вызов функции импорта персоналий осуществляется посредством пункта меню Справочники→ Админ→ Импорт персоналий.Для импорта поставщиков (определенном в зоне [suppl] файла bin/import.ini) необходимо воспользоваться пунктом меню Справочники→ Админ→ Импорт поставщиков.

    Идентификация дубликатов персоналий при импорте

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

  • Если импортируется персоналия с зарезервированным типом регистрационного документа ИНН и этот тип регистра не имеет признака ✓Неуникальный номер, то система ищет в базе данных персоналию с таким ИНН. Если соответствующая персоналия найдена, то данная запись не импортируется.
  • Если предыдущее правило не обнаружило дубликата персоналии, то ищется персоналия, имеющая то же имя, что и импортируемая, и принадлежащая одному из видов, которому принадлежит импортируемая персоналия.
  • Импорт котировок

    file=filename
    Имя файла, из которого будут импортированы данные.

    quotname=string
    QuotKind Name for importing. Сначала программа ищет котировку по символу quotname, а потом, если символ не найден, по наименованию.
    goodsid=fld_name
    goods id.

    goodscode=fld_name
    goods code (goodsid | goodscode)
    goodsname=fld_name
    goods name

    price=fld_name
    Price
    warehouse=warehouse_code
    Символ склада для которого устанавливать котировку.

    cursymb=fld_name
    currency symbol

    Импорт дисконтных карт

    file=filename
    Имя файла, из которого будут импортированы данные.

    personcodereg=reg_symb
    Символ вида регистрационного документа, используемого в качестве кода владельца карты.
    seriesid=scser_id
    Идентификатор серии, к которой должны относится импортируемые карты. Если серия не определена, то система использует серию с именем DEFAULT. Если такая серия не существует, то создает новую серию с этим именем.

    code=fld_name
    Текстовый код карты.
    codenum=fld_name
    Числовой код карты поле codenum имеет приоритет перед code. То есть, если значения есть и в поле codenum и в поле code, то система использует поле codenum и преобразует его в текст.

    personcode=fld_name
    Код владельца карты. Привязка персоналии-владельца карты осуществляется по этому коду, содержащемуся в регистре персоналии с типом personcodereg.
    pctdis=fld_name
    Процент скидки по карте.

    turnover=fld_name
    Начальный оборот по карте. Заносится кассовым чеком, привязанным к этой карте по нулевому кассовому узлу за 01/01/2001.

    Импорт банков

    В интернете по адресу http://cbrates.rbc.ru/bnk/bnk.exe доступен регулярно обновляемый список банков, действующих на территории Российской Федерации.Вы можете загрузить этот список и импортировать его частично или полностью в базу данных Papyrus .

    Для этого необходимо выполнить следующие шаги:

    1. Загрузить с указанного адреса файл bnk.exe в какой-либо каталог на вашем компьютере (для примера, C:/BNK).
    2. Запустить на выполнение указанный файл. В результате будут распакованы два файла: bnkseek.txt и reg.txt.
    3. Запустить Papyrus с параметром командной строки /convertrbcbnk:путь для конвертации файлов bnkseek.txt и reg.txt в bnkseek.dbf и reg.dbf соответственно. Для нашего примера командная строка запуска будет выглядеть так:
      ppw.exe /convertrbcbnk:C:/BNK
    4. В каталоге Papyrus в файле BIN/IMPORT.INI настроить зону описания импорта банков. Она должна выглядеть так:

      
      		file=c:/bnk/bnkseek.dbf
      		regionfile=c:/bnk/reg.dbf
      		regionid=ID
      		regionname=Name
      		name=Name
      		city=City
      		bic=BIC
      		corracc=CorrAcc
      	
      Обратите внимание на параметры file и regionfile. В них пути должны соответствовать тому каталогу, в котором вы осуществили конвертацию файлов.

    5. Открыв сеанс Papyrus выбрать пункт меню Справочники→ Админ→ Импорт→ Импорт банков. Непосредственно перед импортом система предложит вам выбрать город, которому должны соответствовать импортированные банки. Если вы не выберите город, то будут импортированы все банки из справочника (это - довольно много).