Решение проблем с БД

Обслуживание базы данных SH4

Важно: перед выполнение любых операций с базой данных, необходимо делайть резервные копии!

Общая информация

SDB server manager (Sdbman.exe) - основное приложение для диагностики и обслуживания баз данных SH4.

Так как формат базы данных (*.SDB, *.SDL) зашифрован, других средств для работы с базами данных SH4 нет.

Основной функционал приложения Sdbman:

Меню "Пользователи"

В данном меню находятся следующие пункты:

Создание ролей и назначение прав подробно описано в руководстве пользователя по системе StoreHouse v4 ftp://ftp.ucs.ru/books/storehouse_v4_user_manual.pdf

В списке соединений можно посмотреть информацию по всем клиентам, подключенным на данный момент к серверу SH4.

В списке соединений указывается следующая информация:

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

Меню "Обслуживание"

В данном меню находятся следующие пункты: 

Размер базы данных указывается в страницах или в мегабайтах (1 страница = 4Кб или 1Мб = 256 страниц) - параметры взаимосвязаны, т.е. изменение одного влечет за собой изменение другого. 

При создании базы данных по умолчанию устанавливается размер в 35 000 страниц (приблизительно 137Мб) - как правило, базы данных такого размера хватает примерно на 2-3 года работы предприятия общественного питания.

Увеличивать размер базы рекоммендуется постепенно, т.е. добавляя к первоначальному размеру не более 30000-50000 страниц. Задавать максимальный размер количества страниц в базе сразу не рекомендуется, т.к. это может усложнить процедуры связанные с перемещением и обслуживанием файла БД такого размера.

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

Важно: Максимальный размер базы данных StoreHouse v4 примерно 1,8Гб или 458752 страниц

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

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

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

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

Меню "Прочее"

В данном меню находятся следующие пункты:  

Примечание: Опция "Запрет на приходование при отрицательных остатках" влючена по умолчанию и не может быть отключена в стандарной версии склада

"Оптимизация вычисления себестоимости" - включение опции хранения себестоимости накладных в закрытом периоде

Как следует из названия опции, оптимизация работает для закрытого периода. Таким образом, данную опцию имеет смысл использовать только совместно с операцией закрытия перида в приложении Sh.exe, меню "Сервис"  "Закрытие периода":

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

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

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

Обработка параметра:

"Статистика" - список всех объектов системы с возможностью просмотра детальной информации по каждому объекту

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

Например, можно посмотреть общую статистику по серверу SH4: 

"Выполнить запрос"  - сервисный инструмент для работы со встроенными или внешним процедурами

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

Для работы с внешними процедурами требуется указание в поле "Библиотека" полного пути к сервисной библиотеке (библиотека, как правило, предоставляться вместе с инструкцией по решению проблемы - пример такой библиотеки ShFix.dll ftp://ftp.ucs.ru/storehouse/sh4/shfix)

Параметры конфигурации сервера (SdbsConf)

SDB server configuration utility (SdbsConf.exe) - основное приложение для настройки параметров конфигурации сервера SH4.

Параметры конфигурации сервера подробно описаны в документе http://support.ucs.ru/ru/node/6942#header-6

В данном разделе рассмотрены особенности и рекомендации для некоторых параметров, связанных с сервисным обслуживанием:

Важно: Рекомендуется всегда включать режим автоматического резервного копирования с опциями "Backup time" и "Stop server on error" - отсутствие актуальных резервных копий самая частая причина невозможности оперативно восстановить работу системы в случае поломки БД!

Параметры резервного копирования:

С выключенным параметром "Stop server on error" сервер будет продолжать работу даже в случае возникновения каких-либо проблем в процессе создания резервной копии - это может привести к тому, что Заказчик лишится возможности быстрого решения возможных проблем, в том числе связанных со стуктурным нарушением целостности базы данных.

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

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

Автоматическое восстановление базы данных

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

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

Важно: Для возможности автоматического восстановления БД сервер StoreHouse должен быть запущен в качестве службы!

Состав комплекса

В состав комплекса входят следующие файлы:

Дистрибутив можно загрузить с FTP-севрера ftp://ftp.ucs.ru/storehouse/sh4/Shr

Настройка и запуск

Перед запуском Shr.exe необходимо выполнить единоразовую процедуру инициализации параметров с помощью утилиты Shrinit.exe

Shrinit.exe

Утилита Shrinit.exe используется для инициализации (сохранения) параметров - эта операция выполняется единоразово, затем утилиту Shrinit.exe и конфигурационный файл Shrinit.ini можно удалить.

Содержимое конфигурационного файла Shrinit.ini:

[NTUSER]       - необязательные параметры для персонализации пользователя Windows: Shr.exe необходимы права на запись к реестру, на остановку и запуск сервисов
Name=Администратор
Password=

[SHUSER]       - обязательные параметры: имя и пароль администратора, устанавливаемые для создаваемых при восстановлении баз данных
Name=Admin
Password=

Важно: После запуска утилиты Shrinit.exe все параметры, заданные в Shrinit.ini, сохраняются в реестре в зашифрованном виде - переменная shrdta в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\SH (x64) или HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SH (x86)

Shr.exe

Утилита Shr.exe выполняет восстановление базы данных из резервной копии.

Формат запуска утилиты - командная строка вида:

Shr.exe<пробел><имя сервера SDBServ>

Примечание: Имя сервера, передаваемое в командной строке, должно соотв. имени сервера (Server name), заданное в SdbsConf.exe

Например, для восстановление базы для сервера SDBSERV запускаем с командной строки (или bat-файла) Shr.exe SDBSERV

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

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

Важно: Для возможности автоматического восстановления БД сервер StoreHouse должен быть запущен в качестве службы!

Содержимое INI-файла:

[Options] 

SrvNetName= - сетевое имя сервера, используемое для соединения с сервером. По умолчанию совпадает с именем сервера, формат зависит от типа подключения

BkpPath= - маска, по которой ищутся файлы резервных копий, берется первый найденный попавшийся. Обязательный параметр

LibName= - полный путь к библиотеке Sh_crtdb.dll. Обязательный параметр

FilePath= - каталог, в котором создаются файлы восстановленной БД. Обязательный параметр

MaxFileSize=0 - макс. размер файла БД в мегабайтах: 0 - размер не ограничен (по умолчанию)

CreateLog=0 - режим логирования: "0" - выводить на экран (по умолчанию), остальные непустые значения - сохранять в файл

DeleteFiles=0 - режим удаления файлов устаревшей БД и исходного бекап-файла при успешном завершении операции: "0" - не удалять (по умолчанию), остальные непустые значения - удалять

Рассмотрим подробно каждый параметр:

- SrvNetName - сетевое имя сервера или строка подключения к серверу. Формат зависит от типа подключения - при использовании локального подключения или подключения по протоколу NetBIOS, указывается имя сервера (например, SDBSERV), тогда как при подключении по протоколу TCP/IP необходимо указывать строку в специальном формате:

Важно: Для подключения к серверу склада, запущенного как служба, необходимо использовать подключение только по протоколу TCP/IP. При использовании протокола TCP/IP всегда  указывайте параметр таймаута для избежания ситуации, когда утилита Shr.exe будет терять связь с сервером после его перезапуска.

- BkpPath - маска для поиска резервных копий в определенном каталоге.  В качестве маски может быть задан как шаблон (например, C:\UCS\SDBSrv\Backup\*.bkp), так и путь к конкретному файлу (например, C:\UCS\SDBSrv\Backup\sh4_backup.bkp). В случае указания шаблона утилита будет использовать для восстановления первый найденный файл резервной копии, остальные будут игнорироваться - в такой конфигурации рекомендуется удалять резерные копии после их восстановления (DeleteFiles=1)

- LibName - полный путь к библиотеке SH_CRTDB.DLL из рабочего каталога склада

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

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

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

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

Важно: Для запуска утилиты Shr.exe требуются клиентские компоненты SH4 - DmCtrl.bpl, DoMan.dll, SdbCli.dll, RTL60.BPL и VCL60.BPL. Можно скопировать эти компоненты в каталог c Shr.exe из рабочего каталога SH4 либо скопировать утилиту Shr.exe в рабочий каталог SH4

Пример

В центральном офисе сервера могут находится на одном компьютере, возможное кол-во одновременно запущенных серверов зависит от размеров ОЗУ (например, для запуска 16-ти серверов достаточно 2Гб оперативной памяти).

Примечание: Если длина имени сервера превышает 15 символов, подключение НЕ ПРОИСХОДИТ. Например, подключение к серверу KINOMAX_CHPOBEDA.INI (или KINOMAX_VOLGOGRAD.INI) не удалось, тогда как к KINOMAX_VORONEG.INI соединение устанавливается без проблем.

Профилактика и обслуживание базы данных Storehouse_4

Менеджер сервера (Sdbman)

Важно: Перед выполнение любых сервисных операций, связанных с базой данных, необходимо создавать резервную копию!

Общая информация

SDB server manager (Sdbman.exe) - основное приложение для диагностики и обслуживания баз данных SH4.

Так как формат базы данных (*.SDB, *.SDL) зашифрован, других средств для работы с базами данных SH4 нет.

Основной функционал приложения Sdbman:

  • создание резервной копии базы данных
  • восстановление базы данных из резервной копии
  • выполнение запросов к базе (собственные процедуры, поддержки SQL-языка нет)
  • встроенные инструменты для диагностики и ремонта структуры базы данных
  • статистическая информация по работе сервера склада
  • информация о подключениях к серверу клиентов
  • управление ролями и правами пользователей
  • сервисные настройки для оптимизации быстродействия базы данных

 

Меню "Пользователи"

В данном меню находятся следующие пункты:

  • Список пользователей
  • Список ролей
  • Список соединений

Создание ролей и назначение прав подробно описано в руководстве пользователя по системе StoreHouse v4 ftp://ftp.ucs.ru/books/storehouse_v4_user_manual.pdf

В списке соединений можно посмотреть информацию по всем клиентам, подключенным на данный момент к серверу SH4.

В списке соединений указывается следующая информация:

  • Пользователь - пользователь SH4, вошедший в систему на клиентском рабочем месте
  • Компьютер - имя компьютера, на котором запущен клиент
  • Идентификатор - служебгный идентификатор соединения
  • Протокол - протокол, используемый клиентом для подключения к серверу
  • IP-адрес - IP-адрес клиентского компьютера (хоста)

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

 

Меню "Обслуживание"

В данном меню находятся следующие пункты: 

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

 

Размер базы данных указывается в страницах или в мегабайтах (1 страница = 4Кб или 1Мб = 256 страниц) - параметры взаимосвязаны, т.е. изменение одного влечет за собой изменение другого. 

При создании базы данных по-умолчанию устанавливается размер в 35 000 страниц (приблизительно 137Мб) - как правило, базы данных такого размера хватает примерно на 2-3 года работы предприятия общественного питания.

Увеличивать размер базы рекоммендуется постепенно, т.е. добавляя к первоначальному размеру не более 30000-50000 страниц. Задавать максимальный размер количества страниц в базе сразу не рекомендуется, т.к. это может усложнить процедуры связанные с перемещением и обслуживанием файла БД такого размера.

Примечание: Система не позволит установить новый размер базы данных, который меньше текущего используемого размера (в статистике параметр "Используется страниц").

Важно: Предельный размер базы данных StoreHouse v4 примерно 1,8Гб (точно - 1792 Мб или 458752 страниц)

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

 

  • "Диагностика" - диагностика и автоматическое восстановление структуры базы данных.

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

 

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

Если резервная копия стандартными средствами не выполняется, вероятнее всего, база данных содержит серьезные структурные нарушения и продолжать работу в такой базе не рекомендуется. В таких случаях необходимо восстановить базу данных из созданной ранее резервной копии или обратиться к специалистам службы поддержки компании ЮСИЭС.
 

Меню "Прочее"

В данном меню находятся следующие пункты:  

  • "Ограничения на работу с отрицательными остатками ..." - возможность запретить расходование в минус расходными и/или прочими накладными

 

Примечание: Опция "Запрет на приходование при отрицательных остатках" влючена по-умолчанию и не может быть отключена в стандарной версии склада

  • "Оптимизация вычисления себестоимости" - включение опции хранения себестоимости накладных в закрытом периоде

Как следует из названия опции, оптимизация работает для закрытого периода. Таким образом, данную опцию имеет смысл использовать только совместно с операцией закрытия перида в приложении Sh.exe, меню "Сервис"  "Закрытие периода":

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

  • "Снять блокировки..." -  удаление блокировок документов, установленных всеми пользователями либо конкретным пользователем

 

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


 

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

Обработка параметра:

  • для версий склада ниже 4.99.ххх: при указании значения 1 разрешается править документы со вчерашнего дня, при значении 2 - с позавчерашнего и т.д.
  • для версий склада 4.99.ххх и выше: при указании значения 1 разрешается править документы с сегодняшнего дня, при значении 2 - со вчерашнего и т.д.

 

  • "Статистика" - список всех объектов системы с возможностью просмотра детальной информации по каждому объекту

 

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

Например, можно посмотреть общую статистику по серверу SH4: 

  • версия сервера (Server version)
  • размер файла базы данных (Dbfile size)
  • размер файла журнала транзакций (Dblog file size)
  • размер лог-файла сервера (Server log file size)
  • версия базы данных (Db file version)
  • максимально возможный размер базы данных в страницах и Мб (Db file version)
  • размер области базы данных, заполненной полезной информацией (Db commited pages) - по этому показателю можно делать вывод, насколько база уже заполнена и как скоро потребуется увеличение размера и/или операция удаления документов
  • максимальный размер страничного кеша (Server cache max pages)
  • размер используемого (выделенного) страничного кеша (Server cache allocated pages)
  • сетевые протоколы, поддерживаемые сервером (Net protocols) 
  • дата и время последней успешной операции создания резервной копии базы данных (Last backup) - исходя из значения этого параметра, который хранится в самой базе, сервер выполняет автоматические оерации по созданию резервных копий.

 

  • "Выполнить запрос"  - сервисный инструмент для работы со встроенными или внешним процедурами

 

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

Для работы с внешними процедурами требуется указание в поле "Библиотека" полного пути к сервисной библиотеке (библиотека, как правило, предоставляться вместе с инструкцией по решению проблемы - пример такой библиотеки ShFix.dll ftp://ftp.ucs.ru/storehouse/sh4/shfix)

 

Параметры конфигурации сервера (SdbsConf)

SDB server configuration utility (SdbsConf.exe) - основное приложение для настройки параметров конфигурации сервера SH4.

Параметры конфигурации сервера подробно описаны в документе http://support.ucs.ru/ru/node/6942#header-6

В данном разделе рассмотрены особенности и рекомендации для некоторых параметров, связанных с сервисным обслуживанием:

  • Backup directory (Каталог резервных копий) - полный путь к директории, в которой будут храниться резервные копии баз данных. Рекомендуется для каждого сервера создавать отдельную директорию для хранения резервных копий , что-бы в будущем было проще ориентироваться в принадлежности резервных копий тому или иному серверу.
  • Backup options (Параметры резервного копирования) - включение/отключение автоматического режима резервного копирования БД и указание параметров резервного копирования.

Важно: Крайне рекомендуется всегда включать режим автоматического резервного копирования с опциями "Backup time" и "Stop server on error" - отсутствие актуальных резервных копий самая частая причина невозможности оперативно восстановить работу системы в случае поломки БД!

Параметры резервного копирования:

  • Backup time (Время резервирования) - выполнять резервное копирование в конкретное время суток, рекомендуемый режим
  • On database loading (При запуске сервера) - выполнять резервное копирование во время запуска сервера, ненадежный режим
  • On sever shutdown (При остановке сервера) - выполнять резервное копирование во время остановки сервера, ненадежный режим (например, при выключении ПК  сервер сначала выполнит резервное копирование и только затем завершит работу)
  • Stop server on error (Остановка сервера при ошибке) - при включении опции сервер будет остановлен после неудачной попытки резервного копирования  и клиенты получат сообщении о невозможности продолжать работу,рекомендуемая опция. 

С выключенным параметром "Stop server on error" сервер будет продолжать работу даже в случае возникновения каких-либо проблем в процессе создания резервной копии - это может привести к тому, что Заказчик лишится возможности быстрого решения возможных проблем, в том числе связанных со стуктурным нарушением целостности базы данных.

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

  • восстановить базу данных из ранее созданной резерной копии, что может привести к утере части акутальных данных
  • обратиться в службу поддержки компании ЮСИЭС для восстановления базы данных - операция в большинстве случае дает положительный результат (в некоторых случаях с незначительной потерей актуальных данных), но требует определенного времени на выполнение работ, в течении которого работа Заказчика в системе SH4 должна быть приостановлена

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

 

  • Automatic recovery (Автоматическое восстановление) - устанавливает режим автоматического восстановления БД при сбоях (например, при нештатном отключении питания), восстановление происходит при запуске сервера и использует для восстановления информацию из журнала транзакций (Database Log)

 

Выполнение процедур на OLE-сервере

Общая информация

1.1. Поскольку БД SH4 является закрытой, для доступа к её данным существует специальная библиотека sh4ole.dll

1.2. Sh4Ole.dll можно скачать ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/

1.2.1. Для проверки, качайте вместе с тестовой программой TestOle.exe

1.2. Через библиотеку происходит работа с сервером SH4 аналогично его оригинальным клиентам.

1.2.1. Доступны для вызова стандартные функции и процедуры, которые описаны в файле ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/Interface.txt

1.2.2. Существует также способ выполнения произвольных процедур, который описан ниже.

1.3. Алгоритм выполнения практически любой процедуры дает возможность получать данные, недоступные через стандартные процедуры OLE-сервера

Описание алгоритма

Общее

2.1.1. Рассмотрим работу алгоритма на примерах

Получение списка корреспондентов

На данный момент описание процедур отсутствует, но есть возможность узнать предназначение процедуры и ее параметры с помощью приложения Sdbman.exe (Sdb server manager, входит в стандартный дистрибутив StoreHouse v4).

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

Получение информации о процедуре:

  • запустить приложение Sdbman.exe,  перейти в меню "Пользователи" ⇒ "Список пользователей"
  • выбрать любого пользователя и два раза кликнуть на нем - на закладке "Права" отобразится список всех доступных прав, в названии каждого права указана процедура, которая отвечает за это право

Например, если перейти в списке прав в "Словари" \ "Корреспонденты" \ "Список корреспондентов", увидим право "Чтение списка (proc CorrList)" - процедура CorrList возвращает список корреспондентов, которые относятся к определенной группе (при этом мы должны знать RID этой группы - их можно узнать с помощью другой процедуры CorrTree )

  • для получения подробной информации о процедуре перейти в "Прочее" ⇒ "Выполнить запрос", указать в поле "Процедура:" имя необходимой процедуры (регистр букв важен!) и нажать на панели задач кнопку с изображением буквы "i" (Параметры).
  • после выполнения на закладке "Список параметров" отображается информация в следующем виде (пример для процедуры CorrList):
IN PARAMETERS
tUint32,Key Tag: 101.1.0 --------- data set # 0
tUint8 Tag: 102.2.0
OUT PARAMETERS
Array { --------- data set # 1
tUint32,Key Tag: 102.1.0
tUint32,NotNull Tag: 101.1.1
tStr[15],NotNull Tag: 102.3.0
tStr[47],NotNull Tag: 102.4.0
tUint8,NotNull Tag: 102.2.0
tUint8,NotNull Tag: 102.5.0
}
END OF PARAMETER LIST 

 

где

  • IN PARAMETERS - блок входных параметров
  • OUT PARAMETERS - блок выходных параметров

 

Эту информацию мы будем использовать для вызова процедуры CorrTree в собственном приложении (с использование OLE)

В файле ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/Interface.txt есть пример алгоритма выполнения произвольного запроса:

*********************************************************************************
Алгоритм выполнения практически любого запроса
*********************************************************************************
IndQuery := Sh.pr_CreateProc (ProcName); // ProcName - Имя процедуры
Заполняем входные датасеты
sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value ); // IndexDS - Индекс датасета
// (входные выходные - сквозная нумерация 0..n
// FldName тэг поля n.n.n (например 209.3.0)
// Value - присваиваемое значение
sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
sh.pr_Post( IndQuery, IndexDS ); 

Примечание: если у процедуры нет входных параметров, процедура SetValByName  не вызывается 

--------------------------------------------------------
перед выполнением процедуры устанавливаем состояние датасета

Чтение состояния датасета для ArrayX
function pr_GetRecordStatus (IndexDS : integer): integer;
возвращает состояние датасета
0 - Select
1 - Insert
2 - Update
3 - Delete
Запись состояния датасета для ArrayX
function pr_SetRecordStatus ( IndexDS, NewValue : integer ): integer
возвращает состояние датасета
----------------------------------------------------------
sh.pr_ExecuteProc(IndQuery);

получение результата проход по датасету IndexDS

while sh.pr_EOF( IndQuery,IndexDS )<>1 do
begin
X := sh.pr_ValByName(IndQuery,IndexDS,FldName) // получит значение поля FldName в датасете IndexDS
sh.pr_Next(IndQuery,IndexDS);
end;

sh.pr_CloseProc(IndQuery);
*********************************************************************************

У себя в приложении мы должны вызвать IndQuery := Sh.pr_CreateProc (CorrList);

При заполнении входных датасетов нужно учитывать информацию, полученную выше:
*********************************************************************************
IN PARAMETERS
tUint32,Key Tag: 101.1.0 --------- data set # 0
tUint8 Tag: 102.2.0
*********************************************************************************

Мы видим, что для процедуры CorrList входным является только один датасет (data set # 0), поэтому при заполнении мы должны в качестве параметра IndexDS передать 1, т.е. получаем:

IndQuery := Sh.pr_CreateProc (CorrList);

sh.pr_SetValByName (IndQuery, 1, FldName, Value );
 

Далее надо заполнить параметр FldName - это тег поля в виде n.n.n

В блоке входных параметров мы видим, что используется два тега - Tag: 101.1.0 и Tag: 102.2.0 . Первый тег обозначает RID группы (дерева), к которой относиться корреспондент, второй - тип корреспондента (третье значение обычно не значущее - используется в том случае, если есть два одинаковых по сути объекта, например "Ключ (Rid) корреспондента", но типы объекта различаются. 

Например, тег 102.1.2 обозначает "Ключ (Rid) корреспондента-поставщика", тогда как тег 102.1.3 обозначает "Ключ (Rid) корреспондента-получателя".

Более подробное описание всех тегов есть в файле Sh_Tags.h ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/Sh_Tags.zip  и Sh_TagsB.h ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/sh_tagsB.zip

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

В итоге наш код будет выглядеть приблизительно так:

IndQuery := Sh.pr_CreateProc (CorrList);

//Заполняем входные датасеты:
sh.pr_SetValByName ( IndQuery, 1, 101.1.0, 1); //запрос всех
корреспондентов, которые относятся к группе с RID=1

sh.pr_SetValByName ( IndQuery, 1, 102.2.0, 2); //запрос всех
корреспондентов, которые имеют тип = 2 (физ лицо) - более подробно см. в
файле Sh_Tags.h

sh.pr_SetValByName ( IndQuery, 1, 102.2.0, 3); //запрос всех
корреспондентов, которые имеют тип = 3 (спец. корр) - более подробно см. в
файле Sh_Tags.h

//выполняем процедуру:
sh.pr_ExecuteProc(IndQuery);

//получение результата проход по датасету 1:
while sh.pr_EOF( IndQuery,1 )<>1 do
begin
X := sh.pr_ValByName(IndQuery,1,FldName) // получить значение поля
FldName в датасете 1 - вот здесь уже нужно подставить в качестве FldName
теги, которые относяться непосредственно к корреспонденту. Например
102.1.0 - RID корреспондента, 102.4.0 - наименование корреспондента и
т.д. (более подробно см. Sh_Tags.h)
sh.pr_Next(IndQuery,IndexDS);
end;

sh.pr_CloseProc(IndQuery);

В итоге мы получим информацию о всех искомых корреспондентах.

Следует помнить, перед вызовом процедуры CorrList нужно получить значения RID-ов всех групп корреспондентов (дерева)

И еще - все вышеописанное больше для примера, т.к. получить список корреспондентов (всех) можно и проще - с помощью процедуры CorrFullList

2.3. создание документа расхода

IndQuery :=  sh.pr_CreateProc( 'InsExpDoc' ) ;
// -----------------------------------------------------------------------------------------
// ЗАГОЛОВОК
// Заголовок неактивный, чтобы не заполнять группу станций
// для простоты без модификаторов
sh.pr_SetValByName ( IndQuery, 0, '230.2.0','AAA');    // Номер префикс tStr[19]
sh.pr_SetValByName ( IndQuery, 0, '230.3.0',1);        // Номер число   tUint32
// Для автоматического получения номера документа можно использовать процедуру sh: CalcExpDocNum

sh.pr_SetValByName ( IndQuery, 0, '230.4.0',Date());   // Дата док tShortDate,NotNull
sh.pr_SetValByName ( IndQuery, 0, '230.5.0',4 or 8 );  // Опции документа tUint32,NotNull

     {
      //  опции документов по расходу   ( expense document options )
        #define edoActive            2   // расход активный  (нужно заполнять группу станций)
        #define edoSaleTaxIncluded   4   // в суммы включен налог с продаж
        #define edoSaleTaxPayed      8   // налог с продаж оплачен
        #define edoImported         16   // документ сымпортирован - недопустима модификация
        #define edoLocked           32   // документ блокирован создавшим его пользователем
        // второй байт занят под степень скомплектованности/списанности док-та (младшие 4 бита: флаги ed_...)
       }

sh.pr_SetValByName ( IndQuery, 0, '214.1.0',NULL); // Группа станций tUint32,Key
        // Список мест реализации - Процедура SUnits;

sh.pr_SetValByName ( IndQuery, 0, '216.1.0',0); // Категория расхода tUint32,Key,NotNull
        // Список категорий расхода ExpCtgs

sh.pr_SetValByName ( IndQuery, 0, '230.7.0','Здесь комментарии'); // tStr[255]

sh.pr_Post( IndQuery,0 );
//
// Содержимое

// запись 1 - товар с RID = 2366 , комплект 67 , количество 10, ед.изм. 6
sh.pr_SetValByName ( IndQuery, 1,'231.1.0', 0);      //  Rid tUint32,Key
sh.pr_SetValByName ( IndQuery, 1,'231.2.0', 10 );    //  Количество
sh.pr_SetValByName ( IndQuery, 1,'231.3.0', 200);    //  Сумма tCurrency,NotNull
sh.pr_SetValByName ( IndQuery, 1,'212.2.10',0);      //  НДС tCurrency,NotNull
sh.pr_SetValByName ( IndQuery, 1,'213.2.10',0);      //  НСП tCurrency,NotNull
sh.pr_SetValByName ( IndQuery, 1,'206.1.0', 6);      //  Ед.изм.

sh.pr_SetValByName ( IndQuery, 1,'210.1.0', 2366);   // Товар
sh.pr_SetValByName ( IndQuery, 1,'200.1.0', 67);     //  Комплект для товара можно узнать из процедуры GoodsBase

sh.pr_SetValByName ( IndQuery, 1,'102.1.5', NULL);   // Склад списания, подобрать склад списания можно с помощью проц.sh: GoodsLink4Exp
sh.pr_SetValByName ( IndQuery, 1,'0.50.99',0);       //  НЕ трогать
sh.pr_SetValByName ( IndQuery, 1,'231.4.0',0);       //  Опции спецификаций
{
//  опции спецификаций документов по расходу   ( expense specification options )
#define esoService           1   // спецификация - услуга
#define esoHasMdf            2   // есть связанные со спецификацией модификаторы
#define esoTax1Rate          4   // использовать ставку для расчета налога 1 (НДС)
#define esoTax2Rate          8   // использовать ставку для расчета налога 2 (НСП)
#define esoRef              16   // спецификация - ссылка
}
sh.pr_Post( IndQuery,1 );

// запись 2 то же самое только количество 20, сумма 300
sh.pr_SetValByName ( IndQuery, 1,'231.1.0', 0);
sh.pr_SetValByName ( IndQuery, 1,'231.2.0', 20 );
sh.pr_SetValByName ( IndQuery, 1,'231.3.0', 300);
sh.pr_SetValByName ( IndQuery, 1,'212.2.10',0);
sh.pr_SetValByName ( IndQuery, 1,'213.2.10',0);
sh.pr_SetValByName ( IndQuery, 1,'206.1.0', 6);
sh.pr_SetValByName ( IndQuery, 1,'210.1.0', 2366);
sh.pr_SetValByName ( IndQuery, 1,'200.1.0', 67);
sh.pr_SetValByName ( IndQuery, 1,'102.1.5', NULL);
sh.pr_SetValByName ( IndQuery, 1,'0.50.99',0);
sh.pr_SetValByName ( IndQuery, 1,'231.4.0',0);
sh.pr_Post( IndQuery,1 );

SH.pr_SetRecordStatus ( 1,1 );
sh.pr_ExecuteProc(IndQuery);
SH.pr_SetRecordStatus ( 1,0 );

ShowMessage(sh.GetExcMessage);
sh.pr_CloseProc(IndQuery);

end;

end.

Коды ошибок Sdbserv

 

 

 

Исключение процедуры сервера N

Ошибки FIFO

1  - приходование из минуса запрещено
2  - расходование в минус расходными накл. запрещено
3  - расходование в минус прочими док-тами запрещено
4  - на приход существуют ссылки расходов - ??? удаление прихода невозможно
5  - активные расходы могут быть списаны только с активного прихода
6  - с прихода списано жестко большее кол-во расходов, чем кол-во прихода
7  - приход должен предшествовать расходам, с него списанным
8  - запись о приходе для привязки не найдена
9  - неверная очередь фифо прихода
10 - недопустима смена склада
11 - недопустима смена товара
12 - товар не найден
13 - товар является услугой
14 - недопустимая единица измерения товара
15 - недопустимая доп. единица измерения с/в или недопустимое кол-во
16 - неверное количество
17 - неверная сумма
18 - неверный НДС
19 - неверный НСП
20 - запись не найдена при обновлении/удалении
21 - неверный тип записи при обновлении/удалении
22 - для данной к, д/к склады должны быть различны, т.к. в приходной и расходной части присутствуют одинаковые номенклатуры
23 - запись о приходе, на кот. ссылается запись о расходе,находится в закрытом периоде
 

Прочие ошибки

30 - процедура получает неверный параметр
31 - Наименование (имя) должно быть уникальным
32 - Аббревиатура должна быть уникальна
33 - Код должен быть уникальным
34 - Имя должно быть непустым
35 - Аббревиатура должна быть непустой
36 - Код должен быть непустым
37 - не найдена родительская запись / вершина в дереве
38 - не найдена запись
39 - операция невыполнима (в данном контексте)
40 - попытка создать слишком много складов
41 - невозможно удалить базовую валюту
42 - нельзя задать курс для базовой валюты
43 - нельзя изменить базовую валюту - на нее есть ссылки
44 - нельзя создать новый или модифицировать старый корень дерева
45 - нельзя удалить вершину дерева
46 - поставщик должен быть определен
47 - неверный тип корреспондента
48 - не найдена запись о корреспонденте
49 - не найден заголовок документа или неверный тип документа
50 - неверный идентификатор базовой валюты
51 - период закрыт
52 - пользователь не имеет прав на операцию со складом
53 - пользователь не имеет прав на данный тип учета
54 - пользователь не имеет прав на документ с такой степенью активности
55 - некорректно задан курс на накладной
56 - номер документа должен быть не пустой
57 - номер документа должен быть уникальным
58 - неверный идентификатор валюты
60 - нет прав на открытие периода
61 - неверное значение курса валюты
62 - нет подходящего значения DocRec::Order
63 - в режиме отладки найдена ошибка в накладных
64 - поставщик и получатель должны быть различны
65 - пользователь не имеет прав на повышение уровня блокировки накладной
66 - накладная блокирована создавшим ее пользователем
67 - накладная сгенерирована автоматически, нельзя менять детайлы, дату, корреспондентов и т.п.
68 - пользователю назначен склад, и в отчете в кач-ве фильтра не передан склад пользователя
69 - комплект не найден
70 - невозможно удалить валюту, т.к. на нее ссылаются накладные
71 - невозможно удалить корреспондента, т.к. на него ссылаются накладные
72 - не найдена валюта с указанным ключом
73 - не найдена категория
74 - неизвестное значение фильтра суммы бух. операции
75 - бух. операция не найдена или несовместима с накладной данного типа
76 - Тип накладной не может быть исключен из операции, т.к. операция является умолчательной для накладной данного типа
77 - Тип накладной не может быть исключен из операции, т.к. операция используется накладной данного типа
78 - Нельзя удалить операцию - на нее есть ссылки в списке операций по умолчанию накладных
79 - Счет-фактура для накладной уже создана
89 - Счет-фактура не найдена
90 - номер счета-фактуры должен быть не пустой
91 - номер счета-фактуры должен быть уникальным
92 - имя параметра д.б. уникально + строка
93 - Имя должно быть непустым
94 - Не найден атрибут корреспондента с заданным id
95 - несовместимый с типом корреспондента атрибут корреспондента
96 - атрибут используется корреспондентом/собсв.реквизитами и не м.б. удален/отменен
97 - Наименование (имя) должно быть уникальным + строка
98 - Аббревиатура должна быть уникально + строка
99 - Код должен быть уникальным + строка
100 - недопустимое имя параметра
101 - невозможно удалить валюту, т.к. на нее ссылаются платежные документы
102 - для данной накладной уже создан ПД, имеющий флаг phdrSumDef. Этот ПД должен быть единственным для накладной
103 - ПД с флагом phdrSumDef должен быть единственным для накладной
104 - не найден заголовок платежного документа
105 - неверная сумма платежного документа (<= 0)
106 - ставка НДС в суммах платежного документа должна быть уникальна
107 - тип платежного документа несовместим с типом накладной
108 - неизвестный тип платежного документа
109 - номер ПД должен быть не пустой
110 - номер ПД должен быть уникальным
111 - период закрыт - операция над накладной невыполнима
112 - период закрыт - операция над платежным документом невыполнима
113 - пользователь не имеет прав на документ с такой степенью активности
114 - платежный документ блокирован создавшим его пользователем
115 - пользователь не имеет прав на повышение уровня блокировки платежного документа
116 - период закрыт - операция над счетом-фактурой невыполнима
117 - Тип платежного документа не может быть исключен из операции, т.к. операция является умолчательной для ПД данного типа
118 - Тип платежного документа не может быть исключен из операции, т.к. операция используется ПД данного типа
119 - Нельзя удалить операцию - на нее есть ссылки в списке операций по умолчанию платежных документов
120 - бух. операция не найдена или несовместима с платежным документом данного типа
121 - Накладная может быть заблокирована только пользователем, создавшим эту накладную
122 - Счет-фактура может быть заблокирована только пользователем, создавшим эту счет-фактуру
123 - Платежный документ может быть заблокирована только пользователем, создавшим этот платежный документ
124 - платежный документ сгенерирован автоматически, нельзя менять детайлы, дату, корреспондентов и т.п.
125 - ошибка проверки ключа
126 - ошибка проверки ключа
127 - ошибка проверки ключа
128 - ошибка проверки ключа
129 - ошибка проверки ключа
130 - пользователь не имеет прав на документ с такой степенью активности
131 - счет-фактура блокирована создавшим ее пользователем
132 - пользователь не имеет прав на повышение уровня блокировки счет-фактуры
133 - нет прав на выполнение процедуры удаления счета-фактуры (при каскадном удалении СФ при удалении накладной)
134 - нет прав на выполнение процедуры удаления платежного документа (при каскадном удалении ПД при удалении накладной)
135 - платежный документ не может быть создан, т.к. не может быть вычислена сумма накладной, связанной с этим документом
136 - платежный документ не может быть создан, т.к. сумма связанной с ним накладной равна нулю
137 - новая накладная в БД вклинилась между накладными переданными в кач-ве параметров в процедуру DocMoveEx()
138 - ошибка отладки
139 - ошибка проверки ключа
140 - операция невыполнима при установленном ограничении на склады
141 - не найден заголовок шаблона накладной
142 - товар не найден
143 - товар является услугой
144 - недопустимая единица измерения товара
145 - неверное количество
146 - неверная сумма
147 - неверный НДС
148 - неверный НСП
149 - невозможно удалить корреспондента, т.к. на него ссылаются шаблоны накладных
150 - Типы накладных не могут быть исключены из операции, т.к. операция используется шаблонами накладных
151 - атрибут используется накладными и не м.б. удален
152 - невозможно копирование накладных возврата поставщику и списания товара.
153 - атрибут используется платежным документом и не м.б. удален
....
157 - закрытый период
 
500 - недопустимо удаление баз. ед. изм.
501 - недопустимо изменение типа категории
502 - недопустимо изменение группы для ед. изм.
503 - ед. изм. не определена для товара
504 - налоговая ставка должна быть уникальна
505 - циклическая ссылка в рецептах
506 - макс. запас меньше мин. запаса
507 - доп. кол-во меньше массы тары
508 - доп. кол-во больше 1 основной ед. изм. документа
509 - неопределена базовая ед. изм. товара
510 - налоговая ставка должна быть в интервале [0,100]
511 - невозможно изменить баз. ед. изм.
512 - норма закладки должна быть положительна
513 - коэффициент должен быть положителен
514 - товар связан с группой замен
515 - недопустимо изменение типа товара (накладные)
516 - недопустимо связывание комплекта с товаром (несоответствие ед. изм.)
517 - на корреспондента есть ссылки в документах расхода - удаление невозможно
518 - на товар есть ссылки в накладных - удаление невозможно
519 - на комплект есть ссылки в накладных - удаление невозможно
520 - на ед. изм. есть ссылки в накладных - удаление невозможно
521 - недопустимое значение % обработки
522 - ед. изм. компонента должна быть определена
523 - недопустимое значение брутто компонента
524 - недопустимо задание брутто компонента в %% для комплектов, не являющихся модификаторами
525 - недопустимо изменение флага "Модификатор". Комплект используется в документах
526 - на товар есть ссылки в комплектах - удаление невозможно
527 - на товар есть ссылки в документах расхода - удаление невозможно
528 - для ссылки не указан товар
529 - недопустимо создание более 1 группы "для модификаторов"
530 - недопустимо создание корневой группы (превышено ограничение)
531 - недопустимо создание товара (превышено ограничение по rid)
532 - недопустимо создание комплекта (превышено ограничение по rid)
533 - неопределена категория товара
534 - неопределена отпускная ставка НДС товара
535 - неопределена отпускная ставка НСП товара
536 - недопустимо изменение документа расхода (он сымпортирован)
537 - наименование категории должно быть уникально
538 - на комплект есть ссылки в документах расхода - удаление невозможно
539 - недопустимо изменение комплекта (комплект используется в накладных)
540 - на комплект есть ссылки в комплектах - удаление невозможно
541 - на ед. изм. есть ссылки в комплектах - удаление невозможно
542 - недопустимо удаление последней корневой вершины
543 - недопустимо изменение ед. изм. нормы закладки комплекта (комплект используется в других комплектах)
544 - Недопустимо изменение параметров документа расхода
545 - Неопределена дата
546 - Кол-во должно быть положительным
547 - Сумма должна быть неотрицательна
548 - неопределена бух. категория товара
550 - недопустимо изменение ед. изм. нормы закладки комплекта (ед. изм. отсутствует у связазанного товара)
551 - комплект не найден (по заданному RID)
552 - недопустимо удаление категории расхода по умолчанию
553 - недопустимо использование комплекта в качестве модификатора и для декомплектаций одновременно
554 - на комплект есть ссылки в товарах - удаление невозможно
555 - на товар есть ссылки в товарах - удаление невозможно
556 - пустой комплект
557 - пустой вложенный комплект
558 - комплект не предназначен для использования в документах декомплектации
559 - не найден заголовок документ расхода (по заданному RID)
560 - недопустимо изменение типа товара (расход)
561 - недопустимо изменение типа товара (комплекты)
562 - недопустимо изменение типа товара (замены)
563 - отсутствует версия комплекта на заданную дату
564 - неопределен склад списания
565 - недопустимо удаление первой версии комплекта
566 - неопределен комплект
567 - неопределено место реализации (для активного документа расхода)
568 - недопустимо удаление нулевой ставки налога
569 - на товар есть ссылки в заменах - удаление невозможно
570 - недопустимо удаление специальной ед. изм.
571 - период закрыт - операция над документом расхода невыполнима
572 - документ расхода блокирован создавшим его пользователем
573 - документ расхода может быть заблокирована только создавшим его пользователем
574 -  пользователь не имеет прав на повышение уровня блокировки документа расхода
575 - атрибут не найден (по заданному id)
576 - атрибут используется товаром
577 - значение атрибута должно быть числовым
578 - атрибут используется комплектом
579 - не найден заголовок прейскуранта (по заданному RID)
580 - неуникальная пара товар + ед. изм. в прейскуранте
581 - прейскурант блокирован создавшим его пользователем
582 - прейскурант может быть заблокирована только создавшим его пользователем
583 - пользователь не имеет прав на повышение уровня блокировки прейскуранта
584 - период закрыт - операция над прейскурантом невыполнима
585 - коэффициент для ед. изм. должен быть положительный
586 - товар не найден (по заданному RID)
587 - на ед. изм. есть ссылки в прейскурантах - удаление невозможно
588 - на товар есть ссылки в прейскурантах - удаление невозможно
589 - недопустимо изменение типа товара (прейскурант)
590 - недопустимо изменение типа товара (на него ссылаются другие товары)
591 - недопустимо изменение типа товара (объект ссылки в расходе)
592 - для товара-ссылкы не найден товар или он неверного типа
593 - баркод должен быть уникален
594 - недопустима ссылка товара на самого себя
595 - недопустимо изменение типа комплекта
596 - недопустимо изменение типа комплекта
597 - невозможно удалить категорию расхода, т.к. она используется в доп. настройках импорта расхода
598 - недопустимо использование товара данного типа
599 - на ед. изм. есть ссылки в документах расхода - удаление невозможно
600 - Недопустимо удаление связи с комплектом, т.к. он является используемым по умолчанию.
601 - недопустимо изменение типа товара (шаблоны накладных)
602 - на товар есть ссылки в шаблонах накладных - удаление невозможно
603 - на ед. изм. есть ссылки в шаблонах накладных - удаление невозможно
604 - на комплект есть ссылки в шаблонах накладных - удаление невозможно
605 - кол-во интервалов при XYZ анализе превышает максимально допустимое (255)
606 - некорректная запись о замене
607 - не найден интервал при XYZ анализе
608 - не найден элемент списка для аггрегирования значений при XYZ анализе
609 - неуникальная категория расхода в списке для автоматического создания накладных
610 - сумма процентов цены компонентов комплекта не равна 100
611 - товарная группа не найдена (по заданному RID)
612 - sNullDepartIdName
613 - компонент-товар не найден (по заданному RID)
614 - компонент-комплект не найден (по заданному RID)
615 - группа складов не найдена (по наименованию)
616 - недопустимо изменение объекта классификации
617 - для ссылки возможно определить не более 1 е. и.
618 - е. и. ссылки неопределена у товара-объекта
619 - значение классификатора используется для объекта
620 - классификатор не найден (по заданному RID)
621 - дублирование в порядке компонентов комплекта
649 - Недопустимо изменение баз. ед. изм. товара - он используется в документах расхода

Ошибки процедур импорта

650 - не найдена вершина-родитель
651 - не найдена группа станций
652 - не найден товар для модификатора
653 - не найден товар для спецификации расхода
654 - документ расхода уже существует
655 - добавлен новый документ расхода
656 - недопустимо добавление модификатора для расхода услуги
657 - для склада неопределена категория расхода
658 - недопустимо добавление услуги в качестве модификатора
659 - созданные за дату документы расхода удалены
 

Ошибки и методы их решения

 
Название ошибки Полный текст ошибки Описание ошибки и метод решения
Ошибка менеджера данных 15 Поле-источник данных должно содержать значение для записи потока. Ошибка менеджера данных 15. Тег поля: {216.2.0}

Причин ошибки может быть несколько: 

  • в менеджерской базе в словаре валют содержиться некорректная информация (например валюта без названия). При этом валюта может быть также удаленной - в таком случае надо проверять таблицу Money_.DB 
  • в R-Kepeer есть блюдо с нулевой (удаленной) группой станции - в этом случае за данный день надо забить расход блюд в БД SHouse вручную 
  • версия транспорта данных SH4 (ImportRK.exe) не соответствует версии сервера SH4 – нужно привести версии программ в соответствия друг другу

В случае если выгрузка идет из РК7: - снять флаг в параметре \Установочные\Связь с другими системами\Альт.названия. Т.е. поле альт. название заполнять не нужно, а просто отключить экспорт альт. названий в SH4. После этого, импорт меню и расхода должен пройти успешно.

Ошибка сервера Sdbserv 153 Ошибка Sdbserv 153: Слишком большая высота дерева индекса "iCmltemsHdrRefs"

При входе в товарные группы, калькуляции, а также утилиту проверки базы данных, появляется след. сообщение: "Ошибка сервера Sdbserv 153,Объект = "iCmltemsHdrRefs". Параметр = 0. Ошибка Win32 = 0.Слишком большая высота дерева индекса "iCmltemsHdrRefs".
Также невозможно войти в некоторые калькуляции и документы, причем те которые уже проведены.

Решение:
Скорее всего, повреждена база данных. Можно попробовать ее восстановить, но гарантий никаких нет. Для этого необходимо создать запрос в трекере (http://tracker.ucs.ru), в который обязательно вложить проблемную базу (если backup\restore проходит, то вкладывать backup базы в архиве (rar, zip); если нет, то вложить оригинал также в архиве)

Как вариант решения - восстановить backup, который сформирован до повреждения и заполнить базу недостающими документами.

Ошибка: Исключение процедуры сервера - 503 Ошибка: Исключение процедуры сервера - 503 (Не определена единица измерения товара)

Описание: Эта ошибка возникает при формировании списка документов, в частности документов расхода или при импорте расхода из базы ркипера. Backup-Restore базы не помогает. При проверке накладных SHCheck Utility - эта ошибка проявляется и не исправляется.

Решение: Нужно выполнить процедуру ChkGsMUnitRef (из библиотеки SHSERV.DLL) - после его выполнения в текстовом логе сервера (по умолчанию, sdb.txt) появятся строки вида  "__ LOST MUNIT __ ... ", в которых указаны наименования и коды товаров и наименования ед. изм., которые к ним надо добавить.

Не найдена товарная группа внешний код %Х Не найдена товарная группа внешний код %Х. Исключение процедуры сервера.

Ошибка возникает при импорте товаров (меню и модификаторы).

R-Keeper v7

В случае использования RK7 следует проверить, нет ли НЕ удаленных блюд (черновики, активные) в удаленных группах меню.

В общем для RK7 универсального решения нет - дополнительно можно посмотреть на трекере задачи http://tracker.ucs.ru:8080/redmine/issues/20726 и http://tracker.ucs.ru:8080/redmine/issues/24364, а также связанными с ними задачи.

Не найдено поле DEPART в таблице ACHECK Field not found file C:\RK6\DB\ARK6.UDB table ACHECK field DEPART Ошибка возникает при импорте словарей (меню). Решение: обновить библиотеку SHTR.DLL на версию не ниже 1.13.9.1
Не найден товар для модификатора. Не найден товар для модификатора. Обновить SHTR.DLL на версию не ниже 1.13.9.1
Исключение процедуры сервера 563 Отсутствует версия комплекта на заданную дату (Исключение процедуры сервера 563) Если SHCheck и диагностика ошибок не выдают, то надо удалить данный комплект и завести его заново.
Также подобная ошибка бывает следствием при обновлении SHouse v3 на SHouse v4. Вполне вероятно во вновь создаваемые блюда входят полуфабрикаты перенесенные из старого склада. И у данных полуфабрикатов отсутствуют периоды на определенные даты, т.е. имеет место конфликт между периодами комплектов блюда и входящих в него составляющих.
Еще один варианет появляния ошибки - когда в новый, создаваемый в SH4 комплект, входили комплекты, перекачанные из SH3. Решение - выполнение процедуры SetStartCmHdrDate из shfix.dll версии 4.49.86
Исключение процедуры сервера 37 Не найдена вершина в дереве/мастерзапись (Исключение процедуры сервера 37) Необходимо сделать обновление версии программы.
Недопустимое имя параметра "%S" Недопустимое имя параметра "%S". Исключение процедуры сервера 100 Данная ошибка выдается при открытии карты комплекта. Проблема решается обновлением версии программы и удалением последнего периода действия комлекта. Если период не удаляется, удаляется сам комплект и заводится заново.
Цена не может быть отрицательной. При импорте расхода возникает ошибка "Цена не может быть отрицательной" Проблема решается выполнением процедуры ZeroGsInPrice c использование специальной библиотеки ShFix.dll
DLL exception: Field 'NALOG' not found. DLL exception: Field 'NALOG' not found. Данная ошибка появляется при импорте меню. Проблема решается повышением версии RK6.
DLL exception: Invalid pointer operation. DLL exception: Invalid pointer operation. Посмотреть в отчетах R-Keeper v6 расход блюд за данный период. При наличии неизвестных блюд или знаков "???" исправлять БД R-Keeper v6
Could not convert variant of type (String) into type (Double) Could not convert variant of type (String) into type (Double) Ошибка возникает при добавлении товара в комплект. Решение проблемы - обновление версии программы. Или как временный вариант: в меню Сервис->Настройки склада->Комплекты - снять галочку "Автоматически подставлять проценты обработки"
Неизвестное исключение процедуры сервера 606 Некорректная запись о замене для товара <наименование_товара>. Неизвестное исключение процедуры сервера 606 Ошибка возникает при построениии списка накладных. Решение проблемы - обновление версии программы.
Не найден товар для спецификации расхода Не найден товар для спецификации расхода. Внешний код XXX

Данные решения указанной проблемы нельзя применять в случае использования SH4 HeadOffice

Ошибка возникает при импорте расхода блюд. В качестве значения ХХХ указывается ШИФР проблемного блюда (модификатора, категории) в шестнадцатиричном виде (HEX) - например, значение 244Е соотв. десятичному 9294.

Вариант №1

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

Если проблема не связана с блюдами, надо аналогичным образом проверить другие таблицы (categ.db, modify.db)

Вариант №2

Ошибка может возникать при использовании библиотеки SHTR.DLL, предназначенной для SH4 HeadOffice. В таком случае необходимо заменить ее на стандартную библиотеку SHTR.DLL.

Неверная контрольная сумма ключа защиты Неверная контрольная сумма ключа защиты. - Ошибка возникает при входе в программу и устраняется заменой ключа. - Либо не совпадает версия программы с прошивкой ключа.
Дублирование в порядке компонентов комплекта Исключение процедуры сервера 621

Возникает при попытке открыть комплект или список комплектов.

Решение проблемы:

1. Если версия склада ниже 4.62, скопировать в любое место библиотеку ShServ.dll. ВАЖНО: библиотеку НЕ НУЖНО подменять в SDBSrv!
Если версия склада 4.62 и выше, процедуру можно запускать из стандартной библиотеки, входящей в инсталляцию. Если в стандартной библиотеке (даже версии 4.62 и выше) процедура все же не найдена, используем вышеуказанную библиотеку.
2. Запустить Sdbman.exe
3. Выбрать пункт "Прочее", далее "Выполнить запрос"
4. В поле "Процедура" указать имя процедуры SetCmItemsOrder
5. В поле "Библиотека" указать полный путь к скопированному файлу ShServ.dll (для версии ниже 4.62) или для текущей, из рабочей директории SDBSrv (для версии выше 4.62)
6. Выполнить запрос с помощью иконки на панели задач либо выбрав соотв. пункт в меню.

Undefined symbol "PRINTCOLOR" Undefined symbol "PRINTCOLOR" Ошибка возникает при попытке распечатать из спец.ведомости остатков форму "Заказ". Решение проблемы - обновление формы REP_SPECZAKAZ.frf
Код ошибки WinSock 10038 Невозможна операция записи (5064). Код ошибки WinSock 10038. Ошибка выдается при построении баланса счетов. Проблема решается увеличением таймаута на сервере и клиенте.
Адрес процедуры "DocHdrAttrList" неизвестен Ошибка процедуры сервера Sdbserv 84. Объект = "DocHdrAttrList". параметр = 0. Ошибка Win 32 = 0. Возникает при попытке добавить атрибут заголовка документа. Решение: обновить ShServ.dll - должна быть не ниже версии 4.48.86.
An error occured while attempting to initialize the Borland Data Base Engine (error $210A) An error occured while attempting to initialize the Borland Data Base Engine (error $210A) Возникает при попытке импорте меню. Решение: установить BDE
Database not supported Database not supported Ошибка возникает при импорте из R-Keeper и заключается в несоответствии версии библиотеки rklogin.dll и накопительной базы данных ARK6.UDB . Проблема устраняется копированием библиотеки rklogin.dll из рабочего каталога RK6 в директорию SH4 (откуда запускается транспорт данных ImportRK.exe)
Ошибка сервера Sdbserv 72 Нарушение условий ссылочной целостности внешнего ключа "fk_ExpSpecs0_CmRef": мастер-запись не найдена. Ошибка сервера Sdbserv 72. Объект = "fk_ExpSpecs0_CmRef". Параметр = 0. Ошибка Win32=0. Ошибка появляется при импорте меню. Для решения проблемы необходимо выполнить обновление программы SHouse до последней, затем выполнить процедуру CheckGsCmRef используя библиотеку SH_CRTDB.DLL.
Комплект не найден (по заданному RID) Комплект не найден (по заданному RID) Ошибка появляется при открытии группы блюд. Для решения проблемы необходимо выполнить обновление программы SHouse до последней, затем выполнить процедуру CheckGsCmRef используя библиотеку SH_CRTDB.DLL.
Floating point overflow Floating point overflow Данная ошибка появляется при печати отчетов. Проблема связана с ошибками в печатной форме для данного отчета (возможно после изменения ее самими пользователями). Решение проблемы - замена печатной формы, на рабочую печатную форму (стандартную) того же отчета.
Printing in progress Printing in progress Данная ошибка появляется при печати отчетов. Проблема связана с ошибками в печатной форме для данного отчета (возможно после изменения ее самими пользователями). Решение проблемы - замена печатной формы, на рабочую печатную форму (стандартную) того же отчета.
DLL exeption: Index is out of date DLL exeption: Index is out of date. Index: Iparent. Ошибка появляется при импорте данных из БД RKepeer. Для решения проблемы необходимо сделать реиндексацию БД RKepeer с помощью утилиты REIND32.EXE и повторить импорт данных в SHouse.
Ошибка сервера Sdbserv 77 Нарушение условия уникальности индекса "uiExpM0". Ошибка сервера Sdbserv 77. Объект = "uiExpMO"

Есть несколько причин возникновения ошибки и методов ее решения:

1. Ошибка возникает при импорте расхода блюд из R-Keeper v6 или v7 и объясняется тем, что в таблице expm0 лежит много мусора. Таким образом, импорт расхода за некоторые дни может не проходить. Решение: выполнить процедуру ChkExpM из прилагаемой ShServ.dll. Для версии SH4.52 требуется модифицированная ShServ.dll, с версии SH4.53 эта процедура станет стандартной.

2. Блюдо было удалено вручную и в menu.db и в menu_.db. Решение: расход блюд не импортируется за этот день в SH4, а забивается вручную.

3. В SH4 некоторые модификаторы могут в свойствах иметь тип "ССЫЛКА" - так делать нельзя и это может быть причиной данной ошибки. Решение: нужно что бы все модификаторы имели тип "ТОВАР". (Проверялось на версии SH 4.60).

4. Если данные импортируются из RK7, необходимо параметр в RK7 "Не передавать тип заказа (SH4UsesDefaultCOT)" выставить в TRUE.

Нарушение условия уникальности индекса pkDocSpecs0 Нарушение условия уникальности индекса pkDocSpecs0

Дополнительная информация:

- диагностика база данных находит много потерянных страниц и также ссылается на индекс pkDocSpecs0. Backup базы проходит успешно, но восстановить из этого архива базу невозможно.

Решение:

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

- создать запрос в трекере (http://tracker.ucs.ru), вложить в него проблемную базу (backup не подходит!), предварительно сделав архив с помощью WinRAR (или любого другого архиватора) и ожидать восстановления базы

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

Количество должно быть больше нуля Количество должно быть больше нуля

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

- в накопительной базе R-Keeper v6 есть чеки, которые были оплачены одной валютой, а сдача оформлена другой (как правило, ошибка персонала). Если оплата комбинированная, то сдача должна быть в любой из валют оплаты - в таком случае проблема не возникает.

- в накопительной базе R-Keeper v6 есть чеки, в оплате которых по одной из валют нулевая сумма. Эта ситуация возникает очень редко и является нештатной (сбой системы). Следует заметить, что это не относится к чекам без оплаты (которые обрабатываются нормально) - проблема возникает только в том случае, когда в таблице PCHECK.DB (оплата чеков) для одного чека существует несколько записей, одна из который с нулевой суммой.

Для решения проблемы потребуется исправлять исходные данные закрытого дня (каталог OLDRES)

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

SELECT * FROM 'C:\UCS\PCHECK.DB' AS a, 'C:\UCS\PCHECK.DB' AS b WHERE (a.Cnum = b.Cnum AND a.Curency <> b.Curency)

ВАЖНО: Запрос возвращает не только проблемные записи, но и записи с комбинированной оплатой - будьте внимательны!

Во втором случае нужно просмотреть все записи в таблице PCHECK.DB и удалить проблемную.

No measure unit is set for the product. When trying to perform expenditure, system shows error "No measure unit is set for the product."

Sometimes system shows error "No measure unit is set for the product." when trying to perform expenditure.
To check which products have problem with m. units perform following:

1. Using SDBMAN execute query (Service -> Execute query) on procedure "ChkGsMUnitRef" in ShServ.dll
2. Open server log (usually ...\UCS\SDBSrv\SDB.TXT). This file will show info about products, which have problems with m. units. The line should start with __ LOST MUNIT __ goods:.
3. Fix m. units for indicated products.

Ошибка менеджера данных 16. Тэг поля:{200.3.0} Слишком длинная строка для присваивания

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

Причина: у комплекта макс длинна аббревиатуры 16 символов, у товара – 20. При создании комплекта на основе товара не отрезались лишние символы до версии 4.72

Решение:

Выполнить процедуру CutCmBaseAttr из библиотеки SHFix.dll версии 4.70.159.0 от 05.08.10

Неизвестное исключение процедуры сервера 72 Неизвестное исключение процедуры сервера 72 При формировании отчета "Анализ неплатильщиков" в SHUtils, может возникнуть данная ошибка. Подробное описание причин возникновения есть на http://tracker.ucs.ru/view.php?id=7273
Решение:обновить текущую версию SHUtils до версии 4.19.41.0
Несуществующие модификаторы при списании При списании документа расхода к товарам без модификаторов, прикрепляются несуществующие модификаторы. При пересписании документа, данные позиции могут уже не подкрепляться

Нечто подобное обсуждалось на трекере - например, запрос 0005967.

Решение:

1. Сделать бэкап БД.
2. Выполнить процедуру DelWrongExpM (указав в поле библиотеки обновленную ShFix.dll версии не ниже 4.70.159.0)
3. В логе сервера (SDB.TXT) после выполнения этого запроса должен отобразиться протокол количества удаленных позиций.

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

Обновленная ShFix.dll находится на ФТП (ftp://.../dealers/storehouse/sh4/shfix/). Также ее можно скачать с трекера - номер обращения 0005967 (http://tracker.ucs.ru/view.php?id=5967), вложенный архив ShFix4_70_159.rar

Не работает назначение комплекта в SH 4.92 Не корректно отрабатывает назначение комплекта в SH 4.92
- В версии сервера 4.92 при работе с "учет/спец. учет" некорректно отрабатывает назначение комплекта по-умолчанию. Если делать в учете, то не назначается в спец. учете (и наоборот). 
- Решение: сделать обновление SH  до версии 4.93 и выполнить запрос UpdGsCmRef  из библиотеки SHFix.DLL 4.84.222.0 - что назначит "неназначенные" комплекты по-умолчанию
Error - Sdbserv 70 Ошибка чтения потока - Ошибка сервера Sdbserv 70

Воспроизводится:
1. Документы -> Кореспонденты -> Места реализации
2. Добавляем новое место реализации
3. Сохраняем
4. Вылетает окно с ошибкой.
Решение:
Ошибка возникает если при создании места реализации, в поле код указать трехзначное (или больше) значение. Код должен быть - ДВУХЗНАЧНЫМ!

P.S> решен запрос на трекере - №28093

Не сходятся остатки на конец-начало периода Не сходятся суммы остатков конца одного периода с началом следующего периода в товарном отчете

Решение:
Апгрейд SH4 до актуальных версий и выполнение следующих процедур:
1. Процедура ChkDoc12 проверяет замены и в случае обнаружения расхождений пишет в > текстовый лог (SDB.TXT) строки вида:
doc _номер документа_ saved _сохр. кол-во_ calc _расчетное кол-во_
2. Процедура RepDoc12 делает тоже самое плюс пытается это исправить (сохранить другое кол-во).

Предполагается вызывать так (в качестве библиотеки указывать SHSERV.DLL с версии SH 4.94):
ChkDoc12
- посмотреть лог, если есть проблемы, то
RepDoc12
- снова проверить ChkDoc12. (Перед применением RepDoc12 не забыть сделать резервную копию БД).

Внимание! Ошибки при работе SHC.EXE могут остаться. Главное, чтобы отчет сходился! На современных версиях SH 4.90 и выше, после правки можно воспользоваться SHC для исправления оставшихся после правки логических ошибок до полного исправления БД.

3. Если не помогают вышеописанные процедуры, выполнить процедуру

fix_002

- из актуальной для используемого SH версии SHFIX.DLL. Для старых версий SH (ниже 4.90) может не сработать, тогда выполнить после обновления ПО до актуальной версии.

 

Коды ошибок WinSock

Введение

При некорректном окончании работы программы StoreHouse v4 в сообщении об ошибке очень часто указывается код ошибки "WinSock" - расшифровку таже можно посмотреть в таблице ниже.                 

Коды ошибок

Код ошибки Winsock Краткое описание сущности ошибки
10004 Операция блокирования прервана вызовом WSACancelBlockingCall.10009 Предоставленный дескриптор файла неверен.
10013 Сделана попытка доступа к сокету методом, запрещенным правами доступа.
10014 Система обнаружила недопустимый указатель адреса при попытке использовать в вызове аргумент указателя.
10022 Получен недопустимый аргумент.
10024 Открыто слишком много сокетов.
10035 Операция на незаблокированном сокете не может быть завершена немедленно.
10036 Сейчас выполняется операция блокировки.
10037 На незаблокированном сокете сделана попытка выполнить операцию при наличии другой выполняемой операции.
10038 Сделана попытка выполнить операцию на объекте, не являющемся сокетом.
10039 В операции на сокете пропущен обязательный адрес.
10040 Сообщение, отправленное на сокет датаграмм, было больше, чем буфер внутренних сообщений или был превышен иной сетевой параметр. Также возможно, что буфер для принятия сообщения был меньше, чем размер сообщения.
10041 Протокол, указанный в вызове функции сокета, не поддерживает такую семантику для требуемого типа сокета.
10042 Для вызова getsockopt или setsockopt был указан неизвестный, недопустимый или неподдерживаемый параметр или уровень.
10043 Требуемый протокол не настроен в данной системе, или не существует его реализации.
10044 Поддержка указанного типа сокетов в этом семействе адресов отсутствует.
10045 Предпринятая операция не поддерживается для выбранного типа объекта.
10046 Данное семейство протоколов не настроено в системе, или оно не реализовано.
10047 Адрес несовместим с выбранным протоколом.
10048 Обычно разрешается одно использование адреса сокета (протокол/сетевой адрес/порт).
10049 Требуемый адрес для своего контекста неверен.
10050 Операция на сокете обнаружила отключение сети.
10051 Сделана попытка выполнить операцию на сокете при отключенной сети.
10052 Подключение было разорвано из-за ошибки во время выполнения операции.
10053 Программа на вашем хост-компьютере разорвала установленное подключение.
10054 Удаленный хост принудительно разорвал существующее подключение.
10055 Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена.
10056 Сделан запрос на подключение для уже подключенного сокета.
10057 Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied.
10058 Запрос на отправку или получение данных был запрещен, т.к. сокет уже отключен в данном направлении на основании прежней запроса на его отключение.
10059 Слишком много ссылок на некоторый ключевой объект.
10060
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
10061 Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
10062 Не удается преобразовать имя.
10063 Компонент имени или все имя слишком длинно.
10064 Произошла ошибка операции на сокете, т.к. конечный хост выключен.
10065 Сделана попытка выполнить операцию на сокете для недоступного хоста.
10066 Нельзя удалить пустой каталог.
10067 Реализация Windows Sockets может иметь ограничения на количество одновременно выполняющихся приложений.
10068 Квота исчерпана.
10069 Дисковая квота исчерпана.
10070 Ссылка дескриптора файла более недоступна.
10071 Элемент локально недоступен.
10091 WSAStartup не может выполняться в данное время, т.к. недоступна основная система, используемая для работы сетевых служб .
10092 Указанная версия Windows Sockets не поддерживается.
10093 Или приложение не вызвало WSAStartup, или произошла ошибка в WSAStartup.
10101 Возвращено WSARecv или WSARecvFrom, чтобы показать - удаленная сторона инициировала правильную последовательность отключения.
10102 WSALookupServiceNext не может возвратить каких-либо дополнительных результатов.
10103 Был сделан вызов WSALookupServiceEnd, когда этот вызов еще обрабатывался. Обрабатываемый вызов был прерван.
10104 Недопустимая таблица вызова процедуры.
10105 Недопустимый поставщик услуг.
10106 Не удается загрузить или инициализировать нужного поставщика услуг.
10107 Произошла ошибка системного вызова, что недопустимо.
10108 Неизвестная служба. Эта служба отсутствует в указанном пространстве имен.
10109 Указанный класс не найден.
10110 WSALookupServiceNext не может возвратить каких-либо дополнительных результатов. 
10111  Был сделан вызов WSALookupServiceEnd, когда этот вызов еще обрабатывался. Обрабатываемый вызов был прерван. 
 10112 Произошла ошибка запроса к базе данных, т.к. запрос был активно отвергнут. 
11001 Этот хост неизвестен.Возможно, отсутствует связь, или не указан прокси сервер.
11002 Обычно - это временная ошибка, возникающая во время разрешения имени узла, и означающая, что локальный сервер не получил ответа от заслуживающего доверие сервера.
11003 При просмотре базы данных произошла неисправимая ошибка.
11004 Затребованное имя допустимо и оно найдено в базе данных, но для имени отсутствуют связанные с ним данные, которые были разрешены для него.
11005 Получен по меньшей мере один резерв.
11006 Получен по меньшей мере один путь.
11007 Отправители отсутствуют.
11008 Получатели отсутствуют.
11009 Резерв подтвержден.
11010 Произошла ошибка из-за недостатка ресурсов.
11011 Отвергнуто по административным причинам - неправильные учетные данные.
11012 Неизвестный или вызывающий конфликты стиль.
11013 Обнаружена проблема общего типа с буфером filterspec или providerspecific.
11014 Обнаружена проблема с частью "flowspec".
11015 Общая ошибка QOS.
11016 В спецификаторах потока найден недопустимый или нераспознанный тип службы.
11017 Недопустимый или нераспознанный спецификатор потока был найден в структуре QOS.
11018 Недопустимый буфер QOS, определяемый поставщиком.
11019 Использован недопустимый стиль фильтра QOS.
11020 Использован недопустимый стиль фильтра QOS.
11021 В FLOWDESCRIPTOR был задан неверный номер QOS FILTERSPEC.
11022 В определяемом поставщиком буфере QOS задан объект с неверным полем ObjectLength.
11023 В структуре QOS заданы неверные номера дескрипторов потока.
11024 В буфере QOS, задаваемом поставщиком, найден нераспознанный объект.
11025 В буфере QOS, задаваемом поставщиком, найден объект с недопустимой политикой. 
 11026 В списке дескрипторов потока обнаружен недопустимый дескриптор потока QOS. 
11027 Недопустимый или нераспознанный спецификатор потока обнаружен в буфере QOS, определяемом поставщиком.
11028 Недопустимый FILTERSPEC обнаружен в буфере QOS, определяемом поставщиком.
11029 Недопустимый объект режима изменения формы обнаружен в буфере QOS, определяемом поставщиком.
11030 Недопустимый объект формирования уровня обнаружен в буфере QOS, определяемом поставщиком.
11031 Зарезервированный элемент политики обнаружен в буфере QOS, определяемом поставщиком.

Описание полей БД SH4

1. Свойства

1.1. Атрибуты

Печать атрибутов:

Собственные реквизиты (определены для любого отчета)
OPV(OA,A,0) где A атрибут

Доп. атрибуты корреспондентов
OPV(CA,A,RID) где A атрибут, RID-идентификатор корреспондента
Доп. атрибуты товаров
OPV(GA,A,RID) где A атрибут, RID-идентификатор товара

Доп. атрибуты заголовков комплектов
OPV(CHA,A,RID) где A атрибут, RID-идентификатор заголовка комплекта

Атрибуты спецификаций накладных (числовые)
OPV(DSA, A;S, RID )] где A-атрибут,S - тип учета (0-учет, 1 спец.учет), RID-идентификатор спецификации накладной
Например: для накладной атрибут с номером 100 для обоих учетов [IF(SysFlag=0,[OPV(DSA, 100;0,[Specs."Specs.105.1.1"])],[OPV(DSA, 100;1,[Specs."Specs.105.1.1"])])]
 

Атрибуты заголовков накладных  по аналогии с атрибутами спецификаций
OPV(DHA, A;T;S, RID )] где
  A-атрибут,
  T-тип документа (0 - для накладных, 1- платежные),
  S - тип учета (0-учет, 1 спец.учет),
  RID-идентификатор спецификации накладной
 
Получение наименования , кода валюты
OPV(CYA,$curr_name,RID]
OPV(CYA,$curr_code,RID]
RID-идентификатор валюты

 

1.2. Типы документов

Значения поля DocRec::Type - тип накладной (см. также sh_tags.h)
----------------------------------------------------------------
0 - приходная накладная
4 - расходная накладная
5 - возврат поставщику
6 - списание товара
8 - сличительная ведомость
10 - акт переработки
11 - внутреннее перемещение
12 - комплектация
13 - декомплектация


Битовая маска опций накладной
DocRec::Options (набор значений, объединенных по OR; см. также sh_tags.h)
-------------------------------------------------------------------------------------------------------
1 - селектор типа учета накладной (спецучет, если бит 0 установлен, иначе учет)
2 - флаг активности (накладная активна, если бит 1 установлен)
4 - признак блокировки накладной (накладная блокирована пользователем, создавшим накладную, если бит 2 установлен)
16 - признак связи накладной с др. документами (если бит 4 установлен, то накладная сгенерирована автоматически - недопустима модификация списка товаров, даты, корреспондентов, валюты и курса накладной, флага использования взаимозамен)
32 - флаг использования взаимозамен - только комплектации (если бит 5 установлен, то в комплектации установлен флаг "Использовать взаимозамены")


Битовая маска опций записи накладной
DocSpecRec::Options (см. также sh_tags.h)
------------------------------------------------------------------------------
2 - запись относится к активному документу (может быть неверно при редактировании накладной)
4 - использовать ставку для расчета налога 1 (НДС) (п/н, р/н. Если значение поля == Null, то используется ставка)
8 - использовать ставку для расчета налога 2 (НСП) (п/н, р/н. Если значение поля == Null, то используется ставка)
16 - автоматически рассчитывать цену излишков (для инвентаризации. Если значение поля == Null, то цена рассчитывается автоматически); - списывать по себестоимости (для расходной накладной)
32 - на данной записи хранятся излишки/недостачи (только инвент.; может быть неверно при редактировании накладной)
64 - использовано доп. количество для инвентаризации (только инвент.; может быть неверно при редактировании накладной)


Значения поля PDocRec::Type - тип платежного документа (см. также sh_tags.h)
----------------------------------------------------------------------------
0 - приходный кассовый ордер (п/к)
1 - расходный кассовый ордер (р/к)
2 - приходное платежное поручение (п/п)
3 - расходное платежное поручение (р/п)
4 - приходная платежная операция (п/о)
5 - расходная платежная операция (р/о)


Битовая маска опций платежного документа PDocRec::Options (набор значений, объединенных по OR; см. также sh_tags.h)
-------------------------------------------------------------------------------------------------------------------
1 - документ относится к спец учету
2 - документ активный
4 - документ блокирован создателем документа
8 - автоматически рассчитывать сумму платежного документа на основе связанной накладной
16 - признак связи платежного документа с др. документами (если бит 4 установлен, то платежный документ сгенерирован автоматически - недопустима модификация списка сумм, валюты, курса накладной


Типы группировок отчетов gsfg... (см. также sh_tags.h)
------------------------------------------------------
1 - по дереву товаров
2 - по складам
3 - по товарным категориям
4 - по бух. категориям
5 - по счету-дебет
6 - по счету-кредит


Флаги отчетов drpt... (см. также sh_tags.h)
-------------------------------------------
0x1 - признак учета
0x2 - показывать активные документы, спецификации
0x4 - показывать неактивные документы, спецификации
0x8 - вычислять суммы
0x10 - объединить корреспондентов по AND (список док-тов)
0x10 - группировать по складам (товарный отчет)
0x10 - группировать по корреспондентам (анализ корреспондентов)
0x20 - вычислять остатки
0x40 - показывать с каких приходов/на какие расходы списано
0x80 - включать поддерево товарной группы
0x100 - только не пустые очереди Fifo
0x8 - вычислять номера для создаваемых документов
0x10 - заблокировать созданные документы
0x20 - использовать фильтр по количеству
0x10 - в книге продаж использовать при фильтрации дату накладной


Фильтр суммы на спецификациях бух. операций накладных dsf... (см. также sh_tags.h)
----------------------------------------------------------------------------------
0 - закупочная без налогов (приход)
1 - закупочный НДС (приход)
2 - закупочный НСП (приход)
3 - закупочная с налогами (приход)
4 - закупочная без налогов (расход)
5 - закупочный НДС (расход)
6 - закупочный НСП (расход)
7 - закупочная с налогами (расход)
8 - отпускная без налогов
9 - отпускной НДС
10 - отпускной НСП
11 - отпускная с налогами
12 - наценка без налогов
13 - наценка с налогами


Параметры, кот. определены в любом отчете
--------------------------
"RptDate" Печатать дату печати отчета (числовое значение):
0 - не печатать,
1 - печатать "User" Имя пользователя БД, соединенного с сервером
"DbAlias" Имя сервера
"FCaption" Заголовок формы, для кот. вызван отчет
"FVState" Состояние формы, для кот. вызван отчет (числовое значение):
1 - не модифицирована,
2 - модифицирована,
4 - новая (несохраненная),
16 - только для чтения,
32 - объект, отображаемый формой, удален
"SysFlag" Тип учета формы (числовое значение):
0 - учет,
1 - спецучет, -1 - не поддерживает разделение по учетам
"UDepart" Склад, определенный для пользователя
"SumOpts" Битовая маска опций отображения сумм для учета, определяемого печатаемой формой (числовое значение):
0x1 - показывать закуп. сумму без налогов
0x2 - показывать закупочный НДС
0x4 - показывать закупочный НСП
0x8 - показывать закуп. сумму с налогами
0x10 - вычислять закуп. цену по сумме с налогами
0x100 - показывать отп. сумму без налогов
0x200 - показывать отпускной НДС
0x400 - показывать отпускной НСП
0x800 - показывать отп. сумму с налогами
0x1000 - вычислять отп. цену по сумме с налогами
"BaseCurr" Код базовой валюты
"OrgName" Наименование организации
"EntName" Наименование предприятия


Классы дополнительных параметров
--------------------------------
"OA" Собственные реквизиты (определены для любого отчета)
"CA" Доп. атрибуты корреспондентов (определены в форме накладной, форме счета/фактуры)
"GA" Доп. атрибуты корреспондентов (определены в форме накладной, форме счета/фактуры)


Дополнительные параметры
------------------------
"$corr_type" - тип корреспондента (только для класса "CA"):
"0" - склад,
"1" - юр.лицо,
"2" - физ.лицо,
"3" - спец.корр

2. Поля

+-----------------------------------+
|   Список валют; Свойства валюты   |
+-----------------------------------+

Report      Список вылют (свойства валюта)
------
100.1.0     Ключ (Rid) валюты - внутрениий ключ валюты
100.2.0     Св-ва валюты. Если бит 0 установлен, то валюта базовая. Если бит 1
               установлен, то валюта может быть использована для рассчетов в
               отчетах
100.3.0     Код валюты (напр., "RBL"). Используется для идентификации валюты
100.4.0     Банковский код валюты (напр., "002")
100.5.0     Наименование валюты (напр., "Российский рубль")


+------------------+
|   Курсы валюты   |
+------------------+

Params       Фильтр
------
100.1.1      Ключ (Rid) валюты
100.3.1      Код валюты (напр., "RBL"). Используется для идентификации валюты
0.5.0        Дата курса с
0.6.0        Дата курса по

Report       Курсы
------
104.1.0      Дата курса
104.2.0      Сумма в базовой валюте
104.3.0      Сумма в валюте, для которой строится история курса


+-----------------------------------------------------+
|   Список корреспондентов, карточка корреспондента   |
+-----------------------------------------------------+

Groups       Список групп корреспондентов (только список корреспондентов)
------
101.1.0      Ключ (Rid) группы
101.1.2      Ссылка на родительскую группу (на Rid)
101.1.3      Наименование группы

Report       Список корреспондентов, карточка корреспондента
------
101.1.1      Ссылка на родительскую группу (на Rid в группах)
101.3.1      Наименование группы, которой принадлежит корреспондент (только
             карточка корреспондента)
102.1.0      Ключ (Rid) корреспондента
102.2.0      Тип корреспондента: 0 - склад, 1 - юр. лицо, 2 - физ. лицо,
             3 - спец. корр.
102.3.0      Код корреспондента
102.4.0      Наименование корреспондента
102.5.0      Внутренний номер склада

Attrs        Атрибуты корреспондента (только карточка корреспондента)
-----
111.1.0      Числовой идентификатор корреспондента
111.5.0      Наименование атрибута
0.1.0        Значение атрибута 

+---------------------------------------+
|   План бух. счетов, свойства счета    |
+---------------------------------------+

Report      План бух. счетов, свойства счета
------
106.1.0     Первичный ключ счета/субсчета
106.2.0     Ссылка на родительский счет/субсчет
106.3.0     Код счета/субсчета
106.4.0     Наименование счета/субсчета
106.3.1     Код родительского счета/субсчета (только форма свойств счета)
0.13.0      Уровень дерева (только в списке счетов)


+------------------------------------------+
|   Список бух. операций над накладными    |
+------------------------------------------+

Report      Список операций
------
107.1.0     Первичный ключ (Rid) опреации
107.2.0     Наименование операции
107.3.0     Маска типов накладных (1 << DocRec::Type, объединено по битовому OR),
               к кот. применимы операции

+------------------------------------------+
|   Свойства бух. операции                 |
+------------------------------------------+

Header       Заголовок операции
------
107.1.0     Первичный ключ (Rid) опреации
107.2.0     Наименование операции
107.3.0     Маска типов накладных (1 << DocRec::Type, объединено по битовому OR),
               к кот. применимы операции

Specs        Список проводок
------
106.1.1     Первичный ключ (Rid) счета - дебет
106.3.1     Код счета - дебет
106.1.2     Первичный ключ (Rid) счета - кредит
106.3.2     Код счета - кредит
108.2.0     Коэффициент
108.3.0     Код фильтра по сумме dsf... (что проводится)
0.2.0       Наименование фильтра по сумме (что проводится)
219.1.3     Первичный ключ (Rid) бух. категории
219.2.3     Наименование бух. категории
108.4.0     Описание


+------------------------+
|   Протокол накладных   |
+------------------------+

Params       Фильтр
------
0.1.0        тип накладных: 0 - "созданные/модифицированные/удаленные c"
                1 - "созданные с-по", 2 - "удаленные с-по"
0.2.0        дата с
0.3.0        дата по
0.4.0        максимальная  мин.дата накладной

Report       Протокол
------
103.1.0      Ключ (Rid) накладной (Null для удаленных)
103.3.0      Текущая дата накладной (дата накладной на момент удаления)
103.4.0      Текстовая часть номера накладной
103.5.0      Цифровая часть номера накладной
103.11.0     Битовая маска опций накладной DocRec::Options
103.10.0     Тип накладной DocRec::Type
0.1.0        Мин. дата накладной
0.2.0        Дата/время последнего изменения накладной (Старшее двойное слово - дата,
               младшее двойное слово - время в секундах)
0.4.0        Создавший накладную пользователь
0.5.0        Дата/время создания накладной (Старшее двойное слово - дата,
               младшее двойное слово - время в секундах)
0.7.0        Удаливший накладную пользователь
0.8.0        Дата/время удаления накладной (Старшее двойное слово - дата,
               младшее двойное слово - время в секундах)
0.12.0       Дата последнего изменения накладной
0.15.0       Дата создания накладной
0.18.0       Дата удаления накладной
0.13.0       Время последнего изменения накладной в секундах
0.16.0       Время создания накладной в секундах
0.19.0       Время удаления накладной в секундах


+------------------------+
|   Список накладных     |
+------------------------+

Params       Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска типов документов (1 << DocRec::Type, объединено по битовому OR)
0.4.0        Маска параметров drpt...
100.1.1      Ключ (Rid) валюты, в кот рассчитывать сумму
100.3.1      Код валюты, в кот рассчитывать сумму
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.1.3      Ключ (Rid) корреспондента-получателя
102.4.3      Наименование корреспондента-получателя
102.1.4      Ключ (Rid) отв. лица
102.4.4      Имя отв. лица
100.1.5      Ключ (Rid) валюты накладных
100.3.5      Код валюты накладных

Report       Список накладных
------
103.1.1      Ключ (Rid) накладной
103.3.1      Дата накладной
103.14.1     Стамп даты накладной
103.4.1      Строковая часть номера накладной
103.5.1      Числовая часть номера накладной
103.11.1     Битовая маска опций накладной DocRec::Options
103.10.1     Тип накладной DocRec::Type
103.15.1     Примечание накладной
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.1.3      Ключ (Rid) корреспондента-получателя
102.4.3      Наименование корреспондента-получателя
102.1.4      Ключ (Rid) отв. лица "Отпустил"
102.4.4      Имя отв. лица "Отпустил"
102.1.5      Ключ (Rid) отв. лица "Принял"
102.4.5      Имя отв. лица "Принял"
100.3.0      Код валюты накладной
107.1.9      Ключ (Rid) бух.операции
107.1.9      Строковая часть номера бух.операции
107.1.9      Числовая часть номера бух.операции
107.1.10     Ключ (Rid) счета-фактуры
107.4.10     Строковая часть счета-фактуры
107.5.10     Числовая часть счета-фактуры
0.1.0   *    Закупочная сумма б/н
0.2.0   *    Закупочный НДС
0.3.0   *    Закупочный НСП
0.4.0   *    Закупочная сумма в/н
0.1.1   *    Отпускная сумма б/н
0.2.1   *    Отпускной НДС
0.3.1   *    Отпускной НСП
0.4.1   *    Отпускная сумма в/н

*  - чтобы поля, омеченные звездочкой, были определены в отчете, в макет
     необходимо включить параметр "chkSums"

+------------------------+
|   Накладная            |
+------------------------+

Header       Заголовок накладной
------
103.1.1      Ключ (Rid) накладной
103.10.1     Тип накладной DocRec::Type
103.11.1     Битовая маска опций накладной DocRec::Options
103.2.1      Младшее слово стампа даты накладной
103.3.1      Дата накладной
103.4.1      Строковая часть номера накладной
103.5.1      Числовая часть номера накладной
103.14.1     Стамп даты накладной
103.12.0     Курс в базовой валюте (секция "Курс: столько-то RBL за столько-то USD", только п/н, р/н)
103.13.0     Курс в валюте накладной (секция "Курс: столько-то RBL за столько-то USD", только п/н, р/н)
103.15.0     Примечение
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.1.3      Ключ (Rid) корреспондента-получателя
102.4.3      Наименование корреспондента-получателя
102.1.4      Ключ (Rid) отв. лица "Отпустил"
102.4.4      Имя отв. лица "Отпустил"
102.1.5      Ключ (Rid) отв. лица "Принял"
102.4.5      Имя отв. лица "Принял"
100.1.6      Ключ (Rid) валюты документа
100.3.6      Код валюты документа
100.6.6      Наименование целой части валюты
100.7.6      Наименование дробной части валюты
107.1.9      Ключ (Rid) бух.операции
107.1.9      Строковая часть номера бух.операции
107.1.9      Числовая часть номера бух.операции
107.1.10     Ключ (Rid) счета-фактуры (только п/н, р/н, в/т)
107.4.10     Строковая часть счета-фактуры (только п/н, р/н, в/т)
107.5.10     Числовая часть счета-фактуры (только п/н, р/н, в/т)
0.1.7        история: дата создания
0.2.7        история: время создания в секундах
0.3.7        история: дата последнего изменения
0.4.7        история: время последнего изменения в секундах
0.5.7        история: мин. дата активного док-та
0.6.7        история: пользователь, создавший накладную

Specs        Список товаров
------
105.1.1      Ключ (Rid) записи
210.1.1      Ключ (Rid) товара
210.3.1      Текстовая часть кода товара
210.4.1      Числовая часть кода товара
210.2.1      Наименование товара
206.1.1      Ключ (Rid) единицы измерения
206.2.1      Наименование единицы измерения
105.3.0      Количество товара
105.15.1     Опции записи DocSpecRec::Options
105.14.0     Альтернативная дата для рассчета курса небазовой валюты (только п/н)
212.2.0      Ставка/сумма НДС (в зависимости от DocSpecRec::Options)
213.2.0      Ставка/сумма НСП (в зависимости от DocSpecRec::Options)
105.3.14     Количество остатка
206.2.14     Наименование единицы измерения остатка
0.201.0      Номер строки в накладной
105.4.15  *  Себестоимость: Сумма б/н
105.5.15  *  Себестоимость: НДС
105.6.15  *  Себестоимость: НСП
105.7.15  *  Себестоимость: Цена
105.8.15  *  Себестоимость: Сумма в/н
105.4.0      Сумма б/н
105.5.0      НДС
105.6.0      НСП
105.7.0      Цена
105.8.0      Сумма в/н
105.1.2      Ключ (Rid) прихода для списания
103.3.2      Дата накладной для списания (только с/т, в/т)
103.4.2      Строковая часть номера накладной для списания (только с/т, в/т)
103.5.2      Числовая часть номера накладной для списания (только с/т, в/т)
103.11.2     Битовая маска опций накладной DocRec::Options для списания (только с/т, в/т)
103.10.2     Тип накладной DocRec::Type для списания (только с/т, в/т)
210.1.6      Ключ (Rid) товара # 2 (только а/п)
210.3.6      Текстовая часть кода товара # 2 (только а/п)
210.4.6      Числовая часть кода товара # 2 (только а/п)
210.2.6      Наименование товара # 2 (только а/п)
206.1.6      Ключ (Rid) единицы измерения # 2 (только а/п)
206.2.6      Наименование единицы измерения # 2 (только а/п)
105.3.7      Количество товара # 2 (только а/п)
200.1.1      Ключ (Rid) комплекта (только к, д/к)
200.2.1      Наименование комплекта (только к, д/к)
206.1.4      Ключ (Rid) доп. единицы измерения (только с/в)
206.2.4      Наименование доп. единицы измерения (только с/в)
105.3.5      Доп. количество (только с/в)
105.3.16     Вычисляемое доп. количество в с.в. (только с/в; определено, если
             определена доп. ед. измерения - лучше использовать вместо 105.3.5
             при печати)
105.7.17     Вычисляемая цена (только с/в)
212.2.17     Вычисляемый НДС (только с/в)
213.2.17     Вычисляемый НСП (только с/в)

Rpt2Grps  группы расширенный Детализированные расход комплектации,
---------
0.9.0        Наименование группы 
105.1.1      Ключ (Rid) записи (для Rpt2 соответствует полю 105.1.1 в Specs - идентификатору группы)
105.1.2      Ссылка на предка  
210.1.1      Ключ (Rid) товара
210.3.1      Текстовая часть кода товара
210.4.1      Числовая часть кода товара
210.2.1      Наименование товара 
206.1.1      Ключ (Rid) единицы измерения
206.2.1      Наименование единицы измерения
105.3.0      Количество товара в единицах измерения накладной


Rpt1, Rpt2   Расход комплектации, приход декомплектации (Rpt1);
----------   Детализированные расход комплектации, приход декомплектации (Rpt2) - только к, д/к   **, ***

105.1.1      Ключ (Rid) записи (для Rpt2 соответствует полю 105.1.1 в Specs - идентификатору группы)
210.1.1      Ключ (Rid) товара
210.3.1      Текстовая часть кода товара
210.4.1      Числовая часть кода товара
210.2.1      Наименование товара
206.1.1      Ключ (Rid) единицы измерения
206.2.1      Наименование единицы измерения
105.3.0      Количество товара
105.4.0      Сумма б/н
105.5.0      НДС
105.6.0      НСП
105.7.0      Цена
105.8.0      Сумма в/н
102.1.1      Ключ (Rid) склада
102.4.1      Наименование склада



Rpt1, Rpt2   Излишки недостачи, Излишки недостачи по единицам измерения (только с/в)   ***
----------
105.1.5      Ключ (Rid) ценообразующей записи
210.1.5      Ключ (Rid) товара
210.3.5      Текстовая часть кода товара
210.4.5      Числовая часть кода товара
210.2.5      Наименование товара
206.1.5      Ключ (Rid) единицы измерения
206.2.5      Наименование единицы измерения
105.3.0      Рассчетное количество товара
105.4.0      Рассчетная сумма б/н  (только Rpt1)
105.5.0      Рассчетный НДС (только Rpt1)
105.6.0      Рассчетный НСП (только Rpt1)
105.7.0      Рассчетная цена (только Rpt1)
105.8.0      Рассчетная сумма в/н (только Rpt1)
105.3.2      Фактическое количество товара
105.4.2      Фактическая сумма б/н (только Rpt1)
105.5.2      Фактический НДС (только Rpt1)
105.6.2      Фактический НСП (только Rpt1)
105.7.2      Фактическая цена (только Rpt1)
105.8.2      Фактическая сумма в/н (только Rpt1)
105.3.1      Количество излишка/недостачи
105.4.1      Сумма б/н излишка/недостачи (только Rpt1)
105.5.1      НДС излишка/недостачи (только Rpt1)
105.6.1      НСП излишка/недостачи (только Rpt1)
105.7.1      Цена излишка/недостачи (только Rpt1)
105.8.1      Сумма в/н излишка/недостачи (только Rpt1)
102.1.5      Ключ (Rid) склада
102.4.5      Наименование склада

RptAccs      Проводки по накладной ****
-------
106.1.1      Ключ (Rid) счета-дебет
106.3.1      Код счета-дебет
106.1.2      Ключ (Rid) счета-кредит
106.3.2      Код счета-кредит
0.1.4        Сумма
219.2.3      Бух. категория
108.4.0      Описание операции

RptPDocs     Список платежных документов, связанных с накладной (только п/н, р/н, в/т) *****
--------
112.1.9      Ключ (Rid) платежного документа
112.3.9      Дата платежного документа
112.4.9      Строковая часть номера платежного документа
112.5.9      Числовая часть номера платежного документа
112.10.9     Тип платежного документа  PDocRec::Type
112.11.9     Битовая маска опций платежного документа PDocRec::Options
103.1.1      Ключ (Rid) связанной накладной
107.1.3      Ключ (Rid) бух. операции
107.2.3      Наименование бух. операции
0.1.0        Сумма б/н в базовой валюте
0.2.0        НДС в базовой валюте
0.3.0        НСП в базовой валюте
0.4.0        Сумма в/н в базовой валюте

*   - чтобы поля себестоимости в отчете были определены, в макет необходимо
      включить параметр "chkSums";
**  - в качестве групп для Rpt2 м. использовать Specs с ключевым полем 105.1.1
*** - чтобы данные для отчета Rpt1 были загружены перед печатью, в макет
      необходимо включить параметр "chkRpt1";
      чтобы данные для отчета Rpt2 были загружены перед печатью, в макет
      необходимо включить параметр "chkRpt2"
**** - чтобы данные для отчета RptAccs были загружены перед печатью, в макет
       необходимо включить параметр "chkRptAccs";
***** - чтобы данные для отчета RptPDocs были загружены перед печатью, в макет
       необходимо включить параметр "chkRptPDocs";

xxxxxxxxxx


+------------------------+
|   Движение товара      |
+------------------------+

Params        Фильтр
------
210.1.1       Ключ (Rid) товара
210.3.1       Текстовая часть кода товара
210.4.1       Числовая часть кода товара
210.2.1       Наименование товара
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Маска параметров drpt...
102.1.2       Ключ (Rid) склада
102.4.2       Наименование склада
101.1.3       Ключ (Rid) группы складов
101.3.3       Наименование группы складов
100.1.4       Ключ (Rid) валюты, в кот. строится отчет
100.3.4       Код валюты, в кот. строится отчет

Report        Отчет

------
105.1.1       Ключ (Rid) записи
103.1.1       Ключ (Rid) накладной
103.10.1      Тип накладной DocRec::Type
105.2.1       Тип записи (0 - приход, 1 - расход, 2 - инвентаризация)
105.15.1      Опции записи DocSpecRec::Options
103.11.1      Опции накладной  DocRec::Options
103.4.1       Текстовая часть номера накладной
103.5.1       Цифровая часть номера накладной
103.14.1      Стамп даты накладной
103.3.1       Дата накладной
102.1.2       Ключ (Rid) поставщика
102.4.2       Наименование поставщика
102.1.3       Ключ (Rid) получателя
102.4.3       Наименование получателя
105.3.0       Количество
105.3.10      Вычисляемое количество - лучше использовать его, нежели количество 105.3.0
105.4.0       Сумма б/н
105.5.0       НДС
105.6.0       НСП
105.7.0       Цена
105.8.0       Сумма в/н
105.3.12  *   Остатки: Количество
105.4.12  *   Остатки: Сумма б/н
105.5.12  *   Остатки: НДС
105.6.12  *   Остатки: НСП
105.8.12  *   Остатки: Сумма в/н
105.1.4   **  Списание: Ключ (Rid) записи
103.1.4   **  Списание: Ключ (Rid) накладной
103.10.4  **  Списание: Тип накладной DocRec::Type
105.2.4   **  Списание: Тип записи (0 - приход, 1 - расход, 2 - инвентаризация)
105.15.4  **  Списание: Опции записи DocSpecRec::Options
103.11.4  **  Списание: Опции накладной  DocRec::Options
103.4.4   **  Списание: Текстовая часть номера накладной
103.5.4   **  Списание: Цифровая часть номера накладной
103.14.4  **  Списание: Стамп даты накладной
103.3.4   **  Списание: Дата накладной
105.3.5   **  Списание: Количество
105.3.11  **  Списание: Вычисляемое количество - лучше использовать его, нежели количество 105.3.5

MUnit         Ед. измерения, вх. остатки
-----
206.2.0       Наименование единицы измерения
105.3.0   *   Остатки: Количество
105.4.0   *   Остатки: Сумма б/н
105.5.0   *   Остатки: НДС
105.6.0   *   Остатки: НСП

*   - чтобы поля остатков в отчете были определены, в макет необходимо
      включить параметр "chkRemns";
**  - чтобы поля списания в отчете были определены, в макет необходимо
      включить параметр "chkRptEx";
      Чтобы поля списания в отчете НЕ были определены, в макет необходимо
      включить параметр "chkNRptEx";


+--------------------------------+
|   Движение группы товаров      |
+--------------------------------+

Params        Фильтр
------
Соответствует Params Ведомости остатков (см. выше), КРОМЕ ДВУХ ПОЛЕЙ:
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Опции отчета drpt...
209.1.5       Ключ (Rid) товарной группы
209.3.5       Наименование товарной группы
208.1.8       Ключ (Rid) категории товаров
208.2.8       Наименование категории товаров
219.1.9       Ключ (Rid) бух. категории товаров
219.2.9       Наименование бух. категории товаров
102.1.6       Ключ (Rid) склада
102.4.6       Наименование склада
101.1.7       Ключ (Rid) группы складов
101.3.7       Наименование группы складов
100.1.4       Ключ (Rid) валюты, в кот. строить отчет
100.3.4       Код валюты, в кот. строить отчет

Groups        Список групп для группировки
------
210.1.0       Ключ (Rid) товара
210.2.0       Наименование товара
206.2.0       Наименование единицы измерения

Report        Отчет
------
210.1.8       Поле для связи с группой (Rid товара)
В остальном соответствует отчету "Движение товара", вкл. переменные
"chkRemns", "chkRptEx" и "chkNRptEx"


+--------------------------------------------------------------+
|   Ведомомсть остатков, количественная ведомость остатков,    |
|   остатки по единицам измерения, остатки по приходам         |
+--------------------------------------------------------------+

Params        Фильтр
------
0.1.0         Дата
0.3.0         Опции отчета drpt...
209.1.5       Ключ (Rid) товарной группы
209.3.5       Наименование товарной группы
208.1.8       Ключ (Rid) категории товаров
208.2.8       Наименование категории товаров
219.1.9       Ключ (Rid) бух. категории товаров
219.2.9       Наименование бух. категории товаров
102.1.6       Ключ (Rid) склада
102.4.6       Наименование склада
101.1.7       Ключ (Rid) группы складов
101.3.7       Наименование группы складов
1.1.0         Поле кода типа группировки:
                   0 - не группировать
                   1 - по дереву товаров
                   2 - по складам
                   3 - по товарным категориям
                   4 - по бух. категориям
1.2.0         Наименование типа группировки
0.6.0     *   Тип сравнения кол-ва (<, >, и т.п.): бит 1 <, бит 2 ==, бит 3 >
0.7.0     *   С чем сравнивать кол-во: 0 - с нулем, 1 - с мин. запасом, 2 - с макс. запасом
100.1.4   **  Ключ (Rid) валюты, в кот. строить отчет
100.3.4   **  Код валюты, в кот. строить отчет

Groups        Список групп для группировки
------
0.1.0         Идентификатор группы (для складов - идентификатор склада, для
              прочих объектов - ключ (Rid))
0.2.0         Дополнительный параметр (для складов - Rid, для дерева товаров -
              Rid родителя, для прочих объектов не определен)
0.3.0         Наименование группы
0.9.0         Модифицированное наименование группы (при группировке по дереву)

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.9       Ключ (Rid) товара
210.3.9       Текстовая часть кода товара
210.4.9       Числовая часть кода товара
210.2.9       Наименование товара
206.1.9       Ключ (Rid) единицы измерения
206.2.9       Наименование единицы измерения
0.2.0         Количество
0.3.0     **  Сумма б/н
0.4.0     **  НДС
0.5.0     **  НСП
0.10.0    **  Цена
0.11.0    **  Сумма в/н
0.21.0    *** Мин. товарный запас
0.22.0    *** Макс. товарный запас
103.1.14  **** Ключ (Rid) накладной
103.10.14 **** Тип накладной
103.4.14  **** Номер накладной - символьная часть
103.5.14  **** Номер накладной - числовая часть
103.14.14 **** Стамп даты накладной
103.3.14  **** Дата накладной
102.1.15  **** Ключ (Rid) поставщика
102.4.15  **** Наименование поставщика
102.1.16  **** Ключ (Rid) получателя
102.4.16  **** Наименование получателя
105.1.14  **** Остатки по приходам


*    - только ведомость остатков, количественная ведомость остатков;
       сравнение с количеством производится, если в поле {0.3.0} Params установлен
       бит, соответствующий числу 0x20;
**   - только ведомость остатков, остатки по приходам
***  - только ведомость остатков, количественная ведомость остатков
**** - только остатки по приходам


+--------------------------------------------------------------------------+
|   Спец. ведомомсть остатков, спец. количественная ведомость остатков,    |
+--------------------------------------------------------------------------+

Params        Фильтр
------
Соответствует фильтрам ведомостей остатков, за исключением
0.6.0        Тип сравнения кол-ва (<, >, и т.п.) в учете и спецучете
0.7.0        Не определено

Groups        Список групп для группировки
------
Соответствует списку групп ведомости остатков

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.9       Ключ (Rid) товара
210.3.9       Текстовая часть кода товара
210.4.9       Числовая часть кода товара
210.2.9       Наименование товара
206.1.9       Ключ (Rid) единицы измерения
206.2.9       Наименование единицы измерения
0.2.0     *   Количество - учет
0.3.0     *   Сумма б/н - учет
0.4.0     *   НДС - учет
0.5.0     *   НСП - учет
0.10.0    *   Цена - учет
0.11.0    *   Сумма в/н - учет
0.6.0     *   Количество - спецучет
0.7.0     *   Сумма б/н - спецучет
0.8.0     *   НДС - спецучет
0.9.0     *   НСП - спецучет
0.12.0    *   Цена - спецучет
0.13.0    *   Сумма в/н - спецучет
0.40.0    *   Количество - разница между учетом и спецучетом
0.41.0    *   Сумма б/н - разница между учетом и спецучетом
0.42.0    *   НДС - разница между учетом и спецучетом
0.43.0    *   НСП - разница между учетом и спецучетом
0.44.0    *   Сумма в/н - разница между учетом и спецучетом
0.21.0    *   Мин. товарный запас
0.22.0    *   Макс. товарный запас
0.2.0     **   Количество - учет
0.3.0     **   Количество - спецучет
0.10.0    **   Количество - разница между учетом и спецучетом

*   - только спец. ведомость остатков
**  - только спец. количественная ведомость остатков


+----------------------------+
|   Оборотная ведомость      |
+----------------------------+

Params        Фильтр
------
Соответствует Params Ведомости остатков (см. выше), КРОМЕ ДВУХ ПОЛЕЙ:
0.1.0         Дата с
0.2.0         Дата по

Groups        Список групп для группировки
------
Соответствует Groups ведомостей остатков (см. выше)

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.9       Ключ (Rid) товара
210.3.9       Текстовая часть кода товара
210.4.9       Числовая часть кода товара
210.2.9       Наименование товара
206.1.9       Ключ (Rid) единицы измерения
206.2.9       Наименование единицы измерения
0.2.N      *  Количество
0.3.N      *  Сумма б/н
0.4.N      *  НДС
0.5.N      *  НСП
0.10.N     *  Сумма в/н

*   - N принимает следующие значения:
          0 - входящие остатки
          1 - приходы
          2 - расходы
          3 - в/п
          4 - излишки
          5 - недостачи
          6 - исходящие остатки


+----------------------------------------+
|   Расширенная оборотная ведомость      |
+----------------------------------------+
Аналог оборотной ведомости, с той разницей, что N принимает следующие значения:
          0  - входящие остатки
          1  - приходные накладные
          2  - расходные накладные
          3  - возвраты поставщику
          4  - списания товара
          5  - слич.ведомости - излишки
          6  - слич.ведомости - недостачи
          7  - акты переработки
          8  - внутр.перемещения
          9  - комплектации
          10 - декомплектации
          16 - исходящие остатки


+--------------------------------------------------------------+
|   Товарный отчет, Товарный отчет с категорией тары   *       |
+--------------------------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
102.1.1       Ключ (Rid) склада
102.4.1       Наименование склада
100.1.3       Ключ (Rid) валюты, в кот. строится отчет
100.3.3       Код валюты, в кот. строится отчет
103.11.0      Опции drpt...
208.1.2       Ключ (Rid) категории тары
208.2.2       Наименование категории тары

Groups        Список групп для группировки
------
0.1.0         Идентификатор группы
0.10.0        Тип группы: NULL - Подразделение/Все склады, 1 - Приход, 2 - Расход
102.1.4       Ключ (Rid) склада
102.4.4       Наименование склада
105.4.0       Входящие остатки: Сумма б/н
105.5.0       Входящие остатки: НДС
105.6.0       Входящие остатки: НСП
105.4.2   **  Тара - входящие остатки по таре: Сумма б/н
105.5.2   **  Тара - входящие остатки по таре: НДС
105.6.2   **  Тара - входящие остатки по таре: НСП

Report        Отчет
------
0.1.0         Идентификатор группы
0.10.0        Тип записи тотала по группам (флаг записи dsrfAggrTotal):
                  1    - остатки на начало
                  2    - остатки на конец
                  3    - итого приход
                  4    - итого расход
103.1.7       Ключ (Rid) накладной
103.14.7      Стамп даты накладной
103.3.7       Дата накладной
103.4.7       Текстовая часть номера накладной
103.5.7       Цифровая часть номера накладной
103.10.7      Тип документа DocRec::Type
102.1.8       Ключ (Rid) поставщика
102.4.8       Наименование поставщика
102.1.9       Ключ (Rid) получателя
102.4.9       Наименование получателя
105.4.0       Закупочная сумма б/н
105.5.0       Закупочный НДС
105.6.0       Закупочный НСП
105.8.0       Закупочная сумма в/н
105.4.1       Отпускная сумма б/н
105.5.1       Отпускной НДС
105.6.1       Отпускной НСП
105.8.1       Отпускная сумма в/н
105.4.2   **  Тара: закупочная сумма б/н
105.5.2   **  Тара: закупочный НДС
105.6.2   **  Тара: закупочный НСП
105.8.2   **  Тара: закупочная сумма в/н
105.4.3   **  Тара: отпускная сумма б/н
105.5.3   **  Тара: отпускной НДС
105.6.3   **  Тара: отпускной НСП
105.8.3   **  Тара: отпускная сумма б/н
105.4.4       Наценка б/н
105.8.4       Наценка в/н
105.4.5   **  Тара: наценка б/н
105.8.5   **  Тара: наценка в/н


*   - для печати отчета без категории тары в макете НЕ ДОЛЖНА быть определена
      переменная "chkRptEx";
      для печати отчета c категорией тары в макете ДОЛЖНА быть определена
      переменная "chkRptEx";
**  - поля определены только для отчета с категорией тары



+----------------------------------------------------+
|   Анализ поставщиков, анализ получателей           |
+----------------------------------------------------+

Params        Фильтр
------
Соответствует Params Ведомости остатков (см. выше), КРОМЕ ДВУХ ПОЛЕЙ:
0.1.0         Дата с
0.2.0         Дата по

Groups        Список групп для группировки
------
210.1.1       Ключ (Rid) товара
210.3.1       Текстовая часть кода товара
210.4.1       Числовая часть кода товара
210.2.1       Наименование товара
206.1.1       Ключ (Rid) единицы измерения
206.2.1       Наименование единицы измерения

Report        Отчет
------
102.1         Ключ (Rid) корреспондента
102.4         Наименование корреспондента
102.2         Тип корреспондента: 0 - склад; 1 - юр. лицо; 2 - физ. лицо; 3 - спец. корр
210.1.1       Ключ (Rid) товара (для связи с группой)
103.1.3   *   Ключ (Rid) накладной
103.14.3  *   Стамп даты накладной
103.3.3   *   Дата накладной
103.10.3  *   Тип накладной
105.1.3   *   Ключ (Rid) спецификации внутри накладной
105.3.0       Количество
105.4.0       Закупочная сумма б/н
105.5.0       Закупочный НДС
105.6.0       Закупочный НСП
105.7.0       Закупочная цена
105.8.0       Закупочная сумма в/н
105.4.4   **  Отпускная сумма б/н
105.5.4   **  Отпускной НДС
105.6.4   **  Отпускной НСП
105.7.4   **  Отпускная цена
105.8.4   **  Отпускная сумма в/н

*   - определены, если отчет построен без группировки по корреспондентам
**  - только Анализ получателей


+--------------------------------------------------------------------------+
|   Анализ корреспондентов, рассчеты с поставщиками/получателями           |
+--------------------------------------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
0.3.0      *  Маска типов документов (1 << DocRec::Type, объединено по битовому OR)
0.4.0         Опции drpt...
102.1.12      Ключ (Rid) корреспондента
102.4.12      Наименование корреспондента
101.1.13   *  Ключ (Rid) группы корреспондентов
101.3.13   *  Наименование группы корреспондентов
101.1.23   ** Ключ (Rid) группы корреспондентов
101.3.23   ** Наименование группы корреспондентов
102.1.14   *  Ключ (Rid) взаимодействующего корреспондента
102.4.14   *  Наименование взаимодействующего корреспондента
101.1.15   *  Ключ (Rid) взаимодействующей группы корреспондентов
101.3.15   *  Наименование взаимодействующей группы корреспондентов
209.1.5       Ключ (Rid) товарной группы
209.3.5       Наименование товарной группы
208.1.8       Ключ (Rid) категории товаров
208.2.8       Наименование категории товаров
219.1.9       Ключ (Rid) бух. категории товаров
219.2.9       Наименование бух. категории товаров
100.1.4       Ключ (Rid) валюты, в кот. строить отчет
100.3.4       Код валюты, в кот. строить отчет
1.1.0      *  Тип группировки (7 - по корреспондентам, 0 - не группировать)

Groups        Список групп для группировки
------
102.1.0      Ключ (Rid) корреспондента
102.4.0      Наименование корреспондента

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.9       Ключ (Rid) товара
210.3.9       Текстовая часть кода товара
210.4.9       Числовая часть кода товара
210.2.9       Наименование товара
206.1.9       Ключ (Rid) единицы измерения
206.2.9       Наименование единицы измерения
209.1.6       Ключ (Rid) товарной группы
209.3.6       Наименование товарной группы
208.1.7       Ключ (Rid) категории
208.2.7       Наименование категории
219.1.8       Ключ (Rid) бух. категории
219.2.8       Наименование бух. категории
0.2.0         Приход - кол-во
0.2.1         Расход - кол-во
0.6.0         Приход - цена
0.3.0         Приход - сумма б/н
0.4.0         Приход - НДС
0.5.0         Приход - НСП
0.7.0         Приход - сумма в/н
0.6.1         Расход - закупочная цена
0.3.1         Расход - закупочная сумма б/н
0.4.1         Расход - закупочный НДС
0.5.1         Расход - закупочный НСП
0.7.1         Расход - закупочная сумма в/н
0.6.2         Расход - Отпускная цена
0.3.2         Расход - Отпускная сумма б/н
0.4.2         Расход - отпускной НДС
0.5.2         Расход - отпускной НСП
0.7.2         Расход - Отпускная сумма в/н

*   - только Анализ корреспондентов
**  - только Рассчеты с поставщиками/получателями


+----------------------------------------------------+
|   Журнал проводок                                  |
+----------------------------------------------------+

Params        Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска типов накладных (1 << DocRec::Type, объединено по битовому OR)
0.6.0        Маска типов платежных документов (1 << PDocRec::Type, объединено по битовому OR)
0.4.0        Маска параметров drpt...
0.5.0        Тип группировки gsfg...
100.1.1      Ключ (Rid) валюты, в кот рассчитывать сумму
100.3.1      Код валюты, в кот рассчитывать сумму
102.1.2      Ключ (Rid) корреспондента-поставщика для накладных
102.4.2      Наименование корреспондента-поставщика для накладных
102.1.3      Ключ (Rid) корреспондента-получателя для накладных
102.4.3      Наименование корреспондента-получателя для накладных
102.1.7      Ключ (Rid) корреспондента-получателя для платежгых документов
102.4.7      Наименование корреспондента-получателя для платежгых документов
107.1.4      Ключ (Rid) хоз. операции
107.2.4      Наименование хоз. операции

Groups        Список групп для группировки
------
106.1.0       Ключ (Rid) бух. счета
106.3.0       Код бух. счета

Report        Отчет
------
113.255.7     0 - накладная, иначе - платежный документ
113.1.7       Ключ (Rid) документа
113.3.7       Дата документа
113.4.7       Строковая часть номера документа
113.5.7       Числовая часть номера документа
113.11.7      Битовая маска опций документа DocRec::Options/PDocRec::Options
113.10.7      Тип документа DocRec::Type/PDocRec::Type
102.1.8       Ключ (Rid) корреспондента-поставщика
102.4.8       Наименование корреспондента-поставщика
102.1.9       Ключ (Rid) корреспондента-получателя
102.4.9       Наименование корреспондента-получателя
106.1.1       Ключ (Rid) счета-дебет
106.3.1       Код счета-дебет
106.1.2       Ключ (Rid) счета-кредит
106.3.2       Код счета-кредит
0.1.4         Сумма
107.1.14      Ключ (Rid) операции
107.2.14      Наименование операции
219.1.3       Ключ (Rid) бух. категории
219.2.3       Наименование бух. категории
108.4.0       Описание операции



+----------------------------------------------------+
|   Баланс счетов                                    |
+----------------------------------------------------+

Params        Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.4.0        Маска параметров drpt...
100.1.1      Ключ (Rid) валюты, в кот рассчитывать сумму
100.3.1      Код валюты, в кот рассчитывать сумму
106.1.2      Ключ (Rid) бух. счета
106.3.2      Код бух. счета


Groups        Список групп для группировки
------
106.1.0       Ключ (Rid) бух. счета
106.3.0       Код бух. счета
0.1.0         Начальное сальдо по счету

Report        Отчет
------
113.255.7     0 - накладная, иначе - платежный документ
113.1.7       Ключ (Rid) документа
113.3.7       Дата документа
113.4.7       Строковая часть номера документа
113.5.7       Числовая часть номера документа
113.11.7      Битовая маска опций документа DocRec::Options/PDocRec::Options
113.10.7      Тип документа DocRec::Type/PDocRec::Type
102.1.8       Ключ (Rid) корреспондента-поставщика
102.4.8       Наименование корреспондента-поставщика
102.1.9       Ключ (Rid) корреспондента-получателя
102.4.9       Наименование корреспондента-получателя
106.1.1       Ключ (Rid) счета-дебет
106.3.1       Код счета-дебет
106.1.2       Ключ (Rid) счета-кредит
106.3.2       Код счета-кредит
0.1.4         Сумма
107.1.14      Ключ (Rid) операции
107.2.14      Наименование операции
219.1.3       Ключ (Rid) бух. категории
219.2.3       Наименование бух. категории
108.4.0       Описание операции
0.101.0       Ссылка на группу (поле 106.1.0 в Groups)



+----------------------------+
|   Список счетов-фактур     |
+----------------------------+

Params       Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска типов документов (1 << DocRec::Type, объединено по битовому OR)
0.4.0        Маска параметров drpt...
100.1.1      Ключ (Rid) валюты, в кот рассчитывать сумму
100.3.1      Код валюты, в кот рассчитывать сумму
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.1.3      Ключ (Rid) корреспондента-получателя
102.4.3      Наименование корреспондента-получателя

Report       Список накладных
------
110.1.9      Ключ (Rid) счета-фактуры
110.3.9      Дата счета-фактуры
110.4.9      Строковая часть номера счета-фактуры
110.5.9      Числовая часть номера счета-фактуры
103.1.1      Ключ (Rid) накладной
103.3.1      Дата накладной
103.4.1      Строковая часть номера накладной
103.5.1      Числовая часть номера накладной
103.11.1     Битовая маска опций накладной DocRec::Options
103.10.1     Тип накладной DocRec::Type
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.2.2      Тип корреспондента: 0 - склад; 1 - юр. лицо; 2 - физ. лицо; 3 - спец. корр; <0 - не найден
102.6.2      Номер паспорта (только физ.лицо)
102.7.2      Дата выдачи паспорта (только физ.лицо)
102.8.2      Место выдачи паспорта (только физ.лицо)
102.9.2      ИНН (только юр.лицо)
102.10.2     Юридический адрес (только юр.лицо)
102.11.2     Почтовый Адрес (только юр.лицо)
102.12.2     Телефоны (только юр.лицо)
0.1.0   *    Закупочная сумма б/н
0.2.0   *    Закупочный НДС
0.3.0   *    Закупочный НСП
0.4.0   *    Закупочная сумма в/н
0.1.1   *    Отпускная сумма б/н
0.2.1   *    Отпускной НДС
0.3.1   *    Отпускной НСП
0.4.1   *    Отпускная сумма в/н

*  - чтобы поля, омеченные звездочкой, были определены в отчете, в макет
     необходимо включить параметр "chkSums"


+----------------------------+
|   Свойства счета-фактуры   |
+----------------------------+

Header       Заголовок счета-фактуры
------
110.1.9      Ключ (Rid) счета-фактуры
110.3.9      Дата счета-фактуры
110.4.9      Строковая часть номера счета-фактуры
110.5.9      Числовая часть номера счета-фактуры
110.15.9     Примечание счета-фактуры
110.20.9     Список платежно-расчетных документов
103.1.1      Ключ (Rid) накладной
103.3.1      Дата накладной
103.4.1      Строковая часть номера накладной
103.5.1      Числовая часть номера накладной
103.11.1     Битовая маска опций накладной DocRec::Options
103.10.1     Тип накладной DocRec::Type
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
102.2.2      Тип корреспондента: 0 - склад; 1 - юр. лицо; 2 - физ. лицо; 3 - спец. корр; <0 - не найден
100.1.3      Ключ (Rid) валюты накладной
100.3.3      Код валюты накладной
100.6.3      Наименование целой части валюты
100.7.3      Наименование дробной части валюты

Specs        Список товаров
------
210.1.3      Ключ (Rid) товара
210.3.3      Текстовая часть кода товара
210.4.3      Числовая часть кода товара
210.2.3      Наименование товара
206.1.3      Ключ (Rid) единицы измерения
206.2.3      Наименование единицы измерения
105.3.0      Количество товара
105.4.0      Закупочная сумма б/н
105.5.0      Закупочный НДС
105.6.0      Закупочный НСП
105.7.0      Закупочная цена
105.8.0      Закупочная сумма в/н
212.2.0      Закупочная ставка НДС
213.2.0      Закупочная ставка НСП
105.20.0     Страна присхождения
105.21.0     Номер таможенной декларации
105.4.1      Отпускная сумма б/н (только расходная счет-фактура)
105.5.1      Отпускной НДС (только расходная счет-фактура)
105.6.1      Отпускной НСП (только расходная счет-фактура)
105.7.1      Отпускная цена (только расходная счет-фактура)
105.8.1      Отпускная сумма в/н (только расходная счет-фактура)
212.2.1      Отпускная ставка НДС (только расходная счет-фактура)
213.2.1      Отпускная ставка НСП (только расходная счет-фактура)

RptPDocs     Список платежных документов, связанных со счетом-фактурой *
--------
См. описание аналогичного отчета для накладной

* - чтобы данные для отчета RptPDocs были загружены перед печатью, в макет
    необходимо включить параметр "chkRptPDocs";

p->pDescr[0] = "Header";
p->pDescr[1] = "Specs";

+-----------------------------------+
|   Список платежных документов     |
+-----------------------------------+

Params       Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска типов документов (1 << PDocRec::Type, объединено по битовому OR)
0.4.0        Маска параметров drpt...
100.1.1      Ключ (Rid) валюты, в кот рассчитывать сумму
100.3.1      Код валюты, в кот рассчитывать сумму
102.1.2      Ключ (Rid) корреспондента
102.4.2      Наименование корреспондента

Report       Список платежных документов
------
112.1.9      Ключ (Rid) платежного документа
112.3.9      Дата платежного документа
112.4.9      Строковая часть номера платежного документа
112.5.9      Числовая часть номера платежного документа
112.10.9     Тип платежного документа  PDocRec::Type
112.11.9     Битовая маска опций платежного документа PDocRec::Options
103.1.1      Ключ (Rid) связанной накладной
103.4.1      Строковая часть номера связанной накладной
103.5.1      Числовая часть номера связанной накладной
103.11.1     Битовая маска опций связанной накладной DocRec::Options
103.10.1     Тип связанной накладной DocRec::Type
103.14.1     Стамп даты связанной накладной
103.3.1      Дата связанной накладной
107.1.3      Ключ (Rid) бух. операции
107.2.3      Наименование бух. операции
100.1.8      Ключ (Rid) валюты платежного документа
100.3.8      Код валюты платежного документа
102.1.2      Ключ (Rid) корреспондента
102.4.2      Наименование корреспондента
110.1.4      Ключ (Rid) связанной счет-фактуры
110.4.4      Строковая часть номера связанной счет-фактуры
110.5.4      Числовая часть номера связанной счет-фактуры
110.3.4      Дата связанной счет-фактуры
0.1.0        Сумма б/н платежного документа
0.2.0        НДС платежного документа
0.3.0        НСП платежного документа
0.4.0        Сумма в/н платежного документа
0.1.1        Сумма б/н связанной накладной
0.2.1        НДС связанной накладной
0.3.1        НСП связанной накладной
0.4.1        Сумма в/н связанной накладной


+-----------------------------------+
|   Платежный документ              |
+-----------------------------------+

Header       Заголовок платежного документа
------

112.1.9      Ключ (Rid) платежного документа
112.3.9      Дата платежного документа
112.4.9      Строковая часть номера платежного документа
112.5.9      Числовая часть номера платежного документа
112.10.9     Тип платежного документа  PDocRec::Type
112.11.9     Битовая маска опций платежного документа PDocRec::Options
112.15.9     Примечание платежного документа 
112.12.9     Курс в базовой валюте (секция "Курс: столько-то RBL за столько-то USD")
112.13.9     Курс в валюте платежного документа (секция "Курс: столько-то RBL за столько-то USD")
112.21.9     Не ноль, если можно изменить значение флага "Оплатить полностью"
112.16.9     Сумма платежного документа в базовой валюте (только для связанных с накладной платежных документов)
0.102.0      Сумма платежного документа в валюте платежного документа

103.1.1      Ключ (Rid) связанной накладной
103.4.1      Строковая часть номера связанной накладной
103.5.1      Числовая часть номера связанной накладной
103.11.1     Битовая маска опций связанной накладной DocRec::Options
103.10.1     Тип связанной накладной DocRec::Type
103.3.1      Дата связанной накладной
0.1.0        Сумма в/н связанной накладной в базовой валюте (только для связанных с накладной платежных документов)
0.101.0      Сумма в/н связанной накладной в валюте платежного документа (только для связанных с накладной платежных документов)

107.1.3      Ключ (Rid) бух. операции
107.2.3      Наименование бух. операции

100.1.8      Ключ (Rid) валюты платежного документа
100.3.8      Код валюты платежного документа

102.1.2      Ключ (Rid) корреспондента
102.4.2      Наименование корреспондента

110.1.4      Ключ (Rid) связанной счет-фактуры
110.4.4      Строковая часть номера связанной счет-фактуры
110.5.4      Числовая часть номера связанной счет-фактуры
110.3.4      Дата связанной счет-фактуры

Specs        Суммы с разбивкой по ставке НДС
-----
212.2.0      Ставка НДС
0.1.0        Сумма б/н в базовой валюте 
0.2.0        НДС в базовой валюте 
0.3.0        НСП в базовой валюте 
0.101.0      Сумма б/н в валюте платежного документа 
0.102.0      НДС в валюте платежного документа 
0.103.0      НСП в валюте платежного документа 
0.104.0      Сумма в/н в валюте платежного документа 

RptAccs      Проводки по платежному документу *
-------
106.1.1      Ключ (Rid) счета-дебет
106.3.1      Код счета-дебет
106.1.2      Ключ (Rid) счета-кредит
106.3.2      Код счета-кредит
0.1.4        Сумма
219.2.3      Бух. категория (всегда не определена для платежного документа)
108.4.0      Описание операции

* - чтобы данные для отчета RptAccs были загружены перед печатью, в макет
    необходимо включить параметр "chkRptAccs";



+--------------------------------------------+
|   Книга покупок, книга продаж              |
+--------------------------------------------+
Params       Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска параметров drpt...
102.1.1      Ключ (Rid) корреспондента
102.4.1      Наименование корреспондента

Report       Отчет
------
0.7.0        Битовая маска. Установленный второй бит (значение & 2) говорит о начале (первой строке) секции об оплате
110.1.1      Ключ счета-фактуры
110.3.1      Дата счета-фактуры
110.10.1     Тип счета-фактуры
110.4.1      Текстовая часть номера счета-фактуры    *
110.5.1      Числовая часть номера счета-фактуры     *
0.10.0       Страны происхождения, номера таможенных деклараций (только в книге покупок)    *
112.1.2      Ключ платежного документа 
112.3.2      Дата платежного документа
103.3.4      Дата связанной накладной       *
102.1.3      Ключ корреспондента            *
102.4.3      Наименование корреспондента    *
212.2.0      Ставка НДС
0.1.0        Сумма б/н
0.2.0        Сумма НДС
0.3.0        Сумма НСП
0.4.0        Сумма в/н

* - поля определены, только если установлен второй бит поля {0.7.0}


+--------------------------------------------+
|   Баланс по корреспондентам                |
+--------------------------------------------+
Params       Фильтр
------
0.1.0        Дата с
0.2.0        Дата по
0.3.0        Маска параметров drpt...
102.1.1      Ключ (Rid) корреспондента
102.4.1      Наименование корреспондента
101.1.2      Ключ (Rid) группы корреспондентов
101.3.2      Наименование группы корреспондентов
100.1.3      Ключ (Rid) валюты, в которой строится отчет
100.3.3      Код валюты

Groups       Список корреспондентов для группировки
------
102.1.0      Ключ (Rid) корреспондента
102.4.0      Наименование корреспондента
105.4.0      Начальное сальдо по корреспонденту: сумма б/н
105.5.0      Начальное сальдо по корреспонденту: НДС
105.6.0      Начальное сальдо по корреспонденту: НСП
105.8.0      Начальное сальдо по корреспонденту: сумма в/н

Report       Отчет
------
102.1.0      Ключ группы (Rid корреспондента)
113.255.7    0 - накладная, иначе - платежный документ
113.1.7      Ключ (Rid) документа
113.3.7      Дата документа
113.4.7      Строковая часть номера документа
113.5.7      Числовая часть номера документа
113.10.7     Тип документа DocRec::Type/PDocRec::Type
110.1.1      Ключ (Rid) счета-фактуры
110.10.1     Тип счета-фактуры DocRec::Type
110.3.1      Дата счета-фактуры
110.4.1      Строковая часть номера счета-фактуры
110.5.1      Числовая часть номера счета-фактуры
105.4.0      Сумма б/н
105.5.0      НДС
105.6.0      НСП
105.8.0      Сумма в/н


+--------------------------------------------+
|   Расширенный список накладных              |
+--------------------------------------------+

Params       Фильтр - соответствует полям Params списка накладных
------

Docs         Список заголовков накладных - соответствует полям Report списка накладных
----         за исключением
0.1.0, 0.2.0, 0.3.0 - cуммы б/н, НДС и НСП оплат по документу
0.4.0, 0.1.1, 0.2.1, 0.3.1, 0.4.1 - отсутствуют в отчете

Specs        Список спецификаций накладных
-----
0.1.0        Тип записи
105.1.1      Ключ (Rid) записи
103.1.1      Ключ (Rid) накладной

210.1.1      Ключ (Rid) товара
210.3.1      Текстовая часть кода товара
210.4.1      Числовая часть кода товара
210.2.1      Наименование товара

206.1.1      Ключ (Rid) единицы измерения
206.2.1      Наименование единицы измерения

206.1.3      Ключ (Rid) ,базовой единицы измерения
206.2.3      Наименование базовой единицы измерения

105.3.2      Кол-во в базовой ед. измерения
105.3.0      Кол-во в ед. измерения накладной

105.4.4      Закупочная сумма б/н
105.5.4      Закупочная сумма НДС
105.6.4      Закупочная сумма НСП
212.2.4      Закупочная ставка НДС
213.2.4      Закупочная ставка НСП

105.4.5      Отпускная сумма б/н
105.5.5      Отпускная сумма НДС
105.6.5      Отпускная сумма НСП
212.2.5      Отпускная ставка НДС
213.2.5      Отпускная ставка НСП


+---------------------------------------------+
|   Акт реализации, Спец. акт реализации      |
+---------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Опции
209.1.2       Ключ (Rid) товарной группы
209.3.2       Наименование товарной группы
102.1.0       Ключ (Rid) склада
102.4.0       Наименование склада
101.1.1       Ключ (Rid) группы складов
101.3.1       Наименование группы складов
214.1.5       Ключ (Rid) группы станций
214.3.5       Наименование группы станций
216.1.4       Ключ (Rid) категории расхода
216.2.4       Наименование категории расхода
100.1.6       Ключ (Rid) валюты, в кот. строить отчет
100.3.6       Код валюты, в кот. строить отчет

1.1.0         Поле кода типа группировки:
                   0 - не группировать
                   1 - по дереву товаров
                   2 - по складам
                   3 - по категориям расхода
                   4 - по местам реализации
1.2.0         Наименование типа группировки

Groups        Список групп для группировки
------
0.1.0         Идентификатор группы (для складов - идентификатор склада, для
              прочих объектов - ключ (Rid))
0.2.0         Дополнительный параметр (для складов - Rid, для дерева товаров -
              Rid родителя, для прочих объектов не определен)
0.3.0         Наименование группы

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.0       Ключ (Rid) товара             
209.1.0       Ключ (Rid) товарной группы
210.2.0       Наименование товара           
210.3.0       Текстовая часть кода товара   
210.4.0       Числовая часть кода товара    
210.5.0       Тип товара
206.1.0       Ключ (Rid) единицы измерения  
206.2.0       Наименование единицы измерения
/-
0.11.0        Количество
0.20.0        Закуп. сумма без налогов
0.21.0        Закуп. НДС
0.22.0        Закуп. НСП
0.30.0        Закуп. сумма с налогами
0.20.1        Отп. сумма без налогов
0.21.1        Отп. НДС
0.22.1        Отп. НСП
0.30.1        Отп. сумма с налогами
0.100.0       Наценка б/н
0.101.0       Наценка б/н (%)
0.100.10      Наценка в/н
0.101.10      Наценка в/н (%)
-/
Для спец. отчета
Поля /--/ с Object = 0 - данные учета
Поля /--/ с Object = 2 - данные спец. учета
Поля /--/ с Object = 3 - разница

+----------------------------------------------+
|   Продажи по дням                            |
+----------------------------------------------+

Params        Фильтр
------
Соответствует Params Акта реализации (см. выше), но НЕТ ГРУППИРОВКИ и

0.4.0         Шаг

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
0.91.0        Дата с  (начало периода)
0.92.0        Дата по (окончание периода)
0.11.0        Количество
0.20.0        Закуп. сумма без налогов
0.21.0        Закуп. НДС
0.22.0        Закуп. НСП
0.30.0        Закуп. сумма с налогами
0.20.1        Отп. сумма без налогов
0.21.1        Отп. НДС
0.22.1        Отп. НСП
0.30.1        Отп. сумма с налогами
0.100.0       Наценка б/н
0.101.0       Наценка б/н (%)
0.100.10      Наценка в/н
0.101.10      Наценка в/н (%)

+----------------------------------------------+
|   Список комплектов                          |
+----------------------------------------------+

Params        Фильтр
------
0,1,0         Опции (тип учета, вкл. поддерево)
0.9.0         Дата (для расчета стоимости)
201.1.0       Ключ (Rid) группы комплектов
201.3.0       Наименование группы комплектов
102.1.1       Ключ (Rid) склада
102.4.1       Наименование склада
100.1.2       Ключ (Rid) валюты, в кот. строить отчет
100.3.2       Код валюты, в кот. строить отчет

Report        Отчет
------
0.1.0         Тип строки
202.1.0       Ключ (Rid) версии комплекта
204.8.0       Ключ (Rid) компонента
204.9.0       Наименование компонента
204.3.0       Текстовая часть кода объекта
204.4.0       Числовая часть кода объекта
206.1.0       Ключ (Rid) единицы измерения
206.2.0       Наименование единицы измерения
203.2.0       Тип компонента
203.4.0       Брутто
203.5.0       % 1
203.15.0      Нетто
203.6.0       % 2
203.16.0      Выход
202.7.0       Технология

+-------------------+
|   Кальк. карта    |
+-------------------+

Params        Фильтр
------
0.1.0       Дата с
0.2.0       Дата по
0.3.0       Опции
0.4.0       // товар, комплект или их группа
102.1.0     Ключ (Rid) склада
102.2.0     Наименование склада
214.1.1     Ключ (Rid) группы станций
214.3.1     Наименование группы станций
100.1.6     Ключ (Rid) валюты, в кот. строить отчет
100.3.6     Код валюты, в кот. строить отчет

Report        Отчет
------
0.1.0         Тип строки
204.8.0       Ключ (Rid) компонента
204.9.0       Наименование компонента
206.1.0       Ключ (Rid) единицы измерения
206.2.0       Наименование единицы измерения
203.2.0       Тип компонента
203.4.0 ... 5 Брутто
0.10.0 ... 5  Сумма б/н
0.11.0 ... 5  Цена
0.15.0 ... 5  НДС
0.16.0 ... 5  НСП
0.17.0 ... 5  Сумма в/н

тип строки    0 - заголовок карты
  204.9.0     наименование объекта (товара или комплекта)
  206.2.0     код объекта
  0.10.х      дата калькуляции
тип строки    2 - себестоимость за норму закладки
  203.4.х     норма закладки
тип строки    3 - себестоимость за 1 норму закладки
тип строки    4 - отпусткная стоимость
  204.8.0     отп. ставка НДС (%)
  206.1.0     отп. ставка НСП (%)
тип строки    6 - наценка
тип строки    7 - наценка (%)
  203.4.х     наценка по суммам без налогов
  0.10.х      отп. суммы с налогами    (для расчета наценки на клиенте)
  0.15.х      закуп. суммы с налогами  (для расчета наценки на клиенте)


+----------------------------------------------+
|   Документ расхода                           |
+----------------------------------------------+

Header        Заголовок
------
230.1.0       Ключ (Rid) документа
230.2.0       Текстовая часть номера документа
230.3.0       Числовая часть номера документа
230.4.0       Дата документа
230.5.0       Параметры документа
214.1.0       Ключ (Rid) группы станций  
214.3.0       Наименование группы станций
216.1.0       Ключ (Rid) категории расхода  
216.2.0       Наименование категории расхода
230.7.0       Примечание
  История комплекта
0,1,7         Дата создания
0,2,7         Время создания в секундах 
0,3,7         Дата последнего изменения
0,4,7         Время последнего изменения в секундах 
0,5,7         Создатель
0,6,7         Исправитель

Specs         Спецификации
------
231.1.0       Ключ (Rid) спецификации
231.2.0       Кол-во
231.3.0       Сумма (б/н)
231.4.0       Опции спецификации
231.5.10      Сумма НДС
231.6.10      Сумма НСП
231.30.0      Сумма (в/н)
230.1.0       Ключ (Rid) документа расхода
210.1.0       Ключ (Rid) товара
210.2.0       Наименование товара        
210.3.0       Текстовая часть кода товара
210.4.0       Числовая часть кода товара 
210.5.0       Тип товара
210.7.0       Отпускная цена товара
206.1.0       Ключ (Rid) единицы измерения  
206.2.0       Наименование единицы измерения
200.1.0       Ключ (Rid) комплекта
200.2.0       Наименование комплекта
200.4.0       Параметры комплекта
102.1.5       Ключ (Rid) склада  
102.4.5       Наименование склада
103.1.0       Ключ (Rid) накладной комплектации
103.4.0       Строковая часть номера накладной комплектации
103.5.0       Числовая часть номера накладной комплектации 
103.10.0      Тип накладной
103.11.0      Опции накладной
103.1.1       Ключ (Rid) расходной накладной или платежки
103.4.1       Строковая часть номера расходной накладной или платежки
103.5.1       Числовая часть номера расходной накладной или платежки
103.10.1      Тип накладной или платежки
103.11.1      Опции накладной или платежки


+----------------------------------------------+
|   Предполагаемый расход                      |
+----------------------------------------------+

Params        Фильтр
------
0.1.0         Дата расхода
0.2.0         Параметры (набор флажков):  1 - разделять по складам, 4 - использовать замены
102.1.0       Ключ (Rid) склада  
102.4.0       Наименование склада

ExpDocs       Документы расхода
------
230.1.0       Ключ (Rid) документа расхода
230.5.0       Параметры документа

Report        Отчет
------
102.1.0       Ключ (Rid) склада  
102.4.0       Наименование склада
210.1.0       Ключ (Rid) товара             
209.1.0       Ключ (Rid) товарной группы
210.2.0       Наименование товара           
210.3.0       Текстовая часть кода товара   
210.4.0       Числовая часть кода товара    
210.5.0       Тип товара
206.1.0       Ключ (Rid) единицы измерения  
206.2.0       Наименование единицы измерения
0.11.0        Кол-во
0.12.0        Остаток до расхода
0.13.0        Остаток после расхода
0.15.0        Необходимое кол-во


+---------------------------------------------+
|   Предполагаемая стоимость товара           |
+---------------------------------------------+

Params        Фильтр
------
0.1.0         Дата
0.3.0         Опции
209.1.5       Ключ (Rid) товарной группы
209.3.5       Наименование товарной группы
102.1.6       Ключ (Rid) склада
102.4.6       Наименование склада
208.1.8       Ключ (Rid) категории товаров
208.2.8       Наименование категории товаров
219.1.9       Ключ (Rid) бух. категории товаров
219.2.9       Наименование бух. категории товаров
214.1.21      Ключ (Rid) группы станций
214.3.21      Наименование группы станций
100.1.4       Ключ (Rid) валюты, в кот. строить отчет
100.3.4       Код валюты, в кот. строить отчет

1.1.0         Поле кода типа группировки:
                   0 - не группировать
                   1 - по дереву товаров
                   2 - по складам
                   3 - по категориям расхода
                   4 - по местам реализации
1.2.0         Наименование типа группировки

Groups        Список групп для группировки
------
0.1.0         Идентификатор группы (для складов - идентификатор склада, для
              прочих объектов - ключ (Rid))
0.2.0         Дополнительный параметр (для складов - Rid, для дерева товаров -
              Rid родителя, для прочих объектов не определен)
0.3.0         Наименование группы

Report        Отчет
------
0.1.0         Поле соответствия группе (указывает на {0.1.0} из Groups)
210.1.9       Ключ (Rid) товара
210.2.9       Наименование товара
210.3.9       Текстовая часть кода товара
210.4.9       Числовая часть кода товара
206.1.9       Ключ (Rid) единицы измерения
206.2.9       Наименование единицы измерения
102.1.12      Ключ (Rid) склада
102.4.12      Наименование склада
0.20.1        Отп. сумма без налогов
0.21.1        Отп. НДС(%)
0.22.1        Отп. НСП(%)
0.30.1        Отп. сумма с налогами
0.20.0        Закуп. сумма без налогов
0.21.0        Закуп. НДС(%)
0.22.0        Закуп. НСП(%)
0.23.0        Закуп. НДС
0.24.0        Закуп. НСП
0.30.0        Закуп. сумма с налогами
0.100.0       Наценка б/н
0.101.0       Наценка б/н (%)
0.100.10      Наценка в/н
0.101.10      Наценка в/н (%)


+---------------------------------------------+
|   Комплект (из словаря)                     |
+---------------------------------------------+

Base          Основная информация
------
201.1.0       Ключ (Rid) группы комплектов
201.3.0       Наименование группы комплектов
200.2.0       Наименование комплекта
200.3.0       Код комплекта
200.4.0       Опции комплекта
206.1.0       Ключ (Rid) единицы измерения норма закладки
206.2.0       Наименование единицы измерения норма закладки
102.1.0       Ключ (Rid) склада
102.4.0       Наименование склада
200.20.0      Стоимость б/н
200.21.0      НДС
200.22.0      НСП
200.30.0      Стоимость в/н
200.40.0      Предполагаемая отпускная цена
200.41.0      Наценка или FoodCost (%)
  История комплекта
0,1,7         Дата создания
0,2,7         Время создания в секундах 
0,3,7         Дата последнего изменения
0,4,7         Время последнего изменения в секундах 
0,5,7         Создатель
0,6,7         Исправитель

Header        Заголовок версии комплекта
------
202.20.0      Дата начала действия версии комплекта
202.3.0       Дата окончания действия версии комплекта
202.4.0       Норма закладки комплекта
202.7.0       Технология приготовления

Specs         Компонеты
-----

204.8.0       Ключ (Rid) компонента
204.9.0       Наименование компонента
206.1.0       Ключ (Rid) единицы измерения
206.2.0       Наименование единицы измерения
206.1.1       Ключ (Rid) баз. единицы измерения
206.2.1       Наименование баз. единицы измерения

203.1.0       Ключ (Rid) записи
203.2.0       Тип компонента
203.3.0       Ключ (Rid) компонента
203.4.1       Брутто
203.5.1       % 1
203.6.1       % 2
203.7.1       % цены
220.1.0       Ключ (Rid) группы замен
220.2.0       Наименование группы замен
203.15.1      Нетто
203.16.1      Выход
203.20.2      Стоимость б/н
203.21.2      НДС
203.22.2      НСП
203.30.2      Стоимость в/н


+----------------------------------------------+
|   Вхождение товара в комплекты               |
+----------------------------------------------+

Params        Фильтр
------
0.1.0         Ключ (Rid) компонета
0.2.0         Параметры (тип компонента или тип учета)
0.3.0         Дата с (для версий комплекта)
0.4.0         Дата по (для версий комплекта)

Report        Отчет
------
200.1.0       Ключ (Rid) комплекта
200.2.0       Наименование комплекта
200.3.0       Код комплекта
206.1.0       Ключ (Rid) единицы измерения
206.2.0       Наименование единицы измерения
202.2.0       Дата начала действия версии комплекта
202.4.0       Норма закладки комплекта
203.1.1       Ключ (Rid) записи
203.4.1       Брутто
206.1.1       Ключ (Rid) единицы измерения брутто
206.2.1       Наименование единицы измерения брутто
220.1.1       Ключ (Rid) группы замен
220.2.1       Наименование группы замен


+----------------------------------------------+
|   Вхождение товара в предп. расход           |
+----------------------------------------------+
Params        Фильтр
------
0.1.0         Ключ (Rid) товара
0.2.0         Параметры документов расхода (тип учета)
0.3.0         Дата расхода

Report        Отчет
------
210.1.0       Ключ (Rid) товара
210.2.0       Наименование товара
210.3.0       Текстовая часть кода товара
210.4.0       Числовая часть кода товара
206.1.0       Ключ (Rid) единицы измерения
206.2.0       Наименование единицы измерения
200.1.1       Ключ (Rid) комплекта
200.2.1       Наименование комплекта
200.3.1       Код комплекта
206.1.1       Ключ (Rid) единицы измерения нориы
206.2.1       Наименование единицы измерения нормы
202.2.1       Дата начала действия версии комплекта
202.4.1       Норма закладки комплекта
231.2.0       Кол-во
210.99.0      Расход
102.1.2       Ключ (Rid) склада
102.4.2       Наименование склада


+----------------------------------------------+
|   Прейскурант                                |
+----------------------------------------------+

Header        Заголовок
------
240.1.0       Ключ (Rid) документа
240.2.0       Текстовая часть номера документа
240.3.0       Числовая часть номера документа
240.4.0       Тип документа (0-приход,1-расход)
240.5.0       Дата документа
240.6.0       Параметры документа
102.1.1       Ключ (Rid) корреспондента
102.4.1       Наименование корреспондента
100.1.2       Ключ (Rid) валюты
100.3.2       Код валюты
240.7.0       Примечание
  История
0.5.7         Создатель

Specs         Спецификации
------
241.1.0       Ключ (Rid) спецификации
241.2.0       Сумма (б/н)
210.1.0       Ключ (Rid) товара
210.2.0       Наименование товара        
210.3.0       Текстовая часть кода товара
210.4.0       Числовая часть кода товара 
210.5.0       Тип товара
206.1.0       Ключ (Rid) единицы измерения  
206.2.0       Наименование единицы измерения
212.2.0       Ставка НДС
213.2.0       Ставка НСП


+----------------------------------------------+
|   Список прейскурантов                       |
+----------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Опции
102.1.0       Ключ (Rid) корреспондента
102.4.0       Наименование корреспондента
100.1.0       Ключ (Rid) валюты, в кот. строить отчет
100.3.0       Код валюты, в кот. строить отчет

Report        Отчет
------
240.1.0       Ключ (Rid) документа
240.2.0       Текстовая часть номера документа
240.3.0       Числовая часть номера документа
240.4.0       Тип документа (0-приход,1-расход)
240.5.0       Дата документа
240.6.0       Параметры документа
102.1.1       Ключ (Rid) корреспондента
102.4.1       Наименование корреспондента
100.1.2       Ключ (Rid) валюты, в кот. строить отчет
100.3.2       Код валюты, в кот. строить отчет


+----------------------------------------------+
|   Отклонение по прейскурантам                |
+----------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Опции
  0x20000  только товары, присутствующие в прейскурантах
  0x40000  только движения, в к-рых есть разница по суммам
  0x10000  тип ( 0 - приход, 1 - расход )
210.1.1       Ключ (Rid) товара
210.2.1       Наименование товара        
209.1.5       Ключ (Rid) товарной группы
209.3.5       Наименование товарной группы
102.1.6       Ключ (Rid) склада
102.4.6       Наименование склада
208.1.8       Ключ (Rid) категории товаров
208.2.8       Наименование категории товаров
219.1.9       Ключ (Rid) бух. категории товаров
219.2.9       Наименование бух. категории товаров
101.1.7       Ключ (Rid) группы складов
101.3.7       Наименование группы складов

Report        Отчет
------
103.1.0       Ключ (Rid) накладной
103.3.0       Дата накладной
103.4.0       Строковая часть номера накладной
103.5.0       Числовая часть номера накладной
103.10.0      Тип накладной
103.11.0      Опции накладной
103.100.2     Цена накладной
102.1.4       Ключ (Rid) корреспондента
102.4.4       Наименование корреспондента
210.1.1       Ключ (Rid) товара
210.2.1       Наименование товара        
210.3.1       Текстовая часть кода товара
210.4.1       Числовая часть кода товара 
206.1.1       Ключ (Rid) единицы измерения  
206.2.1       Наименование единицы измерения
240.1.5       Ключ (Rid) прейскуранта
240.4.5       Тип прейскуранта
240.6.5       Опции прейскуранта
240.2.5       Строковая часть номера прейскуранта
240.3.5       Числовая часть номера прейскуранта
240.100.5     Цена прейскуранта
0.49.0        Кол-во в накладной
0.50.2 .. 3   Сумма б/н по документу
0.51.2 .. 3   Сумма НДС по документу
0.52.2 .. 3   Сумма НСП по документу
0.53.2 .. 3   Сумма в/н по документу   2 - накладная, 3 - прейскурант
0.50.10       Расхождение сумм б/н
0.50.11       Расхождение сумм б/н в %
0.53.10       Расхождение сумм в/н
0.50.11       Расхождение сумм в/н в %

+--------------------------------------------+
|   Сроки оплаты накладных                   |
+--------------------------------------------+

Params        Фильтр
------
0.1.0         Дата с
0.2.0         Дата по
0.3.0         Маска типов документов (1 << DocRec::Type, объединено по битовому OR)
0.4.0         Опции drpt...
0.11.0        Дата для расчета просроченной задолженности
102.1.12      Ключ (Rid) корреспондента
102.4.12      Наименование корреспондента
101.1.23      Ключ (Rid) группы корреспондентов
101.3.23      Наименование группы корреспондентов
100.1.4       Ключ (Rid) валюты, в кот. строить отчет
100.3.4       Код валюты, в кот. строить отчет

Report        Отчет
------
103.1.1      Ключ (Rid) накладной
103.3.1      Дата накладной
103.14.1     Стамп даты накладной
103.4.1      Строковая часть номера накладной
103.5.1      Числовая часть номера накладной
103.10.1     Тип накладной DocRec::Type
103.16.1     Срок оплаты
102.1.2      Ключ (Rid) корреспондента-поставщика
102.4.2      Наименование корреспондента-поставщика
0.1.3        Закупочная сумма б/н
0.2.3        Закупочный НДС
0.3.3        Закупочный НСП
0.4.3        Закупочная сумма в/н
0.1.4        Отпускная сумма б/н
0.2.4        Отпускной НДС
0.3.4        Отпускной НСП
0.4.4        Отпускная сумма в/н
0.1.5        Оплачено по документу - сумма б/н
0.2.5        Оплачено по документу - НДС
0.3.5        Оплачено по документу - НСП
0.4.5        Оплачено по документу - сумма в/н
0.1.6        Просроченная задолженность - сумма б/н
0.2.6        Просроченная задолженность - НДС
0.3.6        Просроченная задолженность - НСП
0.4.6        Просроченная задолженность - сумма в/н
0.1.7        Задолженность - сумма б/н
0.2.7        Задолженность - НДС
0.3.7        Задолженность - НСП
0.4.7        Задолженность - сумма в/н

Удаление документов из SH4

Важно! Если используется обрезание базы данных SH (любым способом), у которой настроена связка с 1С редакции 3.0 (как здесь - http://support.ucs.ru/ru/node/8219#header-6) - необходимо после успешной обрезки в SH ЗАЧИСТИТЬ старый "код базы" 1С ("Сервис\Собственные реквизиты"), а в настройках 1С прописать НОВЫЙ код 1С. Иначе произойдет РАССИНХРОНИЗАЦИЯ баз данных! 

Ручное удаление данных

Важно: Перед выполнением любой операции, связанной с удалением данных, обязательно выполняйте резервное копирование базы данных!

Вариант №1

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

Вариант №2  (если накладных много)

  • строим ведомость остатков по складам
  • копируем их в приходные накладные, приходные накладные делаем активными
  • строим расход блюд, выделяем его и удаляем документы, связанные с расходом блюд
  • после удаления снова выделяем весь расход блюд и удаляем
  • выделяем все накладные до этих накладных и нажимаем кнопку "Удалить накладные"

Вариант №3 (полное удаление документов)

  • строим ведомость остатков по складам
  • копируем их в приходные накладные, приходные накладные делаем активными
  • копируем полученные накладные в xml-файлы
  • выполняем резервное копирование базы данных
  • в конфигурационном файле сервера склада \SDBSrv\SH_CRTDB.ini  в секции [Options] прописываем параметр DelDocs=1 (если секция отсутствует, добавляем ее вручную)
  • выполняем восстановление базы из резервной копии
  • подключаемся к восстановленной базе данных и копируем накладные, сохранененые ранее в xml-файлы
  • в файле \SDBSrv\SH_CRTDB.ini  в секции [Options] устанавливаем параметр DelDocs=0

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

Автоматическое удаление данных

Важно: Перед выполнением любой операции, связанной с удалением данных, обязательно выполняйте резервное копирование базы данных!

Общая информация

Автоматическое удаление данных выполняется с помощью приложения ShCut.exe.

Дистрибутив приложения можно загрузить с FTP ftp://ftp.ucs.ru/storehouse/sh4/shCut/

Особенности приложения ShCut:

  • остатки сохраняются на указанную дату
  • остаткии и другие поправочные документы создаются с соблюдением очередей FIFO

Рекомендации по использованию:

  • рекомендуется использовать приложение ShCut с версиями склада 4.64 и выше
  • удаление данных рекомендуется выполянть только по запросу Заказачика либо в случае каких-либо технических ограничений системы (например, при достижении предельного размера базы данных 1,8 Гб)
  • если удаляемый период слишком большой, рекомендуется вначале использовать ручной вариант полного удаления данных, а затем периодически использовать приложение ShCut. Связано это с тем, что приложение ShCut сохраняет очереди FIFO и при необходимости может автоматически создавать доп. поправочные документы (эти документы будут созданы до даты начала удаляемого периода) - таким образом, чем больше информации в базе данных, тем больше поправочных документов останется после использования приложения ShCut (созданные документы необходимы для формирования остатков по FIFO и для всех документов будет установлен корреспондент "Входящие остатки")

Сервер склада версии 4.95.ххх и ниже

Примечание: Версия сервера склада определяется версией библиотеки \SDBSrv\ShServ.dll.

Важно: Удаление данных необходимо выполнять на дополнительном сервере склада, специально созданном для этих целей.

Порядок удаления данных для серверов версии 4.95.ххх и ниже:

  • выполнить резервное копирование рабочей базы данных
  • создать дополнительный сервер без создания базы данных
  • выполнить восстановление резервной копии рабочей БД на дополнительном сервере
  • в восстановленной базе данных создать спец. корреспондента "Входящие остатки"
  • проверить восстановленную базу данных на ошибки с помощью приложения \SH4\Sdbman.exe или \SH4\Shc.exe
  • скопировать приложение ShCut.ехе в рабочую директорию \SH4 на любом клиентском месте (рекомендуется использовать клиентскую часть на компьютере, где работает сервер склада)
  • в конфигурации клиентской части добавить подключение к дополнительному серверу склада, созданному ранее
  • запустить приложение ShCut.ехе и подключиться к дополнительному серверу:

  • в поле "Начало рабочего периода" установить дату, на которую будут сформированы входящие остатки (все документы до указанной даты будут удалены)
  • в поле "Корреспондент" выбрать корреспондента для формирования накладных (например, "Входящие остатки")
  • нажать кнопку "Установить рабочий период" и дождаться окончания процесса удаления данных
  • для уменьшения размера базы данных последовательно выполнить операцию резервного копирования и восстановление из резерной копии для обработанной базы данных
  • совместно с Заказчиком сравнить остатки в текущей и обработанной базах данных
  • проверить обработанную базу данных на ошибки с помощью приложения \SH4\Sdbman.exe или \SH4\Shc.exe
  • если остатки сходятся и ошибок не обнаружено, настроить обработанную базу данных в качестве рабочей

Сервер склада версии 4.95.хх и выше

Примечание: Версия сервера склада определяется версией библиотеки \SDBSrv\ShServ.dll.

Важно: Удаление данных необходимо выполнять на дополнительном сервере склада, специально созданном для этих целей.

Для удаления накладных в базе данных сервера склада 4.95.ххх и выше необходимо использовать версию ShCut.exe 4.96.276 и выше.

В версии ShCut 4.96.276 появились изменения, связанные с использованием алкогольной декларации.

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

Порядок удаления данных для серверов версии 4.95.ххх и выше:

  • выполнить резервное копирование рабочей базы данных
  • создать дополнительный сервер без создания базы данных
  • если версия рабочего сервера 4.95.ххх, необходимо выполнить следующие действия:
    • остановить сервер
    • заменить в директории сервера \SDBSrv файлы ShServ.dll и Sdbserv.exe - обновленные файлы можно взять из дистрибутива серверной части версии 4.98.ххх и выше
    • запустить сервер
  • выполнить восстановление резервной копии рабочей БД на дополнительном сервере
  • в восстановленной базе данных создать дополнительный (виртуальный) склад с отличительным названием, например "Виртуальный склад"
  • в восстановленной базе данных создать спец. корреспондента "Входящие остатки"
  • проверить восстановленную базу данных на ошибки с помощью приложения \SH4\Sdbman.exe или \SH4\Shc.exe
  • в восстановленной базе данных с помощью приложения \SH4\Sdbman.exe снять ограничения на работу с отрицательными остатками (меню "Прочее" ⇒ "Ограничения на работу с отрицательными остатками ..."):

  • скопировать приложение ShCut.ехе в рабочую директорию \SH4 на любом клиентском месте (рекомендуется использовать клиентскую часть на компьютере, где работает сервер склада)
  • в конфигурации клиентской части добавить подключение к дополнительному серверу склада, созданному ранее
  • запустить приложение ShCut.ехе и подключиться к дополнительному серверу:

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

Примечание: Опцию "Только проверить ссылки" устанавливать не требуется - это сервисная функция.

  • нажать кнопку "Установить рабочий период" и дождаться окончания процесса удаления данных
  • после появления сообщения "Дата рабочего периода успешно установлена" проверить последние записи в лог-файле сервера (расположен в директории сервера \SDBSrv)

Пример записей в лог-файле сервера, созданных в процессе удаления данных:

Exception EmptyCm processing doc К___3922
Exception EmptyCm processing doc К___46
22.05.2013 15:45:27- Exp docs deletion ...
22.05.2013 15:45:43- Doc refs deletion ...
22.05.2013 15:50:32- Doc specs deletion ...
22.05.2013 15:51:44- Docs deletion ...
22.05.2013 15:59:17- Fifo data deletion ...
22.05.2013 15:59:41- Fifo queues building ...
22.05.2013 15:59:43- Fifo static data building ...
22.05.2013 15:59:43- SysFlag = 1
22.05.2013 15:59:43- Refs checking ...
22.05.2013 15:59:44- Attr depart checking ...
22.05.2013 15:59:44- Problem queues search ...
Ламбруско Медичи бел. Склад-бар
Хейнекен Бар №3 Боулинг
Золотой Фазан Бар №3 Боулинг
Бочкарев светлое Бар №3 Боулинг
Бочкарев светлое Бар №2 Бильярд
22.05.2013 15:59:45- Docs datestamp checking ...
22.05.2013 15:59:48- Docs creation ...
Exception EmptyCm processing doc К___38
22.05.2013 15:59:54- Exp docs deletion ...
22.05.2013 16:00:02- Doc refs deletion ...
22.05.2013 16:01:33- Doc specs deletion ...
22.05.2013 16:02:05- Docs deletion ...
22.05.2013 16:03:59- Fifo data deletion ...
22.05.2013 16:04:12- Fifo queues building ...
22.05.2013 16:04:13- Fifo static data building ...
22.05.2013 16:04:13- IDocs deletion ...
22.05.2013 16:04:13- *** CutDocs completed ***
22.05.2013 16:24:08- Logout. User=Admin, id=5, comp.name=W8D.

Обращать внимание следует на записи, которые следуют за сообщением "Problem queues search ...":

22.05.2013 15:59:44- Problem queues search ...
Ламбруско Медичи бел. Склад-бар
Хейнекен Бар №3 Боулинг
Золотой Фазан Бар №3 Боулинг
Бочкарев светлое Бар №3 Боулинг
Бочкарев светлое Бар №2 Бильярд

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

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

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

  • для уменьшения размера базы данных последовательно выполнить операцию резервного копирования и восстановление из резерной копии для обработанной базы данных
  • совместно с Заказчиком сравнить остатки в текущей и обработанной базах данных
  • проверить обработанную базу данных на ошибки с помощью приложения \SH4\Sdbman.exe или \SH4\Shc.exe
  • если остатки сходятся и ошибок не обнаружено, настроить обработанную базу данных в качестве рабочей

Особенности удаления жесткосвязанных документов

 В некоторых случаях при удалении накладных с помощью приложения ShCut версии 4.96.ххх может происходить автоматический сдвиг даты, на которую формируются входящие остатки (обсуждение в трекере http://tracker.ucs.ru:8080/redmine/issues/27950)

При анализе лог-файла сервера могут быть обнаружены записи следующего типа:

 48757 11.11.2010 Адреналин <- 1113694458 31.08.2012 Адреналин
 48757 11.11.2010 Адреналин <- 1113694458 31.08.2012 Адреналин
 48777 09.11.2010 Пирожное "Эксклюзив" <- 49102 15.11.2010 Пирожное "Эксклюзив"
 48619 08.11.2010 Пирожное "Эксклюзив" <- 48627 09.11.2010 Пирожное "Эксклюзив"
 46805 15.10.2010 Пирожное "Нюаж шоколад" <- 49102 15.11.2010 Пирожное "Нюаж шоколад"
Причиной такой ситуации являются жестко связанные между собой документы, что фактически приводит к разрыву очереди FIFO.
 
Информация для понимания ситуации:
  • например, необходимо удалить накладные по дату DD.MM.YYYY
  • если существует жесткосвязанная пара документов, обе части которой находятся после даты DD.MM.YYYY, это не влияет на процесс удаления накладных
  • если существует жесткосвязанная пара документов, обе части которой находятся до даты DD.MM.YYYY, это не влияет на процесс удаления накладных
  • если существует жесткосвязанная пара документов где, например, приходная накладная "ПН" - до даты DD.MM.YYYY, а расходная накладная "РН" после даты DD.MM.YYYY, то ShCut будет выполнять удаление только по дату приходной накладной  "ПН", т.к. нельзя "расцепить" документы "ПН" и "РН"
  • если найдена такая пара "ПН"⇔ "РН", ShCut устанавливает дату DD.MM.YYYY соотв. дате документа "ПН"
  • далее процесс продолжается в том же ключе - дата удаления документов сдвигается назад, после чего снова проверяется, есть ли связанные документы уже относительно новой даты и т.д.

Итог: Чтобы выполнить удаление накладных по требуемую дату  DD.MM.YYYY,  достаточно избавиться от всех жесткосвязанных пар документов "ПН"⇔ "РН", где дата документа "ПН" до даты DD.MM.YYYY, а дата документа "РН" после даты  DD.MM.YYYY