Техническая документация r_keeper_StoreHouse_4

Установка и настройка StoreHouse 4

Введение

Система автоматизации складского учета StoreHouse 4 позволяет полностью контролировать процесс управления производством в ресторанах, кафе и ресторанах быстрого обслуживания, работающих на системе управления R-Keeper.

С помощью StoreHouse 4 можно:

Состав системы

Система состоит из серверной и клиентской частей.

К серверной части относятся следующие приложения:

К клиентской части относятся следующие приложения:

Блок-схема взаимосвязи основных модулей

Системные требования

Серверная часть

Клиентская часть

Лицензирование

StoreHouse 4 поставляется с аппаратным ключом защиты Guardant Stealth II. Ключ защиты устанавливается только на сервере склада - при подключении клиентов сервер проверяет ограничения лицензии, записанной в ключ. 

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

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

Обратите внимание, что при настройке интеграции с r_keeper_7, лицензия тоже используется. Поэтому, закройте клиентские подключения перед настройкой — иначе DataCollector не сможет подключиться.

Дополнительные подключения

Если вы хотите докупить лицензии на SH4, воспользуйтесь утилитой SHKey.exe. Утилита по-умолчанию находится в подкаталоге \SDBCli.
При работе с утилитой SHKey.exe рекомендуется подключать только один ключ защиты, предназначенный для склада.

Чтобы получить дополнительную лицензию:

Рис. Рабочее окно утилиты SHKey.exe для версии склада ниже 4.80

Рис. Рабочее окно утилиты SHKey.exe для версий склада выше 4.80

Важно: После попытки 7 (семь) раз сохранить некорректную лицензию, ключ будет заблокирован! Разблокировать ключ можно только в офисе компании UCS.

Установка серверной части

Для установки серверной части рекомендуется использовать ОС из семейства Windows NT:  Windows 2000\XP\7\8\2003 Server и выше.

Для установки серверной части необходимо:

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

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

Примечание: Рекомендуется устанавливать SH4 на не системный раздел диска.

Создание сервера

Для создания нового сервера или изменения конфигурации имеющегося используется приложение SdbsConf.exe. Оно по-умолчанию находится в папке \SDBCli

Для создания сервера необходимо:

После выбора сервера установленные параметры автоматически отображаются в соответствующих полях:

Описание параметров сервера:

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

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

Примечание: Подробная информация о резервном копировании и обслуживании БД StoreHouse 4 описана в этой статье.

20.05.2005 20:40:15- Server started
version=1.15
subkey=SDBSERV
def working set size min=204800, max=1413120
max cache memory=1024 pages (4096 K)

Возможны три варианта:

Возможные режима запуска:

Рекомендуется использовать режим запуска в качестве системной службы (Service).

Важно: Рекомендуется всегда включать параметр Automatic recovery.

На закладке Settings (Настройки) содержится единственный параметр Root directory:

Важно: После изменения любых настроек их необходимо сохранить с помощью кнопки Save.

Запуск сервера

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

В случае запуска в качестве сервиса состояние сервера можно проверить через стандартную оснастку Windows  «Пуск» \ «Настройка» \ «Панель управления» \ «Администрирование» \ «Службы».

Убедитесь, что соответствующий сервер (Sdb server : <имя сервера>) находится в состоянии «Работает» и тип запуска установлен в «Авто»:


Если служба не запущена, запустите её. 

В случае ручного или автоматического запуска в системном трее должна появиться иконка сервера:

Если в системе несколько серверов и используется ручной режим запуска (Manual), сервер необходимо запускать с ключом /n<ИмяСервера>

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

Sdbserv.exe /nSDB01SERV
Sdbserv.exe /nSDB02SERV

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

Установка клиентской части

Для установки клиентской части необходимо:

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

После установки клиентской части необходимо настроить параметры подключения к серверу(ам) и другие сервисные параметры.
Для настройки параметров клиента используется приложение SHSetup.exe (по-умолчанию находится в директории \SH4):

В верхней части окна SHSetup.exe отображается список серверов (баз данных), которые будут доступны для подлючения на данном рабочем месте (по-умолчанию список пуст).

Для добавления нового сервера необходимо:

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

С помощью операций «Добавить сервер» \ «Удалить сервер» можно добавить и удалить строки для добавления дополнительных серверов - операция также доступна по правому нажатию кнопки мыши в верхнем окне.

Далее расположен раздел "Прочие параметры":

Примечание: Дополнительная информация о значениях кеша есть здесь - https://support.ucs.ru/ru/node/9578. Рекомендуется ознакомиться.

Важно: После настройки всех параметров необходимо сохранить конфигурацию нажав кнопку «Сохранить».

Создание базы данных

В дистрибутиве StoreHouse 4 не поставляется пустая база данных.

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

Для создания БД используется приложение Sdbman.exe (находится в директории \SH4)

Примечание: Для создания и обслуживания БД рекомендуется установить на сервер клиентскую часть и использовать локальное подключение (Local) к серверу

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

127.0.0.1:pTa3333

где

Если сервер слушает все порты, можно указать строку вида 127.0.0.1:pT, т.е. без указания порта.

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

После входа в приложение на экране отобразится два сообщения с ошибками -  необходимо проигнорировать эти сообщения и войти в приложение:

После выполнения запроса в нижнем части окна появится сообщение о результате:

Восстановление базы данных

Для восстановления необходимо иметь файл резервной копии базы данных (*.bkp) - допускается восстановление резервных копий, выполненных на более младших версиях сервера (например, при обновления ПО StoreHouse 4).

Для создания резервной копии базы данных необходимо:

Примечание: Создание резервной копии базы данных также можно выполнить с помощью приложения \SH4\Shc.exe - операция «Инструменты» ⇒ «Резервное копирование»

Для восстановления базы данных из ранее созданной резервной копии необходимо:

Рекомендуется использовать локальное (Local) подключение при восстановлении базы данных, если используется подключение по протоколу TCP/IP, в качестве имени сервера необходимо указать строку вида:

127.0.0.1:pTa3333

где

Если сервер "слушает" все порты, можно указать строку вида 127.0.0.1:pT, т.е. без указания порта.

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

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

Обновление

Процесс обновление ПО StoreHouse 4 фактически состит из удаления текущей версии, установки требуемой версии и восстановлении резервной копии текущей рабочей базы данных.

Процесс обновления можно разделить на два этапа:

Обновление сервера

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

Дальнейший процесс обновления соотв. процессу установки серверной части:

Если новая версия StoreHouse требует перезаписи ключа защиты (см. историю изменений в файле ftp://ftp.ucs.ru/storehouse/sh4/Ver4.txt), выполните процедуру, описанную в разделе "Дополнительные подключения"

Далее необходимо восстановить параметры и базы данных серверов:

Обновление клиента

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

Дальнейший процесс обновления соотв. процессу установки клиентской части:

Далее необходимо восстановить конфигурацию клиентской части:

Отдельно стоит уделить внимание макетам печатных форм:

Примечание: При отсутствии информации какие формы были модицированы, рекомендуется скопировать все формы из сохраненной резервной копии предыдущей рабочей директории \SH4\RPT

Примечание: В файле \SH4\SH.RPT хранится сопоставление макетов печатных форм и соответствующих им отчетов или документов - если не использовать ранее сохраненную копию файла SH.RPT, необходимо будет заново вручную подключать дополнительные отчеты в SH4

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

Интеграция с r keeper 7

Импорт данных через DataCollector

Введение

Скачать дистрибутив можно на FTP-сервере по адресу: ftp://ftp.ucs.ru/rk7/shcr/
Для синхронизации баз данных R-Keeper 7 и StoreHouse реализована утилита DataCollector. При проведении действий (продаж) при помощи RK7 информация о  перечне и количестве проданных блюд и услуг, местах реализации и т. д. поступает в SQL -  таблицы. В свою очередь информация об изменениях на складе (в StoreHouse) также поступает в таблицы SQL, при помощи SHCR.
 
 
Рис. 1 - Схема связи SH и RK7
 
Т.е. в отличии от утилиты ImportRK, данные запрашиваются не у сервера справочников, а непосредственно из SQL базы.
 
Состав комплекта:
 
1. DataCollector.exe - непосредственно утилита, которая производит импорт справочников и продаж из RK7 в SH4. Может запускаться в режиме Desktop (обычный запуск exe-файла без параметров), либо в режиме службы-windows, для этого достаточно 1 раз запустить файл с ключом /install 
2. Settings.exe - утилита настройки импорта. Именно в ней настриваются параметры подключения к базе SH4, а также все параметры импорта. Важно!!!! Все произведенные настройки сохраняются непосредственно в базе SQL, поэтому не важно с какого рабочего места вы запускаете утилиту, считаются именно те настройки, которые вы производили последний раз. Т.е. для изменения настроек достаточно иметь утилиту, корректный udl-файл и доступ к базе SQL.
2. Scheduler.exe - планировщик задач. С помощью данной утилиты можно настроить расписание и периодичность импорта, а также посмотреть журнал выполнения задач.

1 Настройки SHCR

1.1 Настройка связи с БД RK7 под управлением SQL Server 

Для  работы утилиты SHCR необходимо настроить  файл подключения "test.udl" (при отсутствии файла необходимо создать новый). Файл содержит строку подключения к БД SQL, которая используется сервером справочников/отчетов в РК7 (рис.1а) для хранения накопительных данных смен..
 
Рис. 1а
 
Настроить значения в файле можно как простым редактированием в блокноте, так и стандартной утилитой "Средство канала передачи данных".
 
В Меню «Поставщик данных»  выбираем поставщика "Microsoft OLE DB Provider for SQL Server" (см. рис. 2)
 
 
Рис.2 – Выбор поставщика данных.
 
Во вкладке «Соединение» вносим имя SQL-сервера (вводим адрес сервера, на котором расположена необходимая база данных), имя пользователя, пароль, базу данных (вводим имя БД, которое будет использоваться для присоединенного файла БД SQL), проверяем соединение кнопкой "Проверить соединение" (см. рис. 3).
 

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

1.2 Settings.exe  - основные параметры

После создания файла test.udl запускаем файл "Settings.exe". При первичном запуске создаются таблицы в БД (назначение таблиц  см. в приложении 1).

В открывшемся окне проверяем, верно ли указан путь к udl, указываем дату старта и частоту происходящих синхронизаций R-Keeper v7 и StoreHouse 4 (см. рис. 4 - вкладка "Основные параметры"). Нажимаем кнопку «Тест соединения». В том случае, если все настройки введены верно, появится подтверждающее окно (см. рис. 5). 
 
 
 
Рис. 4 – Вкладка «Основные параметры»
soedinenie_ustanovleno.png

Рис. 5 – Подтверждение того, что соединение с сервером БД установлено

Описание настроек:

1. Путь к UDL-файлу - полный путь до файла настройки связи с SQL-базой

2. Пароль к БД - пароль для пользователя sa к базе SQL

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

4. Частота обновления - периодичность с которой будет запускаться DataCollector - не рекомендуем выставлять слишком маленькие значения.

5. Сортировка списков - настройка сортировки серверов SH4(если их несколько)

6. Таймаут выполнения запроса - время ожидания выполнения запросов к SQL-серверу

1.3 Параметры StoreHouse и r keeper 7

Первым делом обязательно пропишите путь к библиотеке сервера ShServ.dll  в файле shserver.ini. Если сервер расположен на удаленной машине, то прописываем полный путь к файлу shserv.dll на удаленной машине без IP-адреса. Если не указать путь к DLL, то продажи в SH не импортируются. 

Рис. 7 - Путь к библиотеке ShServ.dll
Для настроек импорта переходим во вкладку «Параметры SH и RK». Выбираем в окне выбора/создания сервера необходимый нам сервер (см. рис. 6) (для создания нового сервера щелкаем по окну правой кнопкой мыши, нажимаем «Добавить»,  вводим все необходимые параметры – имя, адрес, порт, имя пользователя, пароль).
Важно: у вас не должно быть запущенных экземпляров Sh.exe или Sdbman.exe. Клиентские приложения требуют лицензию и если она будет занята, DataCollector не сможет подключиться к серверу и будет выдавать ошибку подключения.
Обращайте внимание на логин и пароль — в них важен регистр!
 

Рис. 6 – Настройки импорта

Флаг «Активен» - определяет использование выделенного сервера для импорта/экспорта.

Флаг «Импорт в SH» - при наличии данного флага для данного сервера возможен импорт данных из R-Keeper V7 в StoreHouse V4.

Область «Основные параметры»

В области «Основные параметры» отображается информация выбранного сервера: имя сервера (то, что будет отображено слева в "Списке серверов StoreHouse"), ip-адрес, порт для подключения, имя пользователя (StoreHouse), пароль (к БД StoreHouse).

Область «Параметры импорта»

Вид закладки «Параметры импорта» зависит от выбранного принципа выгрузки документов в StoreHouse: по ресторанам или по концепциям.

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

В версии SHCR  ver. 7.5.23.0 добавлен новый фильтр меню по расписанию (список доступности).

Работает только для выбранного конкретного ресторана.
При выборе всех ресторанов или концепции, данный фильтр не работает.

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

 

Рис.6а

Вид области «Параметры импорта» при выгрузке по ресторанам представлен на Рис. 6 – Настройки импорта.

  • Ресторан – ресторан, продажи которого будут выгружаться в выбранную базу данных StoreHouse. При выборе конкретного ресторана, обязательно в свойствах ресторана в RK7 указывать цену SH4.
  • Категория заказа – реализация только с указанной категории заказа будет импортирована в StoreHouse.
  • Тип группировки – тип группировки документов расхода.
  • Товарная группа – корневая вершина из словаря «Список товаров», в которую будет выгружаться меню из R-Keeper V7.
  • Флаг «Импортировать меню» - выставляется только в том случае, если не используется StoreHouse Head Office.
  • Торговая группа – в словари StoreHouse выгрузятся блюда только указанной торговой группы.
  • Флаг «Создавать пустые группы» - при наличии флага в данном поле в словаре StoreHouse будут созданы пустые группы, для тех групп меню блюда из которых не выгружены из-за ограничения по торговым группам. Если флаг не установлен, нужно внимательно относиться к фильтрам выбора импортируемой информации, чтобы не потерять необходимые данные.
  • Флаг «Добавлять элементы с незаданной ценой» - при выставленном флаге в данном поле в StoreHouse выгружаются блюда, у которых в поле цена указано «не задано».
  • Расчет НДС – в данном поле необходимо выбрать правило расчета НДС: по R-Keeper (будет взята из RK7) или по StoreHouse (в этом случае ставка налога берется из карточки товара SH4). Рекомендовано использовать правило "По StoreHouse".

Флаг «Категории заказа по использованию» - при наличии данного флага в БД StoreHouse будут выгружаться документы расхода с категориями заказа (местами реализации), котрые определены в использовании (см. руководство по R-Keeper V7)

Для сопоставления типов валют R-Keeper V7 и Типов оплат StoreHouse необходимо нажать клавишу «Маппинг способов оплаты» (см. рис. 8). Если напротив способов оплат R-Keeper V7 не будет установлен соответствующий тип оплат StoreHouse, в базе StoreHouse создадутся новые типы оплат (в соответствии с типами оплат R-Keeper).

3.png
Рис. 8 – Меню «Маппинг способов оплаты»

Настройка «Доп. Фильтры» позволяет выбирать, по какой валюте/типу оплат выгружать расходы в StoreHouse. Из-за этой настройки сумма расхода за день в R-keeper может не соответствовать сумме расхода в StoreHouse. При группировке по причинам удаления кнопка «Доп. фильтры» неактивна. 
В этом разделе можно поставить флаг  «По нулевой цене» , который позволяет выгружать товары из R-keeper с нулевой ценой. Это полезно, например, для корректного учёта продаж за бонусы Plazius в StoreHouse.

 

В StoreHouse в документе расхода назначается Категория расхода, соответствующая способу группировки при загрузке данных. В пункте «Разбивка по складам» определяются настройки позволяющие разделять документы расхода по выбранному типу группировки и одновременно по складам списания.

Пример окна «Разбивка по складам» представлен на Рис. 9.

Рис. 9

Для добавления новой строки необходимо выбрать пункт «Добавить» из контекстного меню, затем в открывшемся окне (см. Рис. 10) необходимо заполнить поля.

Рис. 10

Склад - склад списания товара;

Заменяемая Категория - категория расхода, определяемая «по умолчанию» при импорте данных их R-Keeper.

Заменяющая Категория - категория расхода, которая будет присвоена документу расхода в StoreHouse в зависимости от склада списания товаров.

  • Список Замещающих категорий необходимо сформировать в словаре Категории расхода (см. Руководство пользователя по StoreHouse)
  • Для товаров с установленным типом Услуга необходимо сделать отдельное назначение
  • Если для какой-либо пары: Склад и Категория расхода не сделать назначение, то при импорте Расхода блюд с такими параметрами, будет создан документ расхода с категорией Реализация (по умолчанию)
  • Если у разных пар (Склад – Категория расхода) была выбрана одна и та же замещающая категория, то в StoreHouse будет сформирован один документ расхода с указанной замещающей категорией.

Для экспорта информации в SQL-базу (то есть выгрузка данных из StoreHouse (накладные и товары) в таблицы SQL), необходимо установить флаг «Экспорт в SQL».

Для выгрузки в таблицы SQL фудкоста, рассчитанного в StoreHouse, необходимо установить флаг «Обрабатывать фудкост».

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

Если требуется передавать информацию о прейскурантах в таблицы SQL, необходимо установить флаг «Обрабатывать прейскуранты».

 Если требуется передавать информацию о свойствах товаров в таблицы SQL, необходимо установить флаг «Обрабатывать свойства товаров».

Примечание: для того чтобы не выгружать из RK7 в SH4 наценку, которая определена для механизма импорта предоплаченных заказов из EDI в RK7, в настройках появился параметр "Не учитывать предоплаты". Поддержано в  SHCR ver. 7.5.19.1+.

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

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

  • НДС - считать первый в списке налог без флага "Добавить к цене". Если данный налог не используется на блюде r_keeper_7 (пустое значение или 0), то в StoreHouse назначать ставку 0%
  • НСП - считать первый в списке налог с флагом "Добавить к цене". Если данный налог не используется на блюде r_keeper_7 (пустое значение или 0), то в StoreHouse назначать ставку 0%
  • Если в списке нет налога с флагом "Добавить к цене", то в НСП карточки товара StoreHouse_4 назначать ставку 0%

Если используется более 2х налогов в r_keeper_7, то импорт налоговых сумм в расход StoreHouse_4 проводить только по r_keeper_7 (по StoreHouse нецелесообразно, т.к. нет возможности определить все ставки, для правильных расчетов сумм)

  • Суммы всех налогов БЕЗ ФЛАГА "Добавить к цене" - выгружать в поле НДС StoreHouse_4
  • Суммы всех налогов С ФЛАГОМ "Добавить к цене" - выгружать в поле НСП StoreHouse_4
  • Сумма б/н StoreHouse_4 = сумме без ВСЕХ налогов r_keeper_7
  • Сумма в/н StoreHouse_4 = сумме с учетом ВСЕХ налогов r_keeper_7

1.4 DataCollector.exe

Для экспорта/импорта запускаем файл "DataCollector.exe", жмем «Старт» (см. рис. 11)
 
Рис. 11 – Импорт/экспорт
При запуске DataCollector проверяет - есть ли не обработанные смены до текущей даты:
а) если есть - то производится импорт справочников и продаж до текущей даты.
б) если не обработанных смен - нет, то будет выполнен повторный импорт последней обработанной смены. Сделано специально для больших объектов, когда данные о продажах могут приходить в течение суток и необходима корректировка по продажам. 
 
При повторном импорте - пересоздание документов расхода в SH4 осуществляется только если документы расхода за эти даты не проведены.

2 Scheduler (Планировщик)

Пользовательский интерфейс планировщика представлен на рис. 12.
 
planirovshchik.png
Рис. 12 – Планировщик задач

2.1 Просмотр задач

Для просмотра существующих задач нажимаем кнопку «Просмотр задач» (см.  рис. 13).

6.png

Рис. 13 – Просмотр задач для выбранного сервера

Для просмотра сведений о задачах, например, выполненных с ошибкой, необходимо щелкнуть правой кнопкой мыши по интересующей задаче, нажать «Сведения» (см. рис. 14).

5.png

Рис. 14– Сведения о задаче

2.2 Мастер создания задачи

В стартовом окне мастера создания задачи необходимо выбрать сервер StoreHouse (см. Рис. 15) и нажать «Далее».

vybor_servera_0.png

Рис. 15 – Выбор сервера SH4

В открывшемся окне выбираем категорию нового задания, нажимаем «Далее» (см. рис. 16)

vybor_zadaniya_0.png

Рис. 16 – Выбор задания

В следующем окне выбираем начальную и конечную даты периода, за который хотим получить отчет (см. рис. 17), нажимаем «Далее».

period_1.png

Рис. 17 – Выбор периода желаемого отчета

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

Рис. 18 – Выбор времени запуска задания

Затем в открывшемся окне будут отображены данные о сформированном расписании. Пример представлен на Рис. 19Для сохранения настроек необходимо нажать клавишу «Сохранить».

Рис.19

3 Особенности

  • Если документы были импортированы за определенный интервал дат, при повторной выгрузке данных из R-Keeper в StoreHouse документы за текущую дату будут обновлены(если эти документы не проведены). Т.е. если данные в БД R-Keeper по закрытым сменам изменились, данные в документах расхода также изменятся.
  • При выгрузке данных с разбивкой по складам списания, если у какого-то из товаров (группы товаров) не определен склад списания, то такой товар (группа товаров) будут помещены в отдельный документ расхода с категорией расхода Реализация (по умолчанию).
  • Если на кассе R-Keeper продано блюдо с модификаторами, а в StoreHouse для данного товара определен тип «услуга», то в документ расхода такой товар будет выгружен без модификаторов. Если необходимо прогрузить модификаторы, то необходимо удалить документы расхода с данным товаром, изменить тип на «товар» и импортировать данные еще раз.

Приложение 1 

Таблица 1 - Назначение SQL - таблиц

Наименование таблицы
Содержимое таблиц

data_shcr_CatFoodCost 

 Фудкост

data_shcr_cmprotocol 

 Протокол комплектов

data_shcr_cm 

 Шапка комплектов

data_shcr_cm_atributes 

 Атрибуты комплектов

data_shcr_cm_detail 

Компоненты комплектов

data_shcr_cm_tech 

Технология сборки комплкетов

data_shcr_cm_version 

 Версии комплектов

data_shcr_CorrTree 

 Дерево корреспондентов

data_shcr_CorrFullList 

 Корреспонденты

data_shcr_docprotocol 

 Протокол накладных

data_shcr_doc 

 Шапка накладных

data_shcr_doc_attrs 

 Атрибуты накладных

data_shcr_doc_lines 

 Товары накладных

data_shcr_expdocprotocol 

 Протокол документов расхода

data_shcr_expdoc 

Шапка документов расхода

data_shcr_expdoc_lines 

 Товары документов расхода

data_shcr_expdoc_lines_details 

 детализация товаров (модификаторы)

data_shcr_GoodsTree 

 Дерево товаров

data_shcr_Goods 

 Товары

data_shcr_GoodsBaseAttrs 

 Атрибуты из карточки товаров

data_shcr_GoodsBaseCompl 

 Комплекты из карточки товаров

data_shcr_GoodsBaseMain 

 Заголовок из карточки товаров

data_shcr_GoodsBaseMeasures

Единицы измерения из карточки товаров

data_shcr_GoodsBaseStore 

 Запас из карточки товаров

data_shcr_GoodsBaseWrite_Off 

 Списание из карточки товаров

data_shcr_GoodsCtg 

 Осн.категории товаров

data_shcr_GoodsCtg2 

 Бух.категории товаров

data_shcr_idocprotocol 

 Протокол счет-фактур

data_shcr_idoc 

 Шапка счет-фактур

data_shcr_idoc_lines 

 Товары в счет-фактур

data_shcr_MGroups 

 Группы единиц измерения

data_shcr_MUnits 

 Единицы измерения

data_shcr_OwnAttrs

Собственные реквизиты

data_shcr_TDoc 

 Шапка шаблона накладных

data_shcr_TDoc_details

Товары шаблона накладных

data_shcr_PLDoc 

 Шапка прейскурантов

data_shcr_PLDoc_details 

Товары 

 

Импорт данных в r keeper 7 через Feature Server

Введение

Из StoreHouse 4 в r_keeper_7 можно импортировать данные в режиме онлайн. Для этого необходим Feature Server, идущий в комплекте с интерактивными отчетами. Соответственно, перед настройкой импорта, у вас должно быть установлены и запущены:

i_Guid={D54BA83D-EA0F-4ADC-834D-70C336259F6D}
instance_name=171848
MasterServer=1

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

Импортировать из r_keeper_7 можно следующие данные:

  • Себестоимость блюд
  • Приходные накладные
  • Акты реализации.

Обновление Feature Server

Если у вас установлена старая версия плагина интерактивных отчетов и Feature Server, их лучше обновить. В ранних версиях FS есть требование о необходимости установки FS и SQL на одном компьютере, но с версии 1.36 это не актуально.

Для обновления Feature Server и плагина:

  1. Скачайте последнюю версию с FTP-сервера ftp://ftp.ucs.ru/rk7/other/IR_reports/
  2. Распакуйте архив в удобное место. Скопируйте с заменой все файлы в папку установленного FS. Файла настроек в архиве нет, поэтому существующие настройки не потеряются. 
  3. Закройте менеджерскую станцию и скопируйте содержимое архива из папки plugins в одноименную папку менеджерской станции
  4. Запустите FS и менеджерскую станцию.

Настройки в менеджерской станции

Для работы импорта необходима настроенная связь с MS SQL и интерактивных отчётов. 

Запустите Сервер справочников, Common Server, Feature Server.

  1. Откройте менеджерскую станцию и перейдите в меню Расширения > База данных.
    1. Если видите ошибку Недопустимое имя объекта PLG_OBJECTS
    2. Откройте обозреватель MS SQL и выполните скрипт:
    3. CREATE VIEW [dbo].[PLG_OBJECTS] AS
      SELECT
      GUIDSTRING
      ,CODE
      ,NAME
      ,ALTNAME
      ,STATUS
      FROM dbo.RESTAURANTS
      WHERE (STATUS = 3)
    4. Ошибка должна исчезнуть.
  2. Нажмите правой кнопкой мыши на раздел Все и выберите пункт Создать новую группу баз данных. Переименуйте её по желанию.
  3. Подобным образом нажмите на группу и создайте новую базу данных
  4. Находясь в меню группы, выберите базу данных в правом меню и заполните поля:
    1. Название
    2. В разделе Основное укажите данные для подключения к серверу StoreHouse 4:
      1. Имя пользователя StoreHouse
      2. Пароль пользователя StoreHouse. Важно! У пользователя StoreHouse обязательно должен быть пароль.
      3. Строку соединения, в формате IP:PORT, например: 127.0.0.1:3334
        Это означает, что для работы импорта, StoreHouse должен быть настроен на подключение по TCP/IP.
    3. В разделе Другое:
      1. ​Поставьте галочки напротив SH4
      2. Заполните поля Параметр Начальная дата и Параметр Конечная дата
    4. В разделе Настройки импорта StoreHouse
      1. ​В полях Валюта и Группа товаров укажите параметры для импорта данных.
        Примечание: валюта и группа товаров доступны для выбора только при удачном подключении к серверу StoreHouse
      2. Поле Место реализации заполнять не нужно
      3. Если в StoreHouse производится спец учет, поставьте галочки в зоне полях Специальный учет и Рассчитывать в ед. изм. "для расхода"
    5. Нажмите сохранить 
  5. Подключение настроено, теперь его необходимо проверить. Нажмите правой кнопкой мыши на базу данных в меню слева и выберите пункт Проверка соединения с БД...
    • Если подключение настроено верно, появится сообщение:
    • Если соединение настроено неверно, то появится сообщение:
  6. Теперь необходимо привязать объект к созданной базе данных в списке слева. Для этого нажмите правой кнопкой мыши на поле справа и выберите пункт Добавить новый объект

    Нажмите Добавить и сохраните изменения.
  7. Откройте StoreHouse 4 и убедитесь, что в корреспондентах есть хотя бы 1 склад. 

    Если склада нет — создайте.
  8. Перейдите в Меню > Классификации блюд и скопируйте GUID классификации, которую планируете использовать. В классификации обязательно должны быть вложенные категории.

    1. Остановите Feature Server и откройте его файл настроек — IRReportsFSPrj.ini
    2. Добавьте в блок [FS_ADDITIONAL] строчку:
    3. SH4_Class={71B5617A-00D7-48EE-91A4-4A82C4F62642}
    4. Где после знака "=" вставьте скопированный GUID классификации. Если секция [FS_ADDITIONAL] отсутствует, добавьте.
    5. Сохраните файл и запустите Feature Server
  9. Перейдите в меню Настройки > Центральный офис > Рестораны, и нажмите правой кнопкой мыши на ресторане, который необходимо связать со StoreHouse. Выберите пункт Действия > Редактор связи со складом
  10. Выберите необходимые категории. В их поле Store House 4 их свойств склад, с которого будет производиться выгрузка
     
  11. Если классификации появились, но выбор склада пустой, то  проверьте:
    • Заведены ли в базе StoreHouse 4 склады? Нужен, хотя бы 1
    • Если склады в StoreHouse есть, то в базе данных SQL имя_базы_STAT_SH4_SHIFTS_FOODCOST в таблице dbo.STAT_SH4_SHIFTS_CORR должен быть список складов. Поле TYPECORR у склада должно быть равно 0
    • Если в SQL нет записей с TYPECORR=0, то очистите папку с логами Feature Server, измените имя подключения к базе StoreHouse и нажмите кнопку сохранить. Таким образом, FS должен повторно запросить данные у StoreHouse 4.
  12. Сохраните и закройте менеджерскую станцию.
  13. ​В конфигурационный файл плагина интерактивных отчётов RK7MAN\plugins\SchRepPluginClient\SchRepPluginClient.ini добавьте текст в конец файла:
    • [PLG_ACC]
      use_accounts = 1
      [PLG_PLAN]
      use_plan_params = 1
      [PLG_SH]
      use_sh_params = 1
  14. Сохраните и запустите менеджерскую станцию.

Регистрация библиотек

Для работа импорта на компьютере необходимо зарегистрировать библиотеку SH4ole.dll. Для этого есть специальная утилита RegOle. Скачайте ее по ссылке: ftp://ftp.ucs.ru/storehouse/sh4/sh4ole/shOLE_4_45_66.7z

  1. Распакуйте содержимое архива в корневую папке установки StoreHouse 4. Запустите от имени администратора файл RegOle.exe.

  2. Убедитесь, что в папке есть библиотеки:
    • DoMan.dll
    • RTL60.BPL
    • SdbCli.dll
    • SdbVcl.dll
    • Midas.dll
  3. Нажмите кнопку RegisterServer. Если всё хорошо, то программа зарегистрирует библиотеку:
     
  4. Если появилось сообщение Ok, значит, библиотека успешно зарегистрирована.
  5. Регистрацию можно проверить через приложение TestOle.exe, идущее в комплекте.
    1. Запустите приложение и нажмите кнопку Login в левом верхнем углу. Укажите логин и пароль и подключитесь к базе StoreHouse
    2. Выберите процедуру в выпадающем списке Procedure и нажмите кнопку Start Query
    3. Сообщение внизу должно стать OK. Для уверенности попробуйте разные процедуры.

Запуск импорта

Запустите серверы:

  • UCS Common
  • Feature
  • StoreHouse 4

И откройте менеджерскую станцию.

Если все настройки правильные, Feature Server начнёт загружать данные из StoreHouse 4 в r_keeper_7 за выбранный период:

Если в логе Feature Server есть строчки Date... Invoice load, значит всё работет правильно.

Пересчитать данные StoreHouse можно зайдя в Интерактивные Отчеты (ИО) > Отчеты по безопасности > Системные операции > Пересчитать данные SH.

Импорт себестоимостей из SH4 в RK7

Введение

Из StoreHouse 4 можно импортировать себестоимость товаров в r_keeper_7. 

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

Копирование библиотек

  1. Укажите ИНН в Собственных реквизитах, если он не указан
  2. Скопируйте из папки \StoreHouse_4\Client файлы:
    • SdbVcl.dll
    • DoMan.dll
    • SdbCli.dll
    • RTL60.BPL
  3. В папку сервера справовочников. Обычно это \Rk7Reference или \bin\win

Настройка в менеджерской станции

  1. Запустите менеджерскую станцию
  2. Создайте новую связку для базы данных SH4 в разделе Сервис > Экспорт данных > Конфигурации баз данных SH4
  3. В настройках укажите:
    1. Имя пользователя, например Admin
    2. Строчку подключения к серверу StoreHouse. Указывать точно так, как в StoreHouse
      Например:127.0.0.1:pTa3333
    3. Пароль пользователя
    4. Версию StoreHouse в выпадающем меню
  4. Создайте новую себестоимость в Меню > Тип себестоимостей 
    1. Укажите код товарной группы StoreHouse. Посмотреть его можно в свойствах группы StoreHouse:
    2. В поле настройкиStoreHouse выберите ту настройку, которую до этого создали в Конфигурации баз данных.
    3. В настройках поставьте галочки напротив:
      1. Использовать в отчетах
      2. Разрешить переопределения
    4. Укажите Код склада. Его можно посмотреть в Корреспонденты > Список корреспондентов. По умолчанию складов нет, поэтому создайте хотя бы один.
    5. По необходимости поставьте галочку Импорт из Спец. Учета
  5. Сохраните настройки.

Запуск импорта

Импорт можно запускать 2-мя способами. Непосредственно из меню и через импорт данных. 

  1. В менеджерской станции перейдите в Сервис > Импорт данных > Импорт себестоимостей из StoreHouse
  2. Выберите Тип себестоимости, который создали в пункте 4
  3. Выберите Элементы справочника
  4. Укажите Код склада
  5. Если нужно указать товарную группу, укажите её руками в кавычках, точно как в StoreHouse. Можно перечислить несколько товарных групп через пробел или запятую, которые являются разделителями товарных групп в этом поле. 
  6. По желанию выберите Дату, Тип элемента, Элементы справочника и Метод вычисления
  7. Нажмите ОК
  8. Нажмите ОК.
  9. Если появляется ошибка "Exception running function REFIMPORTSH4COSTTYPE on RK7: Exception:Db exception # 129. Неизвестное исключение процедуры сервера 129", это означает отсутствие лицензий. Скорее всего, запущенный StoreHouse 4 занимает единственную лицензию и его следует закрыть для проведения импорта.
  10. Для корректного импорта, себестоимость должна быть в StoreHouse 4. Это означает, что:
    1. Для блюда r_keeper_7 должен быть создан комплект;
    2. На складе должны быть составляющие этого комлекта с ценой выше нуля. Если составляющих, то есть, остатков, нет — их необходимо оприходовать на склад.
  11. После выполнения предыдущего пункта и успешного импорта, цена появится в r_keeper_7:

    Если появилась — всё сделано правильно.

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

  1. В менеджерской станции перейдите в Меню > Меню
  2. Нажмите правой кнопкой мыши на нужную группу меню
  3. Выберите Действия > Импорт себестоимости из StoreHouse
  4. Настройте детали импорта, как описано выше и запустите.

Импорт данных через ImportRK

Введение

Реализовано несколько видов взаимодействия r_keeper 7 и Storehouse 4:

  • Синхронизация с помощью DataCollector.exe (http://support.ucs.ru/ru/node/6952) - рекомендуемый способ обмена данными
  • Экспорт товаров и продаж из r_keeper 7 в StoreHouse 4
  • Импорт себестоимости из StoreHouse 4 в r_keeper_7
  • Экспорт онлайн-остатков из r_keeper 7 в StoreHouse 4

Экспорт товаров и продаж из r_keeper в StoreHouse

  1. В папку клиента StoreHouse 4, например \SH4\Client\, в которой лежит ImportRK.exe, скопируйте содержимое папки \RK7\bin\sh4tr:
  • rk7tosh4.dll – библиотеку связи с r_keeper_7; 
  • rk7tosh4.ini – файл с настройками;
  • shtr.dll – библиотеку импорта для закачки меню и продаж. Обязательно скачайте её с FTP по ссылке и замените: ftp://ftp.ucs.ru/storehouse/sh4/shtr.dll/RK7/2.6.0.7/id/
  • netkern.dll, errors32.dll, thread32.dll, dllman.dll, tcpsoc.dll.
  1. Запустите программу IRKSetup
  2. В поле Путь укажите путь к базам r_keeper_7
  3. В разделе Словари, укажите Тип источника Paradox
  4. В разделе Расход, укажите Тип источника UDB
  5. В поле Тип группировки выберите один из трех вариантов группировки:
    1. Группировка По причинам удаления предполагает, что реализованные блюда будут сгруппированы в отдельный документ по расходу блюд. Нереализованные блюда из удаленных чеков и блюда, на которые были сделаны отказы, будут сгруппированы по причинам удаления. Это означает, что для каждой причины удаления будет создан отдельный документ, в котором будут представлены все блюда, удаленные в этот день.
    2. Группировка По валютам означает, что для каждой валюты будет создан отдельный документ о расходе блюда
    3. Группировка По типам оплат также означает отдельный документ для расхода блюд
  6. Укажите Код ресторана. Его можно посмотреть в менеджерской станции:
  7. В менеджерской станции перейдите в раздел Меню > Типы цен. Откройте свойства нужной валюты и проставьте галочку Цена StoreHouse 4.
  1. Отредактируйте файл rk7tosh4.ini. Описание файла ниже:
[REFSERVER7]
ServerName = TEST_RK7SRV                     ; Укажите здесь имя сервера справочников или сервера отчетов r_keeper_7.
ClientName = SH4cli                          ; Имя клиента. Должно быть уникальным!
NetworkTimeout = 3600000                     ; Таймаут - 1 час
ImportMode=0                                 ; Режим импорта: 0 – по сети с сервера, 1 – из файлов. 
ImportPath=                                  ; Путь к файлам данных. Если режим импорта 1 (импорт из файлов), то указывается либо путь к каталогу с файлами данных (получаемыми из менеджерской), либо путь вида: HKLM\SOFTWARE\UCS\SHTrans\MYSERV\Settings\2.
 В таком случае путь будет взят из значения ключа srcPath в реестре по адресу, заданному ImportPath. (Корневая ветка – всегда HKEY_LOCAL_MACHINE).

RestaurantCode=0                             ; Здесь можно указать Код ресторана. Это необязательная настройка, она позволяет загрузить продажи только из одного ресторана с этим кодом, если импорт по сети (ImportMode=0). Со значением 0, загружаются данные по всем ресторанам. Элементы меню и модификаторы будут закачиваться те, что в торговой группе, заданной в свойствах этого ресторана и те, что продавались в этом ресторане. Остальные справочники, кроме черновиков всегда закачиваются полностью.
[NETKERN]
PROTOCOLS = tcpsoc.DLL
;NODISCONNECTEVENTS = 1

[TCPSOC]
listen = 0 ;!!!

[TCPDNS]
;TEST_RK7SRV=127.0.0.1:3639

Подробнее о настройке читайте в руководстве пользователя https://docs.ucs.ru/uploads/StoreHouse.pdf

Экспорт/импорт данных о продажах через файл

В менеджерской: меню Сервис – Экспорт Данных – Экспорт Данных StoreHouse. Необходимо указать даты экспорта (с, по), тип группировки (если тип группировки не совпадет с типом, указанным в IrkSetup – будет ошибка), каталог для сохранения файлов.
В файле rk7tosh4.ini необходимо указать режим импорта (из файлов) и каталог, либо ветвь реестра, откуда следует взять путь к файлам для импорта.

Автоматическая передача данных из r keeper в StoreHouse

Примечание: данный механизм не поддерживается с версий 7.5.7.65. Рекомендуется использовать DataCollector.

Настройки в менеджерской станции

  1. В настройках сервера отчетов, в поле «Интервал ожидания данных», указывается временной интервал от закрытия общей смены на кассовом сервере RK7 до начала автоматической передачи данных в SH4. (Формат чч:мм)
  2. В настройках сервера отчетов, в поле «ExecuteData», указываются различные параметры для запуска автоматического импорта

Возможные параметры свойства ExecuteData (параметры разделяются "точкой с запятой"):

  1.  "path=C:\some.bat" - полный путь к запускаемому bat-файлу
  2.  "hide=1" - если есть любое "hide=", то окно запуска bat-файла (консоли) будет скрыто
  3.  "wait=15000" - ожидать завершения работы файла (значение указывается в мс, например 15000 =15 сек.)
  4.  "date=-1" - можно принудительно указать значение передаваемого параметра (%1) в bat-файл (количество дней с 01.01.1980)

Пример содержимого свойства ExecuteData:

  1. path=C:\some.bat;hide=1- выполнить some.bat, не показывать окно
  2. path=C:\some.bat;wait=60000, выполнить some.bat, подождать минуту до завершения

Формат командной строки ImportRK.exe:

ImportRK.exe <ИмяСервераСклада> <КодРесторана> %1 <ПризнакАвтоматическогоСписания>

где <ИмяСервераСклада> - имя, по которому определяются параметры подключения к серверу склада

Важно: параметр <ИмяСервераСклада> должен в точности соответствовать имени сервера, прописанного в разделе реестре HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHTrans (или HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\SHTrans для 64-х битных ОС).

Например, если в реестре параметры для нашего сервера прописаны в разделе HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHTrans\192.168.0.1, параметр <ИмяСервераСклада> должен быть 192.168.0.1

<КодРесторана> - уникальный код ресторана (для)

%1 - начальная дата импорта; данный параметр передается в bat-файл внешней обработкой (то есть, при запуске bat-файла значение %1 будет заменено на фактическое)

<ПризнакАвтоматическогоСписания> - 0 - списывать расход автоматически, <любое значение, отличное от нуля> - не списывать автоматически

Пример содержимого файла Some.bat:

сls
cd c:\ucs\sh4\
ImportRK.exe SDBSERV 17 %1 0
Pause

Где

cd c:\ucs\sh4\ - расположение файла ImportRK.exe

SDBSERV - имя SH4

17 - внешний код ресторана

%1 - параметр

0- признак необходимости списания расхода

Настройки в StoreHouse

Для корректной работы ImportRK.exe необходимо настроить параметры импорта через IRkSetup.exe.

Обязательно указать:

  • Пути импорта (поле должно быть заполнено).
  • Код ресторана (внешний код ресторана)
  • Имя и пароль пользователя SH4

Настройка импорта себестоимости

Описана в отдельной статье: https://support.ucs.ru/ru/node/9653

Выбор транспортной библиотеки SHTR.DLL

Введение

Для импорта справочников и расхода блюд из системы R-Keeper v7 (далее RK7) в систему StoreHouse v4 (далее SH4) совместно с параметрами IRkSetup.exe и прочими настройками, используется транспортная библиотека SHTR.DLL. Библиотека отвечает за загрузку данных в SH – SHTR.DLL описание (Incl.D). Стандартная библиотека выгружает: Группы станций, Товарные группы, Категории расхода (причины удаления), Категории расхода (валюты), Категории расхода (типы оплат), Товары, Расход блюд (за период указанный при импорте)

Расход блюд выгружается с учетом всех скидок/наценок. НДС в документ расхода проставляется из карточек товаров SH. НДС для товаров проставляется вручную в словаре товаров. Тип группировки (причины удаления, валюты, типы оплат, загрузка по складам списания) документов расхода задается в приложении IRKSETUP.EXE

Для использования библиотеки она должна быть скопирована в рабочую директорию \SH4.

Загрузить различные версии библиотеки можно с FTP-сервера ftp://ftp.ucs.ru/storehouse/sh4/shtr.dll/RK7

Примечание: Для определения версии и описания библиотеки необходимо открыть свойства файла SHTR.DLL в проводнике Windows.

Версии

  • Использование модифицированных (2.6.0.7) версий библиотеки SHTR.DLL актуально для версий SH 4.85 и выше.
  • RK7.5.2.x и выше.

Стандартная версия SHTR.DLL

№ п.п.

Описание библиотеки

Описание

 0

Incl.D

Импортирует:

  • Группы станций 
  • Товарные группы
  • Категории расхода (причины удаления)
  • Категории расхода (валюты)
  • Категории расхода (типы оплат
  • Товары
  • Расход блюд (за период указанный при импорте)

Особенности:

  • Расход блюд импортируется с учетом всех скидок/наценок
  • НДС в документ расхода проставляется из карточек товаров SH4.
  • НДС для товаров проставляется вручную в словаре товаров.
  • Тип группировки (причины удаления, валюты, типы оплат, загрузка по складам списания) документов расхода задается в приложении IRkSetup.exe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Специальные модификации SHTR.DLL

Кроме стандартной существуют специальные модификации библиотеки SHTR.DLL, которые влияют на внутреннее содержимое документов расхода, суммы и т.д., формируемые в процессе импорта документов.

Основные настройки импорта производятся в приложении IRkSetup.exe и аналогичны настройкам при использовании стандартной библиотеки SHTR.DLL
 

№ п.п.

 Описание библиотеки

Описание

1

  Empty.DL, Incl.D

Используется для загрузки документов расхода в локальный склад, когда сеть предприятий работает со StoreHouse HeadOffice (далее SHHO).

Данная библиотека не импортирует меню, так как меню рассылается из системы SHHO, документы расхода импортируются как при работе со стандартной библиотекой SHTR.DLL

2

  Excl.D

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

3

  Empty.DL, Excl.D

Модификация библиотеки, описанной в п.3, для работы с SHHO

4

  Incl.D, Tr.Tax 

Библиотека для импорта документов расхода с группировкой блюд по ставкам НДС в документе расхода.

Если ставка налога в одной налоговой группе RK7 отличается в зависимости от заданных условий (категории, тип заказа), то при использовании данной библиотеки одно и то же блюдо импортируется несколькими строками согласно реализованным ставкам НДС (пример: тип заказа «в зале» – НДС 18%; тип заказа «на вынос» - НДС 10%. Если реализовали одно блюдо и так и так, то данная позиция будет в документе расхода двумя строками)

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

5

  Empty DL,Incl.D,Tr.Tax

Модификация библиотеки, описанной в п.5, для работы с SHHO

6

  Excl.D,Tr.Tax

Библиотека для импорта документов расхода без учета скидок/наценок и с группировкой блюд по ставкам НДС в документе расхода.

Данная библиотека совмещает в себе функционал библиотеки из п.2 и п.3. Если ведется разделение ставок НДС в одной налоговой группе, например в зависимости от типа заказа или от категории, то при использовании данной библиотеки товары будут разделены согласно реализованным ставкам НДС.

7

  Empty DL,Excl.D,Tr.Tax 

Модификация библиотеки, описанной в п.7, для работы с SHHO

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Интеграция с 1С

Настройка интеграции SH4 с 1С

Описание интеграции

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

Важно! Перед установкой обработки необходимо знать заранее, какая версия SH4 и какая редакция, платформа, конфигурация 1С установлены на объекте, так как не все версии программных комплексов можно связать между собой!
Важно - 2. Выгружать проводки без указания номенклатурной группы нельзя и дорабатываться этот функционал не будет. 

Таблица версионности ПО и отдельных модулей используемых для выгрузки в "1С", каталоги дистрибутивов (на 25.03.2014)

Версия SH4 Редация 1С, каталог на ФТП Платформа 1С, каталог на ФТП Конфигурация 1С sh4book.dll Версия обработки Файл keys.num

минимум - SH 4.70.172 и выше

(рекомендуется 4.95  и выше)

 

1.6 ftp://.../storehouse/sh4/1C/Buh 1.6 8.1 .../Buh 1.6/Platform_8_1/ "1С Бухгалтерия"  не ниже 4.5.6.0 3.02 не используется
8.2 .../Buh 1.6/Platform_8_2/
2.0 ftp://.../storehouse/sh4/1C/Buh 2.0 8.1 .../Buh 2.0/Platform_8_1/ "Бухгалтерия предприятия КОРП" не ниже 4.19.10.0 5.01 используется
8.2
 
.../Buh 2.0/Platform_8_2/ "Бухгалтерия предприятия" 5.03
"Бухгалтерия предприятия КОРП"
8.2.15 и выше
 
.../Buh 2.0/Platform_8_3/ "Бухгалтерия предприятия"
"Бухгалтерия предприятия КОРП"
3.0 ftp://.../storehouse/sh4/1C/Buh 3.0 8.2.17 и выше .../Buh 3.0/Platform_8_2/ "Бухгалтерия предприятия" не ниже 4.15.16.0 6.08 и выше не используется
8.3.3 и выше .../Buh 3.0/Platform_8_3/

Установка обработки

Установка складывается из распаковки дистрибутива и копирования файлов в нужные каталоги. Также, в дистрибутиве обработки, как правило идет win-инсталлятор, которым чаще всего пользуются если и 1С и SH4 вместе со своими базами находятся локально на одном ПК.

Сама связка представлена в виде нескольких файлов:

  1. Интерфейсная библиотека - SH4book.dll - копируется в каталог с клиентом \SH4\Client
  2. После копирования, ее необходимо зарегистрировать в системе. Запустите от администратора:
"Пуск"\"Выполнить" в окне набрать: "regsvr32 <папка в которой установлен клиент Store House>\Sh4book.dll" 
  1. Так же необходимо зарегистрировать бибилиотеку midas.dll, которая есть в папке клиента после установки:
"Пуск"\"Выполнить" в окне набрать: "regsvr32 <папка в которой установлен клиент Store House>\Midas.dll" 
  1. Файл обработки для 1С - SHto1C.epf  - обычно копируется в каталог установленного клиента 1С или куда угодно, например, в тот же каталог \SH4 или  \SH4\1C, лишь бы путь был покороче, что бы проще было найти и открыть этот файл через 1С. открывается непосредственно через 1С:

Примечание: если при открытии внешней обработки, появляется сообщение "Нарушение прав доступа", то выполните действия пункта ниже.

  1. Файл settings.ini - формируется автоматически при первом запуске обработки, в том же каталоге, где находится и SHto1C.epf. В нем будут содержаться настройки используемых при работе с обработкой фильтров и среды.
  2. Файл keys.num - использовался только на 1С редакции 2.0, должен в обязательном порядке находиться там же, где и запускаемый через 1С файл SHto1C.epf. В этот файл вписывается уникальный код соответсвия документов базы SH4 выгруженным документам в базе 1С. Пример содержимого файла:
Документы: 0       ; Код соответствия документов SH4 выгруженным документам в 1С. Заполняется при использовании нискольких баз SH4.
Справочники: 0     ; Этот код, не используется. Править его не нужно, т.к. этот функционал остался на стадии разработки.
  •  В случае, использования нескольких баз SH4 с одной общей базой 1С, заполнение этого кода - принципиально. Можно вписать любое циферно-буквенное обозначение но, не более 37-ми символов, причем использовать желательно латинские буквы и цифры (спец.сиволы и прочее не использовать). Это значение будет в дальнейшем отображаться в реквизитах каждого выгруженного документа в 1С.

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

Разрешение открытия внешней обработки

Если при открытии внешней обработки или отчёта через меню Файл->Открыть

появляется ошибка "Нарушение прав доступа": "Нарушение прав доступа",

то сделайте следующее:

  1. Зайдите в конфигуратор базы:
  2. Выполните команду меню "Администрирование" > "Пользователи":
  3. Двойным щелчком откройте своего пользователя:
  4. Перейдите на закладку "Прочие", установите галку "Интерактивное открытие внешних отчетов и обработок" и нажмите "ОК":
  5. Теперь закройте конфигуратор и базу (если она у вас была открыта).
  6. Вновь зайдите в базу и попытайтесь открыть отчёт через меню "Файл"->"Открыть".

Несколько баз SH в одну базу 1С - версии выгрузки до 6.18

  • Если выгрузка идет из нескольких баз SH4 в общую базу 1С (или из нескольких баз SH в несколько баз 1С), необходимо создать несколько отдельных каталогов, с отдельными наборами файлов SHto1C.epf, keys.num, settings.ini для каждого отдельного соединения. Пример:
\SH4\1C\SH4_Base1\
  SHto1C.epf
  keys.num:
        Документы: sh1
  settings.ini

 - первый экземпляр. 

\SH4\1C\SH4_Base2\
  SHto1C.epf
  keys.num:
        Документы: sh2
  settings.ini

 - второй экземпляр и т.д. 

Важно! Если, выгрузку необходимо обновить, то файлы keys.num и settings.ini должны быть сохранены, т.е. обновляется только sh4book.dll и epf-файл!

Лицензирование

Библиотека SH4book.dll защищена ключем Gurdant. Для использования выгрузки нужно получить физический ключ. На сервере лицензирования лицензия называется R-Keeper модуль Выгрузка из SHV4 в 1CV8 ПО.

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

Изменения в установке обработки для 1С, редакция 3.0

  1. С версии обработки 6.08 для 1С редакции 3.0, файлы keys.num и settings.ini более не требуются. Как уже писалось выше, в одну базу 1С можно выгружать данные из нескольких баз SH4 (по организациям).
  2. Для каждой базы SH будут созданы и сохранены отдельные настройки, что позволит избежать "перезатирания" данных. Для этих целей при первом запуске загрузки в базах (и 1C и SH4) прописываются дополнительные реквизиты сопоставления.
  3. Так как необходимо вносить изменения в настройки 1С, то предварительно нужно включить разрешение на изменение параметров:
  4. далее:
  5. Выставьте флаг и нажмите [ОК] для сохранения настроек 1С. В открывшемся окне введите код базы SH, который будет использоваться в дальнейшем для синхронизации баз данных SH и 1С. Код может содержать как буквы так и цифры (описывалось выше при пояснении назначения файла keys.num). 
    Примечание: указываемый код базы в этом поле - не более двух символов!
  6. Нажмите [Сохранить] для сохранения введенных настроек. Для отказа от сохранения настроек нажмите [Закрыть без сохранения]:

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

  • После сохранения данных настроек в базе SH будет создан "Дополнительный атрибут корреспондентов". И в пункте "Сервис"\"Собственные реквизиты" будет определен код для сопоставления элементов:

- а так же:

Важно! Атрибут создается только для собственных реквизитов, в отличие от предыдущих версий выгрузки данных (атрибут создавался для словарей). Данный код будет определяющим для связи баз Store House и 1С. Если данный код будет удален из базы Store House, синхронизацию нужно будет провести заново.

  • Следующим шагом, необходимо сопоставить валюты.
  • Выберите валюту из базы 1С, сопоставив ее с валютой SH4.
  • Для сохранения внесенных изменений нажмите кнопку [Сохранить и закрыть]. 
  • Если необходимо отказаться от сохранения внесенных настроек, нажмите кнопку [Закрыть без сохранения]:

  • Остальные настройки выполняется самим пользователем, согласно прилагаемому руководству пользователя.

Примечание: если при попытке работы с выгрузкой появляется сообщение:

То необходимо отключить запрет открытия модальных окон в настройках самой 1С.

Интеграция с ЕГАИС

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

Документ содержит общую техническую информацию и информацию по установке и настройке ПО, пользовательская документация по модулю "Алкогольная декларации" доступна на FTP ftp://ftp.ucs.ru/books/alc_declaration_user_manual.pdf

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

Для розничной торговли внедрение системы разбито на два этапа:

  • с 01.01.2016 требуется обеспечить подтверждение закупок алкогольной продукции через ЕГАИС
  • с 01.07.2016 требуется подтверждение факта розничной продажи каждой единицы алкогольной продукции

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

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

ПО StoreHouse v4 было доработано для возможности работы с системой ЕГАИС начиная с версии 4.101.332. Основное приложение в составе StoreHouse v4 для взаимодействия с системой ЕГАИС - Sh4decl.exe ("Алкогольная декларация")

Функции, реализованные в StoreHouse v4 в рамках взаимодействия с ЕГАИС:

  • получение списка документов с сервера ЕГАИС
  • сопоставление справочников ЕГАИС со справочниками StoreHouse v4

Используемые термины

ФСРАР

Федеральная служба по регулированию алкогольного рынка РФ, Росалкогольрегулирование - http://fsrar.ru

PKI

Public Key Infrastructure - инфраструктура открытых ключей в криптографии, набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей; система, позволяющая удостоверится, что открытый ключ принадлежит именно тому лицу, за которое оно себя выдаёт - использует для этого центры сертификации (Certificate Authority , CA)

RSA

Криптографический алгоритм асимметричного шифрования (asymmetric cipher) с открытыми ключами, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Назван по фамилиям авторов: Rivest - Shamir - Adleman (Рон Райвест, Ади Шамир и Леонард Адлеман), разработавших эту схему шифрования в 1978 г. Криптосистема RSAi стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений, включая PGP, S/MIME, TLS/SSL, IPSEC/IKE и других.

JaCarta PKI/ГОСТ/SE

JaCarta - производное от названия современной смарт-карточной технологии Java Card, собственная разработка российской компании "Аладдин Р.Д." http://www.aladdin-rd.ru

Специальное устройство с защищенным микропроцессором и операционной системой, контролирующей устройство, доступ к оперативной и долговременной памяти. Устройство одновременно является сертифицированным средством ЭП и средством доступа к защищаемым информационнымресурсам специализированных систем (в данном случае — ЕГАИС), а также является защищенным хранилищем ключей программных средств криптографической защиты информации (далее – СКЗИ) в целом и средств ЭП в частности.

JaCarta включает в себя: средства аутентификации и ЭП: смарт-карты, модули (чипы) для производства смарт-карт, USB-, MicroUSB- и Secure MicroSD-токеныс встроенным в них чипом смарт-карты, SIM-карты с ЭП "на борту".

Полный FAQ по устройствам JaCarta на оф. сайте производителя http://www.aladdin-rd.ru/catalog/jacarta/faq.php?sphrase_id=584925

УТМ

Универсальный транспортный модуль - программное обеспечение, устанавливаемое на рабочее место для взаимодействия с сервером ЕГАИС; предоставляется бесплатно в личном кабинете ЕГАИС.

КЭП

Квалифицированная электронная подпись - усиленная квалифицированная электронная подпись, выданная в Удостоверяющем Центре ОАО «ИнфоТеКС Интернет Траст», которая предназначена для юридически значимой подписи документов передаваемых от УТМ на сервер ЕГАИС.

КЭП в УЦ "ИИТ" генерируется сразу на носитель (секция ГОСТ) на устройстве «JaCarta PKI/ГОСТ/SE» и не может быть извлечена/скопирована.

FSRAR_ID

Идентификатор организации в ФСРАР.

FSRAR_ID представлен в качестве значения реквизита «CN» RSA-сертификата на аппаратном носителе JaCarta. Чтобы узнать свой FSRAR_ID, подключите к ПК носитель с КЭП, откройте утилиту для работы с аппаратными носителями и перейдите во вкладку «Ключи и сертификаты» - при этом потребуется ввести пароль пользователя RSA-ключа.

КПП

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

Для организаций в дополнение к ИНН в связи с постановкой на учет в налоговых органах по основаниям, предусмотренным Налоговым кодексом Российской Федерации, присваивается код причины постановки на учет (КПП).

Структура КПП представляет собой девятизначный код: NNNNPPXXX.

Схема взаимодействия

Рис. Схема взаимодействия StoreHouse v4 и ЕГАИС

Крипто-ключ JaCarta PKI/ГОСТ/SE

Крипто-ключ JaCarta PKI/ГОСТ/SE содержит две секции:

  • PKI - секция для хранения транспортного ключа с RSA сертификатом, который предназначен для защиты соединения между автоматизированным рабочим местом с программным обеспечением УТМ - RSA сертификат выдается непосредственно в личном кабинете ЕГАИС
  • ГОСТ - секция для хранения сгенерированой усиленной квалифицированной электронной подписи (далее – КЭП), которая предназначена для юридически значимой подписи документов, передаваемых от УТМ на сервер ЕГАИС

Как правило, КЭП выдается при покупке крипто-ключа в любом сертифицированном Удостоверяющем Центре. 

Важно: Генереция RSA-сертификатов (секция PKI) выполняется только после получения и записи КЭП (секция ГОСТ) в крипто-ключ

Примечание: Если при покупке крипто-ключа сразу не получена КЭП  на время настройки и проверки можно использовать тестовую КЭП http://egais.ru/testkey/innkpp

Установка единого клиента JaCarta 

Крипто-ключ JaCarta содержит в себе два хранилища PKI и ГОСТ - для работы с каждым из них требуется свое ПО, которое можно скачать и установить по отдельности, но удобнее использовать Единый Клиент, который объединяет все необходимые инструменты.

Загрузить дистрибутив Единого Клиента JaCarta можно с оф. сайта прозводителя крипто-ключей http://www.aladdin-rd.ru/support/downloads/jacarta/

Рис. Страница загрузки единого клиента JaCarta на оф. сайте http://www.aladdin-rd.ru/support/downloads/jacarta/

Для установки Единого Клиента JaCarta на компьютере должна быть установлена одна из нижеперечисленных операционных систем:

  • Windows 10 (32/64-бит)
  • Windows 8.1 (32/64-бит)
  • Windows 8 (32/64-бит)
  • Windows 7 (32/64-бит)
  • Windows Vista SP2 (32/64-бит)
  • Windows XP SP3
  • Windows Server 2012 R2
  • Windows Server 2012 (64-бит)
  • Windows Server 2008 R2
  • Windows Server 2008 (32/64-бит)

Важно: Единый Клиент JaCarta версии 2.7 НЕ ПОДДЕРЖИВАЕТ работу с Microsoft Windows 10. Для работы с токенами JaCarta в Microsoft Windows 10 необходимо использовать версию Единого Клиента JaCarta 2.8

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

После установки Единого Клиента JaCarta в системе будет доступна сервисная утилита для проверки крипто-ключа:

  • на закладке "Информация о токене" отображается техническая информация о крипто-ключе:

  • на закладке "PKI" отображается информация об установленном RSA-сертификате (ФСРАР ИД):

Примечание: На только что приобретенных крипто-ключах отсутствуют RSA-сертификаты (секция PKI)

  • на закладке "ГОСТ" отображается информация об установленной КЭП:

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

Генерация RSA-сертификата

Дальнейшим шагом после получения КЭП, следует выполнить генерацию сертификатов для торговых точек.

Для этого перейдите на страницу https://service.egais.ru/checksystem и нажмите кнопку Ознакомиться с условиями и проверить их выполнение, появится страничка проверки системных требований. К сожалению, другого пути в личный кабинет нет и через проверку придется проходить каждый раз, благо посещать его нужно не столь часто.

Универсальный транспортный модуль (УТМ)

Основным модулем системы ЕГАИС на предприятии является Универсальный транспортный модуль  (далее УТМ)

Назначение модуля УТМ - обеспечить прием и передачу данных между сервером ЕГАИС и системой StoreHouse.

Примечание: Модуль УТМ может использоваться с любым другим учетным ПО на предприятии совместно с системой StoreHouse.

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

УТМ является сетевым сервисом и работает с любыми поддерживающими его приложениями по протоколу TCP/IP - это позволяет разместить транспортный модуль на любом ПК в пределаз локальной сети.

Важно: Существует законодательно закрепленное требование к физическому расположению УТМ в месте реализации, поэтому варианты с удаленным доступом к УТМ (например, через VPN) следует исключить.

Алкогольная декларация (Sh4Decl)

Установка и настройка алкогольной декларации http://support.ucs.ru/ru/node/8608

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

Проблема: SH4Decl выдаёт ошибку: GridDS: Record not found. 

Решение: Обновиться на актуальную версию. 

Настройка печатных форм

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

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

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

  • в стандартном дистрибутиве ПО StoreHouse v4 все формы поставляются на русском языке
  • разработка и/или модификация печатных форм выполняется с помощью встроенного в StoreHouse v4 дизайнера отчетов Fast Reports
  • Fast Reports является независимой сторонней разработкой - компания ЮСИЭС обладает лицензией на право распространения встроенных компонентов Fast Reports в своих программных продуктах
  • компания Fast Reports Inc обладает собственной службой поддержки https://www.fast-report.com/ru/support/
  • разработка и/или модификация печатных форм компанией ЮСИЭС возможна после формирования подробного ТЗ (включая предполагаемый внешний вид отчета) и согласования работ с коммерческим отделом
  • допускается разработка и/или модификация печатных форм Дилером или Заказчиком
  • любая модификация печатных форм Дилером или Заказчиком снимает ответственность с компании ЮСИЭС за работоспособность форм
  • техническая поддержка по вопросам разработки и/или модификации печатных форм со стороны компании ЮСИЭС ограничена

Печатные формы

Файлы макетов печатных форм хранятся в подкаталоге клиентской части \SH4\RPT  - все макеты имеют расширение *.FRF и созданы с помощью дизайнера отчетов Fast Reports.

Сопоставление макетов печатных форм и соответствующих им отчетов или типов документов хранится в файле \SH4\SH.RPT

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

Примечание: Понятие "отчет" применяется не только к отчетам в меню "Отчеты", но и к некоторым словарям системы - например, при просмотре "Словари" ⇒ "Валюты" ⇒ "Список валют" доступен отчет "Список валют"

Пример вариантов печатных форм для типа документа "Приходная накладная" (версия StoreHouse 4.99.315):

  • Товарная накладная ТОРГ-12
  • Приходная накладная
  • Требование-накладная М11
  • Приходный ордер M4
  • Закупочный акт ОП5

Пример вариантов печатных форм для отчета "Ведомость остатотков" (версия StoreHouse 4.99.315):

  • Ведомость остатков
  • Бланк инвентаризации
  • Даты сертификатов
  • ведомость остатков с ценой
  • Ведомость остатков ОП16

Структура файла SH.RPT

Стуктура файла \SH4\SH.RPT идентична структуре стандартного INI-файла и состоит из секций, внутри которых определены пары <НазваниеПараметра>=<ЗначениеПараметра>:

Название секции соответствует определенному типу документа или отчету - например, секция [eDoc0] относится к типу документа "Расходная накладная", а секция [rGsRemns] к отчету "Ведомость отстатков":

.....

[fCurrencies]
d_0=Список валют

[eDoc0]
TORG12=Товарная накладная ТОРГ-12
DOC_0=Приходная накладная
M11=Требование-накладная М11
M4=Приходный ордер M4
DOC_0_OP5=Закупочный акт ОП5

.....

[rGsRemns]
REP_0=Ведомость остатков
BLANK=Бланк инвентаризации
REP_0_3=Даты сертификатов
REP_0_2=ведомость остатков с ценой
REP_0_OP16=Ведомость остатков ОП16

.....

В качестве значения <НазваниеПараметра> указывается имя файла макета печатной формы без расширения.

Например, форме "Товарная накладная ТОРГ-12" типа документа "Расходная накладная" соотв. файл печатной формы \SH4\RPT\TORG12.FRF:

[eDoc0]
TORG12=Товарная накладная ТОРГ-12

Включение дизайнера отчетов

Для использования встроенного дизайнера отчетов Fast Reports необходимо с помощью приложения \SH4\SHSetup.exe включить в клиентской конфигурации параметр "Разрешить дизайнер отчетов" :

Создание нового макета

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

  • в клиентском приложеним Sh.exe открыть любой отчет или документ либо вызвать форму создания нового документа любого типа
  • перейти в меню "Файл" ⇒ "Дизайнер отчетов..."
  • в окне "Дизайнер отчетов " выбрать операцию "Новый отчет":

Рис. Создание новой печатной формы 

Далее запускается стандартный дизайнер отчетов Fast Reports с пустым макетом:

 

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

Модификация существующего макета

Для модификации существущего макета печатной формы необходимо:

  • в клиентском приложеним Sh.exe открыть отчет или документ, для которого необходимо модифицировать печатную форму
  • перейти в меню "Файл" ⇒ "Дизайнер отчетов..."
  • выбрать в списке форму для модификации и выбрать операцию "Редактировать":

Рис. Редактирование существующей печатной формы для типа документа "Приходная накладная"

  • подвердить запрос на редактирвоание "Начать редактирование существующего отчета?"

Далее запускается стандартный дизайнер отчетов Fast Reports с выбранным для редактирования макетом:

Есть два варианта сохранения модифицированного макета::

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

Подключение печатной формы

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

Для подключения печатной формы необходимо:

  • скопировать файл макета в директорию \SH4\RPT
  • открыть в любом текстовом редакторе файл  \SH4\SH.RPT
  • найти секцию, соотв. отчету или типу документа
  • прописать в секции параметр <ИмяФайлаМакетаБезРасширения>=<НаименованиеПечатнойФормы>

Например, был модицирован стандартный макет "Товарная накладная ТОРГ-12" для типа документа "Приходная накладная" и сохранен в виде файла TORG12_MOD1.FRF (файл стандартного макета называется TORG12.FRF).

В файле  \SH4\SH.RPT находим секцию [eDoc0], которая соотв. типу документа "Приходная накладная":

[eDoc0]
TORG12=Товарная накладная ТОРГ-12
DOC_0=Приходная накладная
...

Подключаем новый макет:

[eDoc0]
TORG12=Товарная накладная ТОРГ-12
DOC_0=Приходная накладная
...
TORG12_MOD1= Товарная накладная ТОРГ-12 (МОДИФИЦ.)

где

  • TORG12_MOD1 - имя файла макета без расширения
  • Товарная накладная ТОРГ-12 (МОДИФИЦ.) - пример названия формы отчета, которое будет отображаться в списке
  • сохранить файл \SH4\SH.RPT, перезапустить Sh.exe и проверить доступность новой формы:

Ограничения

При создании/модификации печатных форм следует учитывать следующие ограничения:

  • в редакторе Fast Reports существует ограничение на максимальное значение числовой части номера документа - 2147483647

Дизайнер отчетов Fast Reports

Как отмечалось выше, дизайнер (генератор) отчетов Fast Reports является сторонней разработкой компании Fast Reports Inc.

Подробная документация по работе с элементами и объетками дизайнера Fast Reports доступна на оф. сайте https://www.fast-report.com/ru/download/documentation/ , также на сайте представлена документация для разработчиков.

В частности, руководство пользователя по дизайнеру FastReports VCL (генератор отчетов для Delphi), который используется в StoreHouse v4, доступно по ссылке  https://www.fast-report.com/public_download/html/FR5UserManual-HTML-ru/index.html

Для информации по данным StoreHouse v4, используемых в макетах, следует обратить внимание на следующие документы:

Установка модуля Алкогольная декларация

Вводная информация

В качестве дополнительного программного обеспечения расширяющего возможности ПО "Store House v4" может быть настроен и задействован модуль "Алкогольная декларация" (Sh4decl.exe) позволяющий предоставлять отчеты по алкогольной продукции в Федеральную службу по регулированию алкогольного рынка (Росалкогольрегулирование).

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

На рабочем объекте должен быть установлено и запущено ПО "Store House v4". Установка Sh4decl.exe производиться непосредственно в клиент \SH4 на той клиентской машине, на которой будут пользоваться "Алкогольной декларацией".

Примечание: необходимо учесть, что при работе в модуле "Алкогольная декларация" (Sh4decl.exe) будет задействована лицензия из ключа SH4 (так же как если бы был запущен клиент SH4).

Версии

Для работы с модулем "Алкогольная декларация" рекоммендуется использовать SH v.4.92 и выше. Иначе в базе SH могут отсутствовать необходимые процедуры, корреспонденты и прочее. Таким образом, перед установкой и использованием декларации, может потребоваться апгрейд SH4 до актуальных версий.

Установка и настройка - Sh4decl.exe

  1. Скачать в отдельный каталог с фтп актуальный архив дистрибутива ПО, например, отсюда - ftp://ftp.ucs.ru/storehouse/sh4/sh4_Alc_Declaration/:
  • shdecl_4_61_85_New_client.zip - слово в названии "New" - версия дистрибутива для огранизаций ранее не сдававших алкогольную декларацию средствами SH4.
  • shdecl_4_61_85_Work_client.zip - слово в названии "Work" - версия дистрибутива для организаций уже сдававших декларацию средствами SH4. Ее актуально использовать например, при апгрейде модуля Sh4decl.exe на новые версии.

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

  1. Распаковать содержимое в каталог с установленным клиентом SH4 (обычно это каталог - \UCS\SH4).

Содержимое архива:

  • \RPT - содержит печатные формы декларации (должны быть добавлены в общий каталог \SH4\RPT при копировании).
  • Sh4decl.exe - запускной файл модуля "Алкогольная декларация". 
  • SH4DECL.RPT - файл содержащий соответствие задействованных в модуле печатных форм названиям файлов этих форм.
  • Ver4_decl.txt - информация о версионности.
  • sh4decl_hdr.xml - содержится только в дистрибутиве с префиксом "New", т.к. содержит в себе параметры организации по-умолчанию которые, в дальнейшем будут отредактированы при настройке и работе.
  • Алкогольная декларация.doc - пользовательская документация по работе с модулем. Так же, содержится и в пользовательской документации SH4, например здесь - ftp://ftp.ucs.ru/books/storehouse_v4_user_manual.pdf.
  1. В папку с ярлыками SH4 добавить ярлык приложения Sh4decl.exe, дать название - "Алк.Декларация".
  2. Выполнить предварительные операции в SH4 прежде чем начать работу в модуле Sh4decl.exe. Все подробно описано в пользовательской документации, см. - Алкогольная декларация.doc или storehouse_v4_user_manual.pdf.
  3. Запустить приложение, проверить подключение к базе SH. Для подключения к базе SH используются параметры настроенные в ShSetup.exe. То есть, если Sh.exe подключается к базе, то и Sh4decl.exe будет подключаться.

 

Использование Sh4decl с несколькими базами SH

В истории изменений (Ver4_decl.txt) есть след. информация:
 
  • 4.42.52  Имя файла настроек для алк.декларации берется из реестра   'HKLM\Software\UCS\SHTrans\'+cServName, строковый параметр HdrFile , если записи в реестре нет , то имя файла sh4decl_hdr.xml
  • Соотв, в каждом разделе HKLM\Software\UCS\SHTrans\'+cServName надо создать строковую переменную HdrFile и присвоить ей значение, соотв. наименованию файла с параметрами организации.

Вариант 1

  1. Пусть наш сервер называется SDBSERV1 и файл с параметрами компании, соотв. данному серверу, называется sh4decl_sdbserv1.xml
  2. Создать в разделе HKLM\Software\UCS\SHTrans\SDBSERV1 строковую переменную HdrFile и присвоить ей значение sh4decl_sdbserv1.xml
  • Таким образом, при запуске Sh4decl.exe и выборе сервера SDBSERV1 будут автоматически загружены параметры из файла sh4decl_sdbserv1.xml
  • В качестве шаблона параметров используется файл sh4decl_hdr.xml, который идет в дистрибутиве с алк. декларацией.
  1. Содержимое sh4decl_hdr.xml для каждой организации можно отредактировать вручную заполнив нужные тэги, которые должны соответствовать реквизитам из используемой базы SH. Структура xml-файла не сложная:
<?xml version="1.0" encoding="windows-1251"?>
<Файл>
    <gFileName cbBeer="false" cRepDate="06.12.2012" eVersForm="4.20" eGUID="" eTotal="R1__03_06122012_"/>
    <gReport eNomForm="11-о" cbMQ="0" cbPrisFOtch="0" eGodPeriodOtch="" cbFormaOtch="0" eNomerCorr="0"/>
    <gOrgParams eNaimUL="" eINNUL="" eKPPUL="" eTelORG="" eEMailOtpr="" cbUL="Юридическое лицо">
        <Address eKodStrany="" eKodRegiona="" eIndex="" eRayon="" eGorod="" eNaselPunkt="" eUlica="" eDom="" eKorpus="" eLitera="" eKvart=""/>
        <gPers eRukF="" eRukI="" eRukO="" eBucF="" eBucI="" eBucO=""/>
        <Lics/>
        <Departs/>
    </gOrgParams>
    <gDepRep StartDate="01.12.2012" StopDate="" cbDeparts="-1"/>
</Файл>

Вариант 2

Если ручное заполнение не устраивает, можно действовать по следующему сценарию:
  1. Скопировать чистый sh4decl_hdr.xml в директорию с Sh4decl.exe.
  2. В реестре для серверов не прописываем переменную HdrFile, чтобы использовался файл по-умолчанию sh4decl_hdr.xml.
  3. Запустить Sh4decl.exe, подключиться к первому серверу.
  4. Открыть вкладку Отчеты \ Алкогольная декларация, перейти на закладку "Организация" и заполнить все реквизиты (либо выбрать реквизиты из справочника SH4).
  5. Сохранить реквизиты (на панели задач иконка в виде "бочки")
  6. Закрыть Sh4decl.exe и переименовать sh4decl_hdr.xml в sh4decl_organization1.xml (пример)
  7. Далее, зайти в реестр и выполить для первого сервера и файла sh4decl_organization1.xml процедуру, описанную выше.
  8. Сопировать чистый sh4decl_hdr.xml в директорию с Sh4decl.exe и повторяем все действия для следующего сервера.
 

Дополнительные ключи запуска

Ключ "S"

 
При запуске Sh4decl.exe с ключем S (Sh4decl.exe<пробел>S) появляется возможность создавать возврат на неподтвержденной накладной ЕГАИС (при этом накладная в SH4 должна быть активна).

Установка модуля Оператор производства

Введение

Пользовательский мануал ftp://ftpint.ucs.ru/books/Operator_proizvodstva_user_manual.pdf

Дистрибутив лежит в папке на фтп ftp://ftp.ucs.ru/storehouse/sh4/opr/.

Касса используется соответственно для печати наклеек, отчетов при закрытии смены. При закрытии смены данные о проведенной инвентаризации (если осуществляли) и проданных товарах OPR_SH4.exe передает в SH4.

Пошаговая настройка

1. Настройка Сервера весов

Для работы весов необходим сервер весов, при чем для каждого типа весов он уникальный (ftp://ftp.ucs.ru/rk7/other/labelprint/ScaleServer/ ).

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

/desktop - для запуска в качестве десктопного приложения;

/install - для установки в качестве службы

Рис. Настройка Сервера весов

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

2. Настройка связи с сервером SH4 в приложении OPR_SH4Settings.exe

Примечание: рекомендуется зарегистрировать Sh4Ole.dll в операционной системе до начала настройки.

Запустить OPR_SH4Settings.exe и прописать IP, Port, имя пользователя и пароль для подключения к серверу SH4.

Рис. Параметры для подключения к серверу StoreHouse

Нажать кнопку Далее и в открывшемся окне сделать следующее:

  • выбрать место реализации;

  • выбрать корневую ветку товаров, которые будут использоваться в OPR-Board;  

  • в зоне «Склад по-умолчанию» выбрать склад, который по-умолчанию будет использоваться при создании накладных;

  • в зоне «Весовая единица измерений»  указать единицу измерений, в  которой будут поступать данные с весов.

  • в том случае, если импорт товаров без штрих-кода не нужен, выставить галочку «Запретить импорт товаров без штрих-кода»;

  • указать адрес сервера весов и коэффициент взвешивания;

Важно: для определенного типа весов используется свой сервер весов - ScaleServer.exe, в настройках которого прописывается номер COM-порта и HTTP порт.

Параметр HTTP Сервер весов может иметь вид http://127.0.0.1:27722 в зависимости от настроек сервера весов.

  • Выбрать принтер для печати этикеток и для печати отчетов (доступно для версий 42 и выше);
  • нажать кнопку «Завершить».

Рис. Дополнительные параметры OPR_SH4Settings.exe

3. Настройка OPRBoard.ini

Внести изменения в файл, прописав правильные настройки
 
[Server]
;URL сервера
IP=http://127.0.0.1/OPRBoard/api/
;код объекта (может использоваться в макете этикеток)
ObjectCode=199990053
;номер терминала (необходим для сопоставления цен и баркодов (см.п. 3.7))
TerminalNum=01
;Порт принтера отчетов
COMport=COM1
;Порт сканера штрих кода
ScannerCOM=COM2
 
[Proxy]
;прокси сервер
Server=127.0.0.1
;порт прокси
Port=7799
;имя пользователя
UserName=asdf
;пароль
Password=ss
;использовать прокси (1 - да/0-нет)
Useproxy=0
;1 - да
BasicAuthentication=1
 
[Graphic]
;размер шрифта для плиток
DishFontsize=8
 
[Main]
;Оставить без изменений. Это означает, что OPR-Board будет работать напрямую со складом
DirectServerMode=1

4. Настройка атрибутов в SH.exe

4.1. В справочнике Сервис - классификаторы объектов создать новый классификатор с параметрами:

Наименование = Роль, Объект = корреспондент

Рис.3 Расположение справочника Классификаторы объектов

Рис.4 Наполнение справочника Классификаторы объектов

4.2. В справочнике Словари - классификаторы - корреспондентов - Роль добавить две роли: Менеджер и Сотрудники.

Рис.3 Расположение справочника Роль

Рис.4 Наполнение справочника Роль

4.3. В справочнике «Сервис - Дополнительные атрибуты - Атрибуты корреспондентов» добавить атрибут ПИН КОД(PIN) для корреспондентов.

Рис. 5 Расположение справочника Атрибуты корреспондентов

Рис.6 Наполнение справочника Атрибуты корреспондентов

4.4. Добавить сотрудников (как физических лиц) в справочник Словари - Корреспонденты - Список корреспондентов и прописать им Пин код (рис.9), который далее необходимо  будет использовать для входа в приложение OPR-Board.

Рис.7 Расположение справочника Список корреспондентов

Рис.8 Добавление нового корреспондента

Рис. 9 Свойств ПИН КОД сотрудника

4.5. В справочник Сервис - Дополнительные атрибуты - Атрибуты товаров добавить атрибуты для товаров

Рис.10 Расположение справочника Атрибуты товаров

Рис.11 Атрибуты товаров

4.6. Заполнить данные атрибуты у товаров. Штрих коды товаров должны быть уникальные.

Рис.12 Свойства товара

4.7. В справочнике "Словари - Корреспонденты - Места реализации" заполнить места реализации

КОД1 – МАГАЗИН1

КОД2 – МАГАЗИН2

Рис.13 Места реализации

5. Редактирование макета этикетки

Макет лежит в папке с OPR Board и называется sticker.fr3. Список переменных храниться в файле variables.fd3. Файлы можно взять из прикрепленного архива.

Для редактирования можно использовать редактор с ФТП  - ftp://ftp.ucs.ru/rk7/other/labelprint/RK7CashPlugin_old/fr3_editor.exe

Доступен следующий список переменных:

  • SertNo=Номер сертификата качества
  • SertFrom=Начало действия сертификата качества (полная дата и время)
  • SertTo=Окончание действия сертификата качества (полная дата и время)
  • SertDep=Орган сертификации
  • SertKeep=Держатель сертификата
  • KeepPrd=Срок хранения товара (в часах)
  • NDS - НДС (из OPR)
  • Sum - сумма (из OPR)
  • Quantity - количество (из OPR)
  • Packed - имя пользователя, распечатавшего этикетку
  • Price - цена (из SH)
  • DishName - имя товара
  • ObjectName - код объекта (из ini)
  • Text - комментарий
  • Barcode - штрихкод
  • Energy1 - белки
  • Energy2 - жиры
  • Energy3 - углеводы
  • Munit - ед.изм.

6. Работа с кассой (сценарии)

Важно: более актуальную информацию о том как работать с кассой, вы найдете в руководстве пользователя ftp://ftpint.ucs.ru/books/Operator_proizvodstva_user_manual.pdf.

6.1. Начало работы

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

6.2. Вход в систему

Требуется ввести ПИН, пин должен быть уникален. Если пин есть в системе - по нему определяется сотрудник и его тип.

Тип сотрудника определяется ролью и определяет уровень прав.

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

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

6.3. Печать этикеток

В режиме печати этикеток при нажатии на товар (на тач-скрине) печатается этикетка. Есть возможность отменить 1 последнюю операцию кнопкой “отмена последней операции”.

6.4. Инвентаризация

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

6.5. Отмена последней операции

6.5.1. При печати этикеток

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

6.5.2. При инвентаризации

Если товар был выбран неверно или отсканирован ошибочно - операцию можно отменить. При этом количество товара в инвентаризации уменьшается на 1.

6.6. Генерация отчета

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

Пример отчета:

         Отчет по продажам

дата:                   01.01.2015

объект:               Магазин 1

оператор:           Василий Н. К.

товар                               кол-во

набор товаров №1              123

набор товаров №2                  3

булка с маком                        23

сок апельсиновый                 12

пряник тульский                  234

печать:           01.01.2015 32:50

6.7. Закрытие смены (передача данных в SH4)

Делаются копии всех документов “произведенная продукция” и “остатки”, выполняется попытка их передачи на сервер. Выводится сообщение “смена закрыта”.

ВложениеРазмер
sticker.rar1.04 МБ

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

Обслуживание базы данных 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

Дополнительно

Введение

Sh4Utils - клиентское приложение для выполнения дополнительныъ операций и построения отчетов в виде куба по технологии OLAP.

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

Примечание: Для запуска приложения Sh4Utils не требуется лицензия.

Установка приложения SH4Utils:

В приложении  Sh4Utils есть несколько отчетов, для построения которых используются внешние источники данных - отчет "Оперативные остатки" и "Анализ неплательщиков".

Отчет "Оперативные остатки" строится на основании данных, полученных из двух источников - БД SH4 и online-данные с кассовых серверов.

Для взаимодействия с кассовыми серверами приложение Sh4Utils использует доп. библиотеку rkonline.dll:

Настройка связи с RK7

  1. Скачать архив дистрибутива RK7 подходящей версии
  2. Скопировать из папки bin\RKOnline DLL-файлы в папку \SH4
  3. Отредактировать файл Rkonline.ini, вписав в него адрес кассового сервера. Пример рабочего конфига:
    [netbios]
    Adapter = 0
    
    [Config]
    ClientName=MIDSRV
    
    [netkern]
    protocols = tcpsoc.dll
    
    [TCPSOC]
    listen=0
    
    [TCPDNS]
    MIDSRV=127.0.0.1:4639
  4. Запустить Sh4Utils.exe от имени администратора
Подробнее о сетевых параметрах RK7 можно почитать здесь: http://support.ucs.ru/ru/node/5235)

Добавление фотографий к товарам

Основная информация

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

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

Настройка

Для комплекта

  1. В справочнике [Сервис] - [Дополнительные атрибуты] - [Атрибуты комплектов] создать новый атрибут, например - $CFoto:

Рис. - Атрибуты комплектов.

Рис. - Добавление нового атрибута.

  1. Далее, у требуемых комплектов заполнить этот атрибут, названиями фотографий. 

Рис. - Заполнение названий фото.

  1. В локальной сети организовать ресурс типа "\\MyServer\SH4Fotos\". Туда поместить фотографии комплектов, например с расширением jpg.
  2. Требуемую печатную форму, например - "Технологическая карта" открыть в дизафнере отчетов:

Рис. - Запуск дизайнера отчетов.

Рис. - Выбор формы для редактирования.

  1. Оригинальную форму рекомендуется оставить без изменений. По этому, после открытия формы в редакторе, необходимо сразу же ее пересохранить с новым названием. Для этого открыть: [File] - [Save As], где в открвшемся диалоге сохранения указать новое название формы и сохранить ее в папку \SH4\RPT, т.е. туда где храняться печатные формы SH4:

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

  • Далее, необходимо выполнить ряд действий уже в самой печатной форме. 
  1. В нужный "бэнд" отчета добавить объект "picture1" инструментом "insert picture":

Рис. - Добавление объекта "picture1".

  1. Выделив этот объект одним (!!!) кликом мыши нажать комбинацию клавиш - "ctrl"+"enter" и в нижней части открывшегося окна, прописать примерно следующий скрипт:
begin
picture1.loadfromfile('\\MyMegaServer\SH4Fotos\'+[OPV(CHA,MyFoto,[Header."Header.202.1.0"])]+'.jpg');
end

 

Рис. - Пример скрипта.

- где:

  • \\MyMegaServer\SH4Fotos\ - путь до каталога с картинками.
  • [Header. "Header.202.1.0] - рид комплекта. Значение может быть разным в зависимости от группы отчетов в которых выполняется настройка. Уточнить значение поля можно, например, в документе - "Для постороения отчетов.txt". - 
  • $CFoto - атрибут комплекта.
  1. Дополнительно, настроить свойства объекта "picture" через object inspector (в частности такое свойство как "streched" (растягивать).

Примечание: дополнительная информация о работе с Fast-Report - http://support.ucs.ru/ru/node/5357.

Для товара

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

1. Атрибут создать не в "атрибутах комплектов", а в "атрибутах товаров".

2. Использовать в формуле RID товара (а не комплекта).

 

Импорт товаров и комплектов из Excel

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

- При помощи приложения XLS2SH4.EXE (мастер загрузки данных) появилась возможность закачивать данные из XLS-файла (книги) определенного формата в базу SH4. На момент написания статьи (26.09.14), была реализована загрузка:

1. Списка новых (отсутствующих в справочнике товаров базы) товаров.
2. Списка новых (отсутствующих в справочнике комплектов базы) комплектов.

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

Важно!!! Закачивать пока можно только НОВЫЕ товары и комплекты В УЖЕ СУЩЕСТВУЮЩИЕ (или заранее созданные) в базе "группы товаров" и "группы комплектов". 

Важно!!! Приложение работает только с файлами имеющими расширение - *.XLS (т.е. книга EXEL 97-2003).

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

Формат файла xls 

- Формат должен быть следующим:

- Первая страница файла книги EXEL будет использоваться для загрузки списка новых товаров. Саму страницу необходимо переименовать в "Товары":

- далее, заполнить по формату представленному на скриншоте выше:

Столбец "КОД" - задается список уникальных кодов (отсутствующих в базе SH!!!) загружаемых товаров.
Столбец "Наименование" - задается загружаемая номенклатура товаров.
Столбец "Группа товаров" - существует/используется только для сопоставления его содержимого с существующими группами товаров в базе SH (т.е. данные этого столбца в БД не заносятся, а только сопоставляются).
Столбец "Единица измерения" - существует/используется только для сопоставления его содержимого с существующими в базе SH единицами измерения (т.е. данные этого столбца в БД не заносятся, а только сопоставляются).
Столбец "Ставка налога" - существует/используется только для сопоставления его содержимого с существующими в базе SH ставками налога (т.е. данные этого столбца в БД не заносятся, а только сопоставляются).

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

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

- Описание полей:

Поле A1 - вписать уникальный (отсутствующий в базе SH4) код комплекта. Это поле относится к заголовку комплекта.
Поле A2 - вписать название комплекта. Это поле относится к заголовку комплекта.
Поле A3 - вписать единицу измерения нормы закладки комплекта.
Поле A4 - вписать количество нормы закладки комплекта.
Поле A5 - вписать КОД товара/ингредиента/комплекта.
Поле B5 - вписать тип ингредиента (G - товар, S - подкомплект).
Поле С5 - вписать единицу измерения ингредиента.
Поле D5 - вписать количество (брутто) ингредиента.

 

Установка XLS2SH4

Важно!!! Для работы ПО требуется наличие установленного на ПК - NET Framework Version 4.5! Если его нет, - установить.

- Скопировать содержимое дистрибутива утилиты перекачки в каталог с установленным клиентом SH4 (Например, - D:\UCS\SH4).

- Создать в \SH4 (если их не было в дистрибутиве) следующие каталоги:

\Input - для закачиваемых xls-файлов
\Done - в этот каталог будут перемещаться из каталога \Input xls-файлы, если они были успешно закачаны в БД SH4.
\Error - в этот каталог будут перемещаться из каталога \Input xls-файлы, если при их закачке возникли ошибки и данные из них не были загружены в БД SH4.

- Дополнительно:

\LOG - в этот каталог будет записан лог-файл (xls2SH4.log) работы приложения, в котором так же фиксируются ошибки связанные с перекачкой.

- Поместить в каталог \Input заполненный данными xls-файл и запустить приложение XLS2SH4.EXE.

Использование

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

- После запуска, появится запрос на подключение к серверу SH (для этого в ShSetup.exe должно быть настроено подключение к серверу sh стандартным образом):

- Если связь с сервером отсутствует:

- в таком случае необходимо проверить параметры подключения и например, подключиться к серверу обычным клиентом SH4 (sh.exe). Если подключение произошло успешно, кнопка [Далее >] станет активной.

- Заполнить параметры диалогового окна "Настройки":

"Путь до LOG-файла" - указать каталог в который будет писаться лог-файл выполненных операций.

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

"Папка с обработанными файлами" - указать каталог в который, будут перенесены успешно обработанные xls-файлы.

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

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

Важно!!! Все параметры которые будут указаны в течении настройки мастера перекачки данных будут сохранены в его основной конфигурационный файл - xls2SH4.xml. Т.е. настройки при необходимости можно отредактировать и напрямую в этом файле.

- После определения параметров первого окна, перейти ко второму нажав кнопку [Далее >]:

- Указать параметры для импорта товаров ("Категория" и "Бух.категория").

-  Указать склад, в который будут помещены комплекты.

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

- Все выбранные поля должны подсветиться зеленым цветом. После чего можно перейти на следующий экран настроек, нажав кнопку [Далее >]:

- В правом окне, необходимо проставить соответсвие ДЛЯ КАЖДОЙ строки группы товаров из файла к группе товаров из базы данных SH4:

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

- Так же необходимо, указать "Значение по-умолчанию", оно сыграет роль для товаров у которых в xls-файле поле "Группа товаров" не было заполнено вовсе. Для этого, нажать кнопку "Определить значение по умолчанию", затем выбрать из дерева базы нужный каталог, после чего нажать кнопку "Закончить определение" и убедиться что в поле "Значение по умолчанию" указан требуемый каталог.

- После заполнения всех полей и их подсветки зеленым цветом, перейти к следующему окну нажав кнопку [Далее >]:

- В окне настроек соответсвий единиц измерения выполнить те же действия что и в предыдущем окне. А именно:

 - Указать соответсвие для ВСЕХ строк в левом окне выбирая их поочередно и затем проставляя требуемое соответсвие (в базе) из окон правее.

- Указать "Значение по-умолчанию" для тех товаров у которых поле "Единица измерения" не заполнено. Т.е. как и в предыдущем окне, сначала нажимаем кнопку "Определить значение по умолчанию", затем в окнах правее проставить соответсвие, после чего подтвердить нажав кнопку "Закончить определение". После указания всех соответствий и подсветки зеленым цветом, нажать [Далее >] для настройки следующего диалогового окна ("Ставка налога"):

- По аналогии с предыдущими окнами сопоставить ставки налогов из файла таковым в базе данных SH (ДЛЯ КАЖДОЙ СТРОКИ). А также указать значение по умолчанию, для товаров с пустым полем "Ставка налога". После указания и подсвечивания всех полей зеленым цветом перейти к следующему окну, нажав [Далее >]:

- В этом окне ("Проверка") проверить все ранее введенные данные и если все верно, нажать кнопку [Далее >], после чего начнется обработка файлов и загрузка новых данных в БД. Результат будет выведен на экран и в LOG-файл.

Приложение

Пример файла xls2sh4.xml

<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <LogFilePath>D:\2_SH4xx\SH_95\SH4_XLS\LOG</LogFilePath>
  <InputFolder>D:\2_SH4xx\SH_95\SH4_XLS\Input</InputFolder>
  <DoneFolder>D:\2_SH4xx\SH_95\SH4_XLS\Done</DoneFolder>
  <ErrorFolder>D:\2_SH4xx\SH_95\SH4_XLS\Error</ErrorFolder>
  <GoodColor>0</GoodColor>
  <BadColor>0</BadColor>
  <GoodsCtgId>4</GoodsCtgId>
  <GoodsCtg2Id>2</GoodsCtg2Id>
  <DefComplGroupId>138</DefComplGroupId>
  <CorrId>50</CorrId>
  <MaxPassNumber>4294967295</MaxPassNumber>
  <DefGoodsGroupId>484</DefGoodsGroupId>
  <DefMeasureId>1</DefMeasureId>
  <DefTaxRateId>1</DefTaxRateId>
  <GoodsGroupsRelation>
    <ValueToDatabaseRelation>
      <Value>Товары в xls</Value>
      <DatabaseId>484</DatabaseId>
    </ValueToDatabaseRelation>
  </GoodsGroupsRelation>
  <MeasureRelation>
    <ValueToDatabaseRelation>
      <Value>кг</Value>
      <DatabaseId>1</DatabaseId>
    </ValueToDatabaseRelation>
    <ValueToDatabaseRelation>
      <Value>порция</Value>
      <DatabaseId>6</DatabaseId>
    </ValueToDatabaseRelation>
  </MeasureRelation>
  <TaxRateRelation>
    <ValueToDatabaseRelation>
      <Value>0</Value>
      <DatabaseId>1</DatabaseId>
    </ValueToDatabaseRelation>
    <ValueToDatabaseRelation>
      <Value>10</Value>
      <DatabaseId>2</DatabaseId>
    </ValueToDatabaseRelation>
  </TaxRateRelation>
</Config>

 

10.10.2014

XLS2SH4 v. 1.1 - Импорт товарных групп

- C версии программы 1.1 дополнительно реализована возможность импорта товарных групп.
 
- В случае отсутствия в папке с файлами для обработки файла с именем "Товарные группы.xls", программа импортирует товары и комплекты точно так же, как и в предыдущей версии.
 
- В случае наличия там такого файла, логика работы программы меняется следующим образом.
 
1. Файл "Товарные группы.xls" должен содержать единственную страницу с именем "Товарные группы".
 
2. На этой странице первая строка занята под название столбцов; их три: "КОД", "Наименование группы товаров", "Принадлежит группе".
 
3. Начиная со второй строки файла, в нем должны быть перечислены товарные группы: в первом столбце уникальный код, во втором - наименование товарной группы и в третьем - код товарной группы, чьей подгруппой является данная товарная группа. В случае отсутствия кода в третьем столбце, такая товарная группа импортируется как корневая вершина в дерево товарных групп SH4.
 
4. В остальных импортируемых файлах на странице "Товары" вместо наименования товарных групп, к которым относятся импортируемые товары, должны быть указаны коды товарных групп: или находящиеся в файле "Товарные группы.xls" (с первом столбце), или коды товарных групп, уже имеющихся в базе данных SH4, в зависимости от того, к какой товарной группе необходимо отнести тот или иной импортируемый товар.
 
5. Во время работы программы, в отличие от варианта ее работы без импорта товарных групп, игнорируется шаг установки соответствия между товарными группами, указанными в импортируемых файлах на странице "Товары" и товарными группами, имеющимися в базе данных SH4.
 
6. Использование товарной группы "по-умолчанию" для импортируемых товаров в случае импорта товарных групп не допускается: для каждого товара на странице "Товары" в импортируемых файлах должно быть указано соответствие той товарной группе, к которой данный товар относится, путем указания ее кода.
 
- На этом отличия двух алгоритмов работы программы заканчиваются.

 

 

 

Настройка связи с терминалом сбора данных

Сокращения

  • ТСД - терминал сбора данных.
  • ПО - програмное обеспечение.
  • ОС - операционная система.
  • SH4 - ПО Store House v4.
  • SH4DCT - ПО SH4 Data Collection Terminal.
  • ПК - персональный компьютер.

Вводная информация

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

Для связи ТСД с SH4 используется дополнительный программный модуль - SH4 Data Collection Terminal (SH4DCT). При работе с ПО "SH4DCT" доступны следующие преимущества и возможности:

  • Дружественный интерфейс создания накладных, в традициях Store House v4;
  • Поддержка самых распространенных терминалов сбора данных (Opticon, Cipher и др.), их удобная и несложная настройка;
  • Выгрузка в ТСД номенклатуры с сервера (базы) SH4, состоящей из 3-х полей (баркод, наименование, ед.изм.);
  • Создание на ТСД и отправка в SH4 нескольких типов накладных:
  1. Приходная накладная;
  2. Расходная накладная;
  3. Внутреннее перемещение;
  4. Сличительная ведомость;
  5. Комплектация.

На данный момент в ПО "SH4 Data Collection Terminal" поддержано две модели ТСД:

  • ТСД - "Opticon Smart"
  • ТСД - "Cipher 8001"

Примечание: поддержка других моделей осуществляется через предварительное согласования ТЗ на поддержку и предоставления модели устройства для тестирования.

Системные требования

  1. Должно быть установлено ПО Storehouse v4, настроено, пролицензировано. 
  2. При использовании Opticon Smart, так же потребуется дополнительное сервисное ПО:
  • USB Driver - для связи ТСД с ПК.
  • Appload.exe - сервисная утилита обновления прошивки самого ТСД (прошивка представлена в виде - MLRES.HEX и ML.HEX).
  • Конфигуратор MobileLogistics - сервисная мультифункциональная утилита для загрузки конфигурации в ТСД (например файла - SH_DB.ctf).
Примечание:  для загрузки конфигурации так же можно воспользоваться утилитой Pdx_t.exe (из состава ПО SH4DCT связки ТСД с SH4).

Версии

  • SH v4.90 и выше.
  • SH4DCT актуальной версии (например 1.0.0.19 и выше).
  • Актуальные, на момент установки, версии сервисного ПО.

Оборудование

  • ПК офисной конфигурации - для работы SH4 и сервиса SH4DCT.
  • Терминалы сбора данных: Opticon Smart (рекоммендован и оттестирован) или Cipher 8001.

Примечание: возможно так же подключение других терминалов по отдельному соглосованию и предварительной проверкой (доработкой).

Установка сопутствующего ПО - "MobileLogistics" и др.

  1. Необходимо загрузить и установить на ПК самую новую версию конфигуратора MobileLogistics.
  • Само по себе, данное ПО является мультифункциональным, поддерживает массу устройств и возможностей по работе с ними.
  • Полная версия данного приложения защищается лицензионным ключем (Guardant).
  • Тем не менее, не мало функций доступно и в "демо"-режиме. В частности, доступен функционал перекомпиляции (обновления) файла конфигурации (в нашем случае, это будет файл - SH_DB.ctf) и загрузка обновленного файла конфигурации на устройство (ТСД). Этого вполне достаточно. Так что, лицензирования приложения MobileLogistics, при настройке ТСД для SH4, не потребуется.
  1. Установить драйвер USB  для ТСД Opticon SMART.

Для установки драйвера:

  • Запустить установку драйвера - "USB Drivers Installer.exe".
  • Выбрать необходимые компоненты программы (рекомендуется оставить по-умолчанию), после чего появятся уведомления об установке:

Рис. - Компоненты для установки.

Рис. - Подтверждение успешной установки.

 

Рис. - Подтверждение успешной установки.

 

Рис. - Уведомления об успешной установке драйверов.

  1. Установить утилиту для загрузки прошивки и файлов  Appload.
  • Можно скачать по ссылке, или прикреплен здесь же, в конце статьи - appload_setup.7z.

Установка ПО "SH4DCT" - SH4DCT.exe

  1. Скачать с фтп дистрибутив сервиса SH4DCT актуальной версии, например - ftp://ftp.ucs.ru/storehouse/sh4/DataCollectionTerminal/Sh4DCT_0_19.zip.
  2. Содержимое дистрибутива распаковать с перезаписью в католог установленного на ПК клиента SH4. Обычно это - \UCS\SH4. 
  3. Вывести ярлык SH4DCT на рабочий стол в каталог с остальными ярлыками SH4.
  4. Запустить SH4DCT.exe. 
  • Дальнейшие настройки выполняются уже в самом приложении (См. раздел "Запуск").

Лицензирование

При подключении ПО SH4DCT к серверу SH будет задействована лицензия на одно подключение из лицензионного ключа SH4

Загрузка конфигурации (SH_DB.ctf) на ТСД 

Необходимо выполнить ряд настроек и подготовительных работ на ТСД "Opticon Smart". В большинстве случаев ТСД после приобретения должен быть уже готов к работе. На него достаточно загрузить конфигурацию для работы с SH, после чего можно начинать работу.

  1. Загрузить файл рабочей конфигурации для SH - SH_DB.ctf в ТСД при помощи утилиты "Pdx_t.exe" идущей в составе ПО "SH4DCT". Сам файл SH_DB.ctf после установки должен находиться например, в каталоге - \UCS\SH4\devices\OpticonSmart\.
  • Для загрузки - включить ТСД.
  • Подключить через usb или подставку к ПК.
  • Запустить утилиту Pdx_t.exe, при этом откроется окно теста драйвера ТСД (см. Рис. - Окно теста драйвера ТСД).
  • В окне установить галочку "Устройство включено".

Рис. - Окно теста драйвера ТСД.

  • Выполнить проверку связи. Для этого нажать клавишу "Настройка свойств" (см. рис. - Окно теста драйвера ТСД), в открывшемся окне (см. рис. - Свойства связи) нажать клавишу "Проверка связи", при этом в строках "Результат" и "DeviceID" отобразятся имя и ID ТСД (см. рис. - Свойства связи).

Рис. - Свойства связи.

  • В системном меню ТСД выбрать пункт "Загрузка конфигурации".
  • Перейти на вкладку "Дополнительно" (см. рис.- Окно теста драйвера ТСД), нажать клавишу "Загрузить конфигурацию", в открывшемся окне выбрать файл конфигурации - "SH_DB.ctf" (Должен быть там же где и утилита. Например, - \UCS\SH4\devices\OpticonSmart\SH_DB.ctf).
  • При удачной загрузке конфигурации в ТСД появляется сообщение "Конфигурация загружена".

Важно! Если конфигурация не прогружается на терминал с сообщением о разности версий прошивки ТСД и самой конфигурации (например, прошивка на ТСД новее чем загружаемый файл конфигурации), в таком случае, необходимо сначала перекомпилировать (обновить) его в актуальной версии ПО "MobileLogistics". Там же, после обновления, можно выполнить и загрузку на ТСД.

Дополнительная информация о ТСД "Opticon Smart"

Этот раздел предназначен для ознокомления в случае, если по каким-то причинам файл конфигурации SH_DB.ctf не может быть установлен на ТСД "Opticon Smart". Выдаются ошибки о несовместимости версий, лицензий и прочее.

Терминал сбора данных "Opticon Smart" поддерживаемый компанией "АТОЛ" является современным и недорогим решением.

Вся необходимая информация, необходимые драйвера и сервисное ПО содержится на официальном сайте компании "АТОЛ" - www.atol.ru.

  • Прежде чем приступать к работе с данным устройством, необходимо изучить документацию на устройство в комплекте (или скачать в центре загрузок на сайте: Вкладка "Сервис и поддержка" - "Центр загрузок").
  • Ниже будут приведены некоторые выдержки из ригинальной документации на данный ТСД.

Примечание: основная документация на ТСД есть в том числе и на support.ucs.ru, например, - http://support.ucs.ru/ru/node/8632.

Важно! Описанные ниже настройки выполняются только по согласованию с владельцем устройства ТСД в случае, если на ТСД установлена не стандартные ОС и прошивка.

На самом ТСД должно быть устанволено:

  • Стандартная для данного ТСД - OS Pro DOS.
  • Стандартные для данного ТСД файлы ресурсов - MLRES.HEX и прошивка - ML.HEX.
  • Рабочая конфигурация - SH_DB.ctf (ее загрузка описана в разделе "Загрузка конфигурации (SH_DB.ctf") на ТСД). 

Варианты операционных систем 

При приобретении ТСД необходимо сразу уточнить какая версия ОС установлена на устройстве.  Разные версии стоят разных денег. Как правило, предлагаются следующие:

Рис. - Варианты установленных на ТСД ОС.

  • Basic версия ОС - не лицензируется и является упрощенной. 
  • Pro версия - лицензируется (сертифицируется) компанией "АТОЛ" и является полнофункциональной. ТСД 

Примечание: Подробная информация о сертификации и лицензировании Pro версии ОС для ТСД находится здесь - http://www.atol.ru/support/certification/.

Важно! Для полноценной работы требуется - Пролицензированная ОС Pro DOS. С непролицензированной конфигурация SH_DB.ctf будет работать (в ограниченном режиме) и при запуске конфигурации будет выдаваться ошибка лицензии. После подтверждения сообщения об ошибке, можно продолжить работу в штатном режиме. 

  • Пролицензированная версия ОС на ТСД будет содержать специальный файл с лицензией. 
  • Самый простой вариант - приобрести устройство с пролицензированной ОС Pro DOS.
  • Другой вариант - пролицензировать самостоятельно: http://www.atol.ru/support/filelic/.

Важно! Непролицензированная Pro или Basic версия - имеют ряд ограничений по функционалу, количеству, размеру номенклатуры справочников, отгружаемых данных и т.д. За более подробной информацией о разнице версий/лицензий ОС и их ограничениях необходимо обращаться в техподдержку компании производителя "АТОЛ": www.atol.ru.

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

Файл ресурсов и прошивка - MLRES.hex, ML.hex

На ТСД должен быть установлен соответствующий файл ресурсов - MLRES.HEX и файл прошивки - ML.HEX.

  • После установки конфигуратора "MobileLogistics" файл ресурсов MLRES.hex располагается на ПК в папке модели подключаемого терминала SMART (DOS).
  • Путь к данной папке: \ATOL\MobileLogistics\Bin\Terminal\Opticon\MLRES.hex.
  • Прошивка MobileLogistics ТСД Opticon SMART располагается на ПК в папке модели подключаемого терминала SMART (DOS).
  • Путь к данной папке: \ATOL\MobileLogistics\Bin\Terminal\Opticon\ML.hex.

Важно! необходимо установить файл ресурсов и прошивку для ТСД Opticon SMART если они отличаются от предложенных конфигуратором "MobileLogistics".

Установка ОС, файла ресурсов и прошивки

Важно! Выполняется только в случае неработоспособности загруженной конфигурации -  SH_DB.ctf по предварительному согласованию с владельцем ТСД и после изучения тех.документации на ТСД!

Важно! файл образа ОС должен быть предоставлен либо поставщиком оборудования, либо получен в службе техподдержки компании "АТОЛ"!

  1. Вставить в терминал аккумулятор.
  2. Включить терминал.
  3. Перейти в системное меню терминала "SYSTEM MENU" и нажать одновременно кнопки «Fn1» и «BS».
  4. Подключить ТСД к ПК с помощью USB-кабеля.
  5. Зайти в пункт меню "3 Downl. Software" - "3 USB".
  6. Запустить на ПК программу Appload.exe и установить в меню "Setting" - "Port" порт, к которому подключен ТСД (при подключении терминала по USB в системе будет создан виртуальный COM-порт). 

Рис. - Отображение подключенного на виртуальный COM-порт ТСД.

  1. В пункте меню "Settings" - "IrDA Adapter" - "Cradle type" выбрать вариант "Not Installed".
  2. Выбрать пункт меню "File" - "Download" и указать для загрузки файл образа ОС Вашего ТСД.
  3. После прогрузки ОС, там же выполнить загрузку файла ресурсов - MLRES.HEX (\ATOL\MobileLogistics\Bin\Terminal\Opticon\MLRES.hex). 
  4. Там же и так же, после прогрузки MLRES, загрузить ML.HEX (\ATOL\MobileLogistics\Bin\Terminal\Opticon\ML.hex).

Запуск и начало работы

  1. При запуске приложения, откроется стандартное окно авторизации на сервере Store House (см рис. 1). Если авторизация не удалась, будет показано окно с сообщением об ошибке.

vhod.png

Рис.1 - Окно авторизации на сервере StoreHouse.

  • Перед запуском Sh4DCT необходимо убедиться в том, что настройки обмена  в ТСД и виртуального com-порта в операционной системе идентичны. Настройки com-порта в Windows 7 можно посмотреть через диспетчер устройств в свойствах  com-порта на вкладке "Параметры порта".

Главное окно приложения состоит из 3-х пунктов (см. рис. 2):

  • "Настройки";
  • "Выгрузка номенклатуры";
  • "Создание накладных".

glavnoe_menyu.png

 

 

 

 

 

 

 

 

 

 

 

Рис.2 – Окно главного меню.

Раздел - "Настройки"

  • После выбора первого пункта, откроется окно с настройками (см. рис. 3).

parametry_storhaus.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Рис. 3 – Раздел "Настройки", вкладка "Параметры StoreHouse".

В разделе "Настройки" содержится несколько вкладок:

  • Вкладка - "Параметры StoreHouse";
  • Вкладка - "Общие";
  • Вкладка - "Оборудование";

- так же в последних версиях ПО появились:

  • Вкладка - "Весы";
  • Вкладка - "Баркоды".

Вкладка - "Параметры StoreHouse"

  1. На вкладке "Параметры Store House" задать параметры подключения к серверам SH.

Можно добавлять/удалять/изменять серверы SH, а также если потребуется, сменить сервер без выхода из приложения.

  • Для добавления нового сервера в поле "Список серверов" правой кнопкой мыши вызвать контекстное меню, выбирать "Добавить". При этом появится окно в котором необходимо заполнить поля "Псевдоним", "IP адрес", "Порт". Т.е. указать стандартные параметры для подключения к серверу SH.
  • Для удаления сервера в поле «Список серверов» правой кнопкой мыши вызвать контекстное меню, выбрать "Удалить", выбрать сервер, который хотим удалить.
  • Для смены сервера без выхода из приложения нажать кнопку "Сменить сервер" (см. рис. 3). При этом откроется окно авторизации.
  • Чтобы логин и пароль совпадали с данными авторизации Windows, установить промаркировать параметр "Аутентификация Windows" (см. рис. 3).

Вкладка - "Общие"

  1. На вкладке "Общие" задать следующие параметры (см. рис. ниже):

Рис. – Вкладка "Общие".

№ п.п. Параметр Описание
1 "Группировка позиций"
  • Если флажок отмечен, то когда при считывании с терминала окажется, что один и тот же штрих-кода фигурирует в документе несколько раз, его количество просуммируется, а запись будет единственной для текущего штрих-кода.
2 "Текущее устройство"
  • Выбор из списка доступных устройств нужного терминала сбора данных, с которым в дальнейшем будет вестись работа.
3 "Параметры удаления документа с устройства"
  • При выборе пункта "Удалять документ после успешного создания накладной", после сохранения созданной накладной все позиции, зарегестрированные на устройстве, будут удаляться.
  • При выборе пункта "Оставлять документ" - все данные сохранятся.
  • При выборе пункта "Спрашивать каждый раз" после сохранения созданной накладной будет появляться сообщение с предложением выбора действий (см. рис. - Окно с предложением выбора действий).
4 Анализ баркодов
  • При выбранном параметре идентификация баркодов происходит по правилу, настроенному во вкладке "Баркоды".
5 Выгрузка номенклатуры
  • При выборе "Все товары" произойдет выгрузка всех товаров.
  • При выборе "Пользовательская группа" произойдет выгрузка товаров выбранной группы.

Диалог подтверждения:

preduprezhdenie.png

 

 

 

 

 

 

 

Рис. – Окно с предложением выбора действий.

Вкладка - "Оборудование"

  1. На вкладке "Оборудование" настроить параметры для каждого из устройств.

Для ТСД "Opticon Smart"

См. рис.:

oborudovanie.png

Рис. – Раздел "Настройки", вкладка "Оборудование" для ТСД "Opticon Smart".

  • В пункте "Номер формы для чтения"  вести номер справочника, откуда считывается накопленная информация о баркодах.
  • В пункте "Номер формы для записи" ввести номер справочника, в который будет выгружена накопленная инфомация из SH.
  • При нажатии клавиши "Настройки драйвера" откроется дополнительное окно настроек (см. рис. 7):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. - Настройки драйвера.

  • В данном меню необходимо проверить идентичность с настройками ТСД следующих параметров:порт, скорость, четность, стоп биты (параметры com-порта можно просмотреть через диспетчер устройств). Остальные настройки-остаются по умолчанию.
  • После введения настроек произвести проверку связи нажатием кнопки "Проверка связи". В том случае, если связь установлена, отобразится результат и deviceID (см. рис. - Результат проверки связи)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. - Результат проверки связи.

Примечание: проверка связи выполняется при ожидании устройства к нему подключения. Т.е. в момент проверки связи ТСД должен быть подключен к ПК и находиться в режиме обмена данными.

Для ТСД "Cipher 8001"

См. рис.:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. - Раздел "Настройки", вкладка "Оборудование" для ТСД "Cipher 8001".

 Вкладка "Весы"

Во вкладке "Весы" (см. рис. - Вкладка "Весы") указывается адрес сервера весов, если планируется использовать электронные весы (в противном случае вкладка не заполняется).

Для работы с приложением на поддержаны следующие модели весов:

  • Весы - CAS_DB-||(E)
  • Весы - CAS_LP_CL
  • Весы - CAS_PDS
  • Весы - Massa-K
  • Весы - Штрих.

Коэффициент веса по-умолчанию =1000. 

Рис. - Вкладка "Весы"

Вкладка "Баркоды"

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

  • Для этого необходимо необходимо написать скрипт на Pascal-подобном языке согласно "Руководству" (там же).
  • После написания скрипта необходимо проверить его нажатием кнопки "Проверить".
  • В случае, если скрипт написан корректно, появится сообщение "Успешно".

Также во вкладке "Единицы измерений" необходимо указать соответствие единиц измерения и цифр.

  • Для проверки правильности выпонения анализа в зоне "Баркод" необходимо вписать баркод, нажать кнопку "Тест". После этого отобразится информация о баркоде в соответствии с заданными правилами анализа (см. рис. - Вкладка "Баркоды").

Рис. - Вкладка "Баркоды"

Раздел - "Выгрузка номенклатуры"

Важно! Прежде чем выгружать номенклатуру необходимо задать штрих-коды товарам в справочниках SH, а так же настроить "разбор" этих штрих-кодов сервисом SH4DCT.

  1. После выбора данного пункта меню откроется диалоговое окно с подтверждением для выгрузки номенклатуры в текущий (выбранный ранее) ТСД (см. рис. - Подтверждение выгрузки номенклатуры):

gjlndthltybt_dsuheprb.png

 

 

 

 

 

 

 

Рис. – Подтверждение выгрузки номенклатуры.

  • После подтверждения запроса произойдет выгрузка номенклатуры в терминал. В случае успешной выгрузки, будет показано окно с количеством выгруженных записей (см.рис. - Окно подтверждения успешной выгрузки).

kol-vo_vygruzhennyh.png

 

 

 

 

 

 

 

Рис. -  Окно подтверждения успешной выгрузки.

Раздел - "Создание накладных"

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

vybor_tipa_nakladnoy.png

 

 

 

 

 

 

 

 

Рис. – Выбор типа накладной.

После нажатия «ОК», откроется окно с формой накладной.

Для всех типов накладных кнопки «1», «2», «3», «4» (см. рис. - Выбор типа накладной) являются идентичными.

  • Кнопку «1» - используют для создания нового документа и для очистки текущего.
  • Кнопку «2» - используют для сохранения накладных на сервере StoreHouse.
  • Кнопку «3» - для считывания номенклатуры из текущего терминала.
  • Кнопку «4» - для удаления позиции из списка накладной.

Во всех типах накладных настройки "Активный документ", "Поставить в начало даты"» - идентичны.

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

oshibka.png

Рис. 13 – Ошибка при отсутствии необходимого товара на складе.

При составлении накладных выбирают в поле "Дата", каким числом необходимо составить накладную.

  • Номер и шифр накладной при этом сформируется в зависимости настроек StoreHouse.

Документ - "Приходная накладная"

Для создания приходной накладной в диалоговом окне выбирают «Приходная накладная», нажимают «ОК».

prihodnaya_nakladnaya.png

Рис. – "Приходная накладная", вкладка "Заголовок".

Вкладка "Заголовок"

  • Назначают "Поставщика" и "Получателя" товаров, лицо, принявшее товар (см. рис. – Выбор Поставщика/Получателя.).

vybor_korrespondenta.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. – Выбор Поставщика/Получателя.

  • Выбирают валюту, по которой ведется прием товара, назначают обменный курс.
  • В поле "Примечание" ввести комментарии, если таковые требуются.
  • В том случае, если нужно, чтобы при создании документа использовалась оперативная информация о наличии товаров на складе, включить параметр - "Активный документ".
  • Чтобы документ был в начале списка накладных за текущую дату – установить включить параметр - "Поставить в начало даты".

Вкладка "Товары"

Далее, перейти во вкладку "Товары":

prihodnaya_nakladnaya_tovary.png

Рис. – Вкладка "Товары".

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

  • В том случае, если товар ранее присутствовал на складе, в списке он отобразится зеленой строкой.
  • Если нет - красной.

Редактор товаров позволяет изменять кол-во, цену, сумму б/н и выбирать ставку НДС. Все расчеты ведутся автоматически.

  • Например, при изменении кол-ва с 1.000 на 2.000 и первоначальной цене 100.00, цена изменится автоматически на 200.00 (см. рис. - Использование редактора товаров).

redaktor.png

 

 

 

Рис. – Использование редактора товаров.

Нажать кнопку "Сохранить". Незарегестрированные на складе товары в накладной не сохраняются.

  • При попытке сохранения появится предупреждение (см. рис. - Окно-предупреждение о наличии неидентифицированных товарах.).

okno-preduprezhdenie.png

Рис. – Окно-предупреждение о наличии неидентифицированных товарах.

Документ - "Расходная накладная"

Для создания приходной накладной в диалоговом окне выбрать "Расходная накладная" и нажать «ОК».

Вкладка "Заголовок"

  • Вкладка "Заголовок" меню "Расходная накладная" отображена на рис. – Меню "Расходная накладная" вкладка "Заголовок".

Вкладка "Товары"

  • Вкладка "Товары" аналогична вкладке "Товары" в меню "Приходная накладная".

rashodnaya_nakladnaya_-_zagolovok.png

Рис. – Меню "Расходная накладная" вкладка "Заголовок".

Вся информация вводится по аналогии с "Приходной накладной" (см. предыдущий раздел)

Документ - "Внутренне перемещение"

Для создания документа перемещения в диалоговом окне выбрать "Внутреннее перемещение" и нажать "ОК".

Вкладка "Заголовок"

vnutrenne_peremeshchenie.png

Рис. – Документ "Внутреннее перемещение", вкладка "Заголовок".

  • В зоне "Со склада" указать, с какого склада изымаются товары. В зоне "На склад" указать, на какой склад товары передаются.
  • В зоне "Отпустил" - человек, отпускающий товар.
  • В зоне "Получил" - человек, принимающий товар (см. рис. 21).

Вкладка "Товары"

vnutrenee_peremeshchenie_tovary.png

Рис. – Документ "Внутреннее перемещение", вкладка "Товары".

Работа в данной вкладке идентична работе с вкладками "Товары" в приходной и расходной накладных.

Документ - "Сличительная ведомость"

Для создания сличительной ведомости в диалоговом окне выбрать "Сличительная ведомость" и нажать "ОК".

Вкладка "Заголовок"

slichitelnaya_vedomost.png

Рис. - Документ "Сличительная ведомость", вкладка "Заголовок".

  • В поле "Склад" выбрать склад, на котором производится инвентаризация.
  • В поле "Отв.лицо" - человека, который проводит инвентаризацию.

Вкладка «Товары»

slichitelnaya_vedomost_tovary.png

Рис. -  Документ "Сличительная ведомость", вкладка "Товары".

Работа в закладке "Товары" идентична работе во вкладке "Товары" меню "Временное перемещение".

Документ - "Комплектация"

Комплектация-документ о факте производства товара (списание сырья для производства товара).

Для создания  документа "Комплектация" в диалоговом окне выбрать «Комплектация», нажать «ОК».

Вкладка "Заголовок"

Рис. - Вкладка "Заголовок".

Вкладка "Товары"

Рис. Вкладка "Товары".

Просмотр созданных накладных в базе StoreHouse

Для просмотра созданных накладных  в StoreHouse выбрать меню "Документы" - "Список накладных" (см. рис. - Выбор параметров поиска накладных).

  • В открывшемся окне выбрать диапазон дат создания, за которые нужно просмотреть накладные, тип накладных.
  • Нажать "Применить".

spisok_nakladnyh_sh.png

Рис. – Выбор параметров поиска накладных.

В открывшемся окне отображается перечень созданных за выбранный период времени накладных (см. рис. - Перечень найденных накладных).

perechen_nakladnyh.png

Рис. – Перечень найденных накладных.

Настройка сканера штрихкодов

Введение

Клиенсткая часть StoreHouse 4 поддерживает работу со сканером штрих-кодов начиная с версии 4.16.17.

Сканер можно подключить через:

  • RS232 - COM-порт
  • USB с возможностью работы в режиме виртуального COM-порта - Virtual COM Port
  • USB, подключенный через переходник - USB-COM

С помощью сканера штрих-кодов можно выполнять следующие операции:

  • ввод товаров в накладные
  • поиск накладных по номеру (независимо от первых двух возможностей)
  • с версии 4.26.34 - поиск товара в накладной

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

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

Настройка подключения

Для настройки сканера используется приложение COMSCN.EXE.

Для настройки сканера штрихкодов необходимо:

  • загрузить с FTP ftp://ftp.ucs.ru/storehouse/sh4/Scaner/SCANER.zip  дистрибутив приложения
  • распаковать архив с дистрибутивом в рабочую директорию \SH4
  • настроить конфигурационный файл COMSCN.INI
[Settings]
Port=COM1       - порт, в который подключен сканер
BaudRate=9600   - скорость, установленная для интерфейса сканера
ByteSize=8      - биты данных, установленные для интерфейса сканера. Может принимать значение 8 или 7
Parity=0        - бит четности, установленный для интерфейса сканера. Может принимать значения: 0 - No Parity, 1 - Odd Parity, 2 - Even Parity, 3 - Mark Parity, 4 - Space Parity
StopBits=0      - стоповые биты, установленные для интерфейса сканера. Может принимать значение 0 (соотв. 1 Stop Bit), 1 (соотв. 1,5 Stop Bits) или 2 (соотв. 2 Stop Bits)
  • запустить приложение COMSCN.EXE - рекомендуется установить его в автозагрузку Windows

Примечание: Если в дистрибутиве отсутствует файл COMSCN.INI, его необходимо создать вручную.

Далее необходимо установить две опции с помощью приложения \SH4\SHSetup.exe:

  • "Разрешить применение внешних устройств" - включение поддержки устройств, работающих через COMSCN.EXE.
  •  "Автоматически копировать данные от внешних устройств" - автоматическое копирование считанных данных из буфера (см. ниже)

Правила использования сканера

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

Значения баркодов товаров должны быть указаны в карточке товара на закладке "Ед. изм." - более подробная информация по работе со сканером описана в руководстве пользователя StoreHouse v4 ftp://ftp.ucs.ru/books/storehouse_v4_user_manual.pdf

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

Если в настройках приложения SHSetup.exe не отмечен параметр "Автоматически копировать данные от внешних устройств",  результаты сканирования можно скопировать/считать/очистить с помощью пункта меню "Сервис" > "Внешние устройства...".

Примечание: Пункт меню "Сервис" > "Внешние устройства..." доступен только при включенном параметре "Разрешить применение внешних устройств" в приложении SHSetup.exe.

Обновление с SH4 на SH5

Статья находится здесь: https://support.ucs.ru/ru/node/9582

Проведение инвентаризации

Введение

  • Инвентаризация - периодическая проверка наличия и состояния материальных ценностей, денежных средств и т.п., принадлежащих кому-либо (учреждению, организации, предприятию и т.п.) путем подсчета и описи.
  • Данный функционал в заведениях общепита может быть востребован барменами для автоматизации процесса инвентаризации барной продукции. Результат проведения инвентаризации будет оформлен ввиде отдельного документа - "Сличительная ведомость", который будет автоматически передан через сервер инвентаризации в складскую систему - Store House v4.
  • Инвентаризацию на кассе рекомендуется проводить с использованием сканера считывания штрих-кодов и электронных весов. 
  • Инвентаризацию также можно проводить без дополнительного оборудования, но это не всегда удобно, т.к. значения штрих-кодов и веса необходимо вводить вручную.

Системные требования

  • На объекте должен быть установлен, настроен и нормально работать - RK6.75 версии кассы и выше. Или RK7 версий 7.4.9.0 и выше.
  • Должен быть установлен, настроен и нормально работать SH4.66 и выше.
  • Актуальная версия Сервера инвентаризации (Rkinv.exe) v.3.02, библиотеки SHInvent.dll v.4.4.5.6 (по состоянию на 11.09.2015). 

Оборудование

  • POS-терминал с кассовым ПО RK7
  • Сканер штрих-кодов, подключенный к кассе (RS-232)
  • Весы, подключенные к кассе

Лицензирование

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

Настройки в StoreHouse 4

  • В складской программе в карточке продукта необходимо перечислить нужные единицы измерения товара (например, «бут. 0,5», бут. 0,7»). Для каждой единицы указать штрих-код и массу тары.
  • Для SH4 масса тары должна быть – в киллограммах(кг) или в граммах(гр) (в зависимости от версии).

Настройка сервера инвентаризации

  1. Скопировать с фтп актуальную версию дистрибутива сервера инвентаризации (ftp:/storehouse/sh4/sh4inventory/chashInventory/).

  2. Распаковать содержимое архива в каталог с установленным клиентом SH4 (по-умолчанию - \UCS\SH4).

  3. Туда же (в \SH4), скопировать все содержимое из папки /RK7/bin/Inventory (находится внутри установленного RK7). Кроме прочих файлов и папок каталог \SH4 после всех копирований должен содержать примерно следующий состав файлов:

borlndmm.dll
dllman.dll
DoMan.dll 
errors32.dll
Netkern.dll 
RK7RUS.dll
RTL60.BPL
Rnbopen.dll   - из каталога \RK7\Bin\Inventory
TCPSOC.dll
Thread32.dll
SdbCli.dll
SdbVcl.dll
shInvent.dll
rkinv.ini
SHInvent.ini
netk.ini

Примечание: В качестве Rnbopen.dll можно использовать переименнованную библиотеку pds_netk.dll с версии 7.16.0.38

  1. Выполнить настройки в конфигурационном файле rkinv.ini.

Пример:

[LinkDLL]
1 = Rnbopen

[Rnbopen]
NetServerName=InventoryServ  ;; сетевое имя сервера инвентаризации. Должно совпадать со значением параметра “Сервер инвентаризации” в менеджерской станции

ininame=netk.ini
DebugMessages=1

[Config] 
CharCode=RK7RUS – имя dll для перекодировки, например (RUS, LITVA,...), если не указана - используется Windows.
  1.  Выполнить настройки в конфигурационном файле - shinvent.ini.
  • В этом файле описываются параметры для подключения сервера SH4.

Пример:

[SERVER]
SERVNAME = SDBSERV (если связь с SH сервером через "Local")
USERNAME = 'Admin'
PASSWORD = '' 

[STOCKLIST]
;; Какие склады (RID) соответствуют категориям заказа
DEPARTXX = Y
                 - где ХХ- коды категории заказа, которые будут применены на кассе в момент инвентаризации.
                 - Y - RID склада можно узнать c помощью FastReport-a в словаре корреспондентов поле в макете [Report."Report.102.1.0"] (Пример:DEPART77 = 1)

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

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

  • "Получение товара по баркоду" - BarcodesToGoods
  • "Добавление сличительной ведомости" - InsDoc8
  • "Вычисление номера документа" - CalcDocNum

Если связь сервера инвентаризации (rkinv.exe) с сервером SH (Sdbserv.exe) осуществляется через TCP-протокол, в этом случае, в параметре "ServName" необходимо указать так как он обычно прописывается со стороны SH4, например:

ServName='127.0.0.1:pTa4001'

- где, 127.0.0.1 - адрес ПК, на котором запущен сервер SH, а 4001 - порт сервера SH.

Примечание: Значение XX (код категории) не должно содержать "ведущего" нуля, например, DEPART07 = 1 работать не будет, надо указывать DEPART7 = 1

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

Рис. Ошибка "Stock is not defined in shinvent.ini"

  1. Прописать параметры запуска сервера инвентаризации - Rkinv.exe 
  • Инсталляция сервиса - запуск с параметром /INSTALL,
  • Деинсталляция сервиса - запуск с параметром /UNINSTALL.
  • Если надо запустить как обычное приложение - стартовать с параметром /DESKTOP.

Рис. Вид запущенного сервера инвентаризации

Настройки в менеджерской станции

  1. В менеджерской станции в параметре “Сервер инвентаризации” прописать сетевое имя сервера инвентаризации

Рис. Настройка параметров в Менеджерской RK7

  1. У работника, выполняющего инвентаризацию на кассе, должен быть выставлен флаг на право – Инвентаризация в свойствах роли.

Сканер и весы

  • Для инвентаризации, используется сканер штрих-кодов и, возможно, весы. Соответственно, необходимо добавить драйвера используемых устройств на вкладку "Устройства" кассовой станции и настроить стандартным для RK7 образом.

Порядок работы на кассе

  1. Должны быть запущены все сервера (SH сервер, сервер инвентаризации, кассовый) и касса.
  2. На кассе в окне Инвентаризации (см.рис.4) набрать штрих код блюда – Поиск.
  3. Указать вес и количество бутылок (Штрих-код для блюд задается в складе, см.рисунки ниже).

Рис. Окно инвентаризации на кассе

Рис. Настройки в SH4

  1. В StoreHouse формируется новый документ Сличительная ведомость.

Рис. Сформированные в SH документы.

 

Установка HeadOffice v4

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

Система StoreHouse HeadOffice v4 (далее SHO4) предназначена для централизированного управления словарями и  построения отчетов в разрезе всех ресторанов сети.

В отличии от предыдущей версии StoreHouse BackOffice v3, в версии 4 изменился принцип работы  - для обновления словарей в локальных ресторанах требуется подключение из центрального офиса к локальным ресторанам, а не наоборот.

Система отчетов также изменилась - в SHO4 не хранятся накопительные данные по локальным точкам, а при построении отчета в центральном офисе происходит подключение к удаленным локальным серверам StoreHouse v4

Состав приложения

Примечание: Дистрибутив SHO4 доступен по ссылке ftp://ftp.ucs.ru/storehouse/SH4 HeadOffice

Система состоит из следующих модулей:

  • SH HeadOffice Administrator - административное приложения для создания базы данных и управления пользователями системы
  • SH HeadOffice Editor - основное приложение системы. Предназначено для управления словарями, импорта/экспорта данных
  • SH HeadOffice Reports - приложение для создания различных отчетов по всем ресторанам сети
  • SH Application Server - специальный многопоточный сервер приложений

В качестве СУБД используется Microsoft SQL Server (далее MSSQL). Рекомендуется использовать версию SQL Server 2012 (коммерческая версия) или SQL Server 2012 Express Edition (бесплатная версия), разрядность не имеет значения.

Примечание: Пошаговая установка MSSQL Express Edition на примере версии 2005 описана в статье.

Системные требования

Серверная часть

Требования к серверной части определяются требованиями к СУБД, с которой будет работать SHO4 - ниже описаны требования и рекомендации для СУБД SQL Server 2012, приведенные на оф. сайте Microsoft https://msdn.microsoft.com/ru-ru/library/ms143506(v=sql.110).aspx

Следующие требования и рекомендации относятся как к 32-разрядной, так и к 64-разрядной версиям SQL Server 2012.

Общие рекомендации

  • Рекомендуется запускать SQL Server 2012 на компьютерах с файловой системой NTFS. Установка SQL Server 2012 в файловой системе FAT32 поддерживается, но не рекомендуется, поскольку эта система менее защищена, чем NTFS.
  • Установка SQL Server не допускается на диски со сжатием, сетевые диски и диски, доступные только для чтения
  • Для установки SQL Server 2012 на компьютере под управлением Windows Vista с пакетом обновления SP2 или Windows Server 2008 с пакетом обновления SP2, необходимо предварительно установить обновления для платформы  .NET Framework 3.5 с оф. сайта Microsoft https://support.microsoft.com/ru-ru/kb/956250, для компьютеров под управлением Windows 7 с пакетом обновления SP1, Windows Server 2008 R2 с пакетом обновления SP1, Windows Server 2012 или Windows 8 и выше, это обновление уже установлено
  • Установка SQL Server 2012 через клиент службы терминалов не поддерживается

Требования к оборудованию

Копмонент Требования
Память (ОЗУ)

Минимальные:

  • Экспресс-выпуски: 512 МБ
  • Все другие выпуски: 1 ГБ

Рекомендуемые:

  • Экспресс-выпуски: 1 ГБ
  • Все другие выпуски: Для обеспечения оптимальной производительности требуется не менее 4 ГБ с последующим увеличением по мере роста размера базы данных.
Быстродействие процессора

Минимальные:

  • процессор x86: 1,0 ГГц
  • процессор x64: 1,4 ГГц

Рекомендуемые: 2,0 ГГц и выше

Тип процессора
  • процессор x64: AMD Opteron, AMD Athlon 64, Intel Xeon с поддержкой Intel EM64T, Intel Pentium IV с поддержкой EM64T.
  • процессор x86: Процессор, совместимый с Pentium III или выше
Жесткий диск Для SQL Server 2012 требуется как минимум 6 ГБ свободного места на диске

Требования к операционной системе

Полный перечень версий и редакций ОС Windows, совместимых с SQL Server 2012,  приведен на оф. сайте Microsoft https://msdn.microsoft.com/ru-ru/library/ms143506(v=sql.110).aspx

Клиентская часть

  • ОС Windows XP Professional SP3 и выше
  • 32-разрядный (x86) или 64-разрядный (x64) процессор с тактовой частотой 1 гигагерц (ГГц) или выше
  • 512 мегабайт (МБ) (для 32-разрядной системы) или 1 ГБ (для 64-разрядной системы) оперативной памяти (ОЗУ)
  • 100 мегабайт (МБ) свободного пространства на жестком диске

Установка приложения

Шаг 1:  Создание пользователя SQL Server

Все модули SHO4 для работы требуют подключения к БД MSSQL -  можно использовать встроенную учетную запись 'sa', но рекомендуется создать отдельного пользователя, от имени которого будут осуществляться все обращения к серверу MSSQL.

Для создание нового пользователя MSSQL необходимо запустить среду "SQL Server Management Studio", выбрать рабочий экземпляр SQL-cервера и перейти в раздел Безопасность ⇒ Имена входа. Вызвать меню по правой кнопке мыши и выбрать пункт "Создать имя входа ...". 

В разделе "Общие" необходимо указать имя входа, например sho4, установить переключатель в положение "Проверка подлиности SQL Server" , ввести пароль и подтверждение пароля, убрать опцию "Требовать использования политики паролей". Остальные параметры оставляем по умолчанию

Важно: При создании пользователя имя входа и пароль должны быть разными - это требование политики безопастности MS SQL Server!

Далее переходим в раздел "Серверные роли", отмечаем все доступные роли и подтверждаем создание пользователя нажатием кнопки "ОК"

Шаг 2:  Установка приложений

Важно: Для запуска клиентских приложений SHO4 требуется электронный ключ защиты USB Novex Stealth II, прописанный специальным образом - ключ должен быть установлен на каждом рабочем месте! Сервер, если на нем нет рабочего места, не требует ключа защиты.

Примечание: ключ защиты для SHO4 не имеет ограничений по сроку действия - он прописывается один раз с бессрочной лицензией.

Для установки скопируйте все файлы из дистрибутива в отдельную директорию, например D:\UCS\SHO4.

Для запуска редактора (SHO4edit.exe) необходимы дополнительные файлы из станлартного дистрибутива StoreHouse v4 той версии, с которой планируется использование SHO4:

  • BORLNDMM.DLL
  • DELPHIMM.DLL
  • RTL60.BPL
  • SdbCli.dll
  • MIDAS.DLL

Кроме указанных библиотек для запуска SHO4edit.exe требуется библиотека SHTR.dll, которую можно взять на фтп ftp://ftp.ucs.ru/storehouse/sh4/shtr.dll/RK7/SHTR.dll

Создайте несколько разделов в реестре:

Примечание: при установке системы на 64-битных операционных системах обязательно ознакомьтесь с пунктом "Тонкости развертывания системы на 64-х битных ОС".

1. Раздел  [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor] - необходим для работы клиентского приложения SHO4edit.exe

В этом разделе создайте следующие строковые переменные (String Value):

- DBPath - перечень баз данных, к которым требуется подключение. Значения разделяются знаком ";" ("точка с запятой"). Значение параметра необходимо указывать в виде:

<имя компьютера-сервера>\<имя экземпляра сервера SQL>:<имя базы данных>

Например, Server1\SQLExpress:sho4_data1 или для нескольких баз  Server1\SQLExpress:sho4_data1; Server2\SQLServer2005:sho4_data2
где:
- Server1 и Server 2 - имена компьютеров, на которых установлены СУБД SQL Server (могут быть одинаковы)
- SQLExpress и SQLServer2005 - экземпляры баз данных SQL Server

- sho4_data1 и sho4_data1 - базы данных SQL Server. На данном шаге можно не указывать эти значение, т.к. базу данных мы будем создавать на следующем этапе
 

- Db_user - имя пользователя, с помощью которого осуществляются все обращения к SQL Server. Необходимо указать пользователя, которого мы создали ранее
- Db_pwd - пароль пользователя, указанного в параметре Db_user

2. Раздел [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM] - необходим для возможности обращения к серверу через DCOM. Используется приложением SH4 HeadOffice Reports (SHO4Rpt.exe)

В этом разделе создайте точно такие же строковые переменные, как и в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor]

Важно: Сервер приложений (SHAppSrv.exe), который вызывается при запуске приложения SH4 HeadOffice Reports, может подключаться только к одной базе данных SHO4, поэтому в качестве значения параметра DBPath в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM] можно указать путь только к одной базе!
Примечание: Для успешного запуска сервера приложений SHAppSrv.exe требуется файл SHAppSrv.txt, в котором формируется лог работы - если файл отсутствует, обязательно создайте его вручную (пустой)

После этого информация в реестре должна выглядеть примерно так (для одной базы данных):

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

 Или в случае использования нескольких баз данных (см. примечание выше):

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor]
DBPath=Server1\SQLExpress:sho4_data1; Server2\SQLServer2005:sho4_data2
Db_user=sho
Db_pwd=ucs

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

Важно: После выполнения всех настроек, необходимо один раз запустить SHAppSrv.exe вручную для  регистрации COM-объектов. В дальнейшем сервер будет вызываться автоматически при запуске приложения SHO4Rpt.exe.

Шаг 3: Создание базы данных

Для создания базы данных запустите приложение SH HeadOffice Administrator (SHO4Admin.exe) - при запуске приложение не запрашивает пароль

Далее выберите  в меню Прочее  Создать базу данных...

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

  • Имя сервера - укажите имя сервера SQL в виде <имя компьютера>\<имя экземпляра>, например Server1\SQLExpress
  • Имя БД - укажите имя базы данных, которую хотите создать. Если в реестре уже задано имя базы данных, укажите это же имя, если нет - укажите произвольное имя и затем пропишите его в реестре, как описано выше
  • Директория БД - укажите полный путь к директории, в которой будет создана база данных. Необходимо указывать путь к существующей директории.
  • Флаг "заполнить первоначальными данными" должен быть отмечен (по умолчанию)

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

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

После создания базы можно проверить подключение к ней - выберите меню "Файл" ⇒ "Соединение с базой данных..". Появится окно с параметрами подключения - для входа используйте имя пользователя Admin без пароля.

Сброс пароля администратора

Если пароль для пользователя Admin утерян, можно сбросить его значение с помощью SQL-запроса:

SHO 4.46 и ниже:

update sho_users set pass = 'D41D8CD98F00B204E9800998ECF8427E' where rid = 0

SHO 4.48 и выше

update sho4SHO_USERS set pass = 'D41D8CD98F00B204E9800998ECF8427E' where rid = 0

 Запрос можно выполнить в среде  SQL Server Management Studio.

Шаг 4: Создание предприятия

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

Важно: Если SHO4 планируется использовать совместно с RK7 или RBO, предприятия НЕ ДОЛЖНЫ создаваться вручную - они будут сформированы автоматически при импорте данных из этих приложений.

Шаг 5: Создание роли с ограниченными правами

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

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

Создание роли:

  1. Запустите Sdb Server manager (Sdbman.exe)
  2. Выберите пункт меню "Прочее" ⇒ "Выполнить запрос"
  3. В поле "Процедура:" введите CreateHoRole, а в поле "Библиотека:" выберите библиотеку SH_CRTDB.DLL из рабочей директории локального SH4 (должен быть указан полный путь)
  4. Выполните процедуру с помощью меню "Прочее" ⇒ "Выполнить" либо выберите соответствующую иконку "Выполнить" на панели задач
  5. Если процедура выполнена успешно, на закладке "Результаты запросы" будет выдано сообщение "Процедура выполнена успешно"

В итоге будет создана роль "Head office",  которую нужно назначить всем пользователям.

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

Выполнение этой процедуры аналогично вышеописанному процессу. 

Важно: Выполнение процедуры AlterHoRole затрагивает все существующие роли!

Примечание: Процедуры CreateHoRole и AlterHoRole доступны начиная с версии SH 4.38.62

Шаг 6: Настройка импорта данных (ImportRK.exe) в локальном складе - Важно!

Технология работы StoreHouse HeadOffice предполагает, что базовые словари создаются и редактрируются только в SHO4 - в локальных складах редактирование словарей должно быть запрещено.

Для исключения нарушения целостности данных, импорт в локальном складе должен использовать специальную версию SHTR.DLL, в описании которой присутсвует фраза "EMPTY DISHLIST" (исключение импорта меню)

На момент последней редакции данного документа специальная библиотека  SHTR.DLL имела версию 1.24.21 и размещалась на фтп по ссылке ftp://ftp.ucs.ru/storehouse/SH4 HeadOffice/SHTR_1_24_21.zip

Библиотеку SHTR.DLL необходимо скопировать в рабочий каталог локального SH4, откуда происходит запуск приложения ImportRK.exe

Начиная с версии склада 4.95.268 добавлен флаг "StoreHouse иcпользует словари SH HeadOffice", который определяет, импортируются или нет словари в SH4 из R-Keeper - флаг устанавливается через модуль IRkSetup.exe версии 4.56 и выше:

Примечание: Модуль ImportRK.exe более ранних версий не будет работать с версией склада 4.95 и выше

Важно: Несмотря на появление флага "StoreHouse иcпользует словари SH HeadOffice" рекомендуется всегда устанавливать специальную версию SHTR.DLL на случай отключения флаге.

Шаг 7: Установка дополнительного (удаленного) рабочего места SH4 HeadOffice

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

Данный процесс подробно описан в следующей статье.  Дальнейшее описание подразумевает, что SQL Server сконфигурирован и может обслуживать удаленные подключения клиентов по протоколу TCP/IP.

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

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

  • скопируйте  содержимое директории SHO4 (или дистрибутива - см. Шаг 2) на компьютер, где планируется  установка доп. рабочего места
  • в реесте пропишите путь к базе данных, к которой требуется подключение. Для этого создайте раздел HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor и в нем три переменные типа String:
    • DB_user - имя пользователя для подключения к SQL Server
    • DB_pwd - пароль пользователя, указанного в параметре DB_user
    • DBPath - путь к базе данных. Путь должен быть указан в формате <имя_сервера>\<имя_экземпляра>:<имя_базы_данных> , где <имя_сервера> - имя сервера (или IP адрес), к которому требуется подключение, <имя_экземпляра> - имя экземпляра SQL Server, с которым требуется установить соединение, <имя_базы_данных> - имя базы данных, с которой необходимо работать. Например, если требуется прописать подключение к серверу MYSERVER (IP адрес 192.168.0.100), на котором запущен экземпляр SQL Server с именем SQLEXPRESS, и базой данных sho4, то срока будет выгдядеть так: MYSERVER\SQLEXPRESS:sho4 или 192.168.0.100\SQLEXPRESS:sho4

Примечание: В реестре можно прописать несколько подключение к разным базам и разным серверам - для этого раздлеляйте записи с помощью символа ";" ("точка с запятой"). Например:  192.168.0.100\SQLEXPRESS\sho4_work;192.168.0.100\SQLEXPRESS\sho4_reserve

Важно: Если SQL Server настроен на прослушивание нестандартного порта (стандартный порт - 1433), то в строке подключения необходимо указать значение этого порта через запятую после имени (или IP адреса) сервера. Например, 192.168.0.100,3456\SQLEXPRESS:sho4 определяет подключение к серверу 192.168.0.100 через порт 3456

Обновление системы

Обновление версии SH4 HeadOffice включает в себя обновление исполняемых файлов, библиотек и базы данных.

Обновление базы данных происходит методом создания новой БД и копирования данных из текущей (рабочей) БД

Для обновления версии необходимо выполнить следующие действия:

  1. Сделать копию всей рабочей директории SHO4 и резервную копию (backup) рабочей SQL-базы SHO4 (с помощью среды "SQL Server Management Studio")
  2. Скопировать с FTP ftp://ftp.ucs.ru/storehouse/SH4 HeadOffice дистрибутив новой версии SHO4, распаковать его и заменить в рабочей директории все файлы, за исключением файла rk7tosh4.ini
  3. Запустить приложение SHO4Admin.ехе, не подключаясь к базе данных, перейти в меню "Прочее"  "Создать базу данных".
  4. В окне создания БД заполнить все поля (аналогично шагу 3) - имя новой БД указать отличное от текущей (рабочей) БД и обязательно снять флаг "Заполнить первоначальными данными"
  5. Прописать имя новой БД в реестре (см. шаг 2)
  6. Установить соединение с новой (чистой) БД, выбрать в меню "Пользователи"  "Копировать данные"
  7. В поле "БД источник" указать имя текущей (рабочей) БД - в этом поле необходимо указать ТОЛЬКО имя БД, без указания имени сервера и экземпляра
  8. В поле "Файл скриптов" указать файл скрипта, соотв. текущей (рабочей) версии - файл скрипта называется fromA_AA_xx.sql (А_АА - индекс текущей версии) и находится в подкаталоге \upgrade\toB_BB_00 (B_BB - индекс устанавливаемой версии). Например, при обновлении версии 4.22.хх до версии 4.28.хх, необходимо использовать скрипт from4_22_xx.sql из подкаталога  upgrade\to4_28_00\

Важно: Версия, указанная в названии скрипта, соотв. версии базы данных, а не версии программы. Соответствие версии БД и версии исполняемых файлов можно посмотреть в файле SHO4.xls (ftp://ftp.ucs.ru/storehouse/SH4 HeadOffice/SHO4.xls)

Примечание: Если в подкаталоге \upgrade\ отсуствует каталог toB_BB_00, это значит, что версия B_BB не содержит специфичных изменений и в процессе обновления необходимо применить скрипт из каталога с индексом, соотв. более ранней и наиболее близкой версии. 

Например, для версий 4.50.64, 4.51.66 и 4.52.67 отсутсвуют подкаталоги с соотв. индексами - в процессе обновления необходимо использовать скрипты из подкаталога \upgrade\to4_48_49_00

Примечание: Если в подкаталоге  \upgrade\toB_BB_00 отстувуют скрипты fromA_AA_xx.sql , соотв. текущей версии, необходимо сначала выполнить обновление на более раннюю версию.

Например, при обновлении версии 4.40.51 до версии 4.52.67 сначала надо выполнить скрипт \upgrade\to4_45_00\from4_40_xx.sql, затем скрипт \upgrade\to4_48_49_00\from4_45_xx.sql

Интеграция с R-Keeper

R-Keeper v7

Связь с кассовой системой R-Keeper v7 (далее RK7) обеспечивает наполнение БД SHO4 данными о предприятиях (ресторанах) и товарах (меню). При использовании SHO4 предполагается, что система R-Keeper v7 также сконфигурирована для централизированого управления сетью предприятий (ресторанов).

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

  • dllman.dll
  • errors32.dll
  • Netkern.dll
  • TCPSOC.dll
  • Thread32.dll
  • rk7tosh4.dll
  • rk7tosh4.ini

Примечание: Файлы rk7tosh4.dll  и rk7tosh4.ini находятся в каталоге \bin\sh4tr\ полного дистрибутива RK7

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

В файле rk7tosh4.ini необходимо прописать имя рабочего сервера справочников RK7 и уникальное имя клиента:

[REFSERVER7]
ServerName = RK7REFSRV
ClientName = SHO4_Client_XXX
 
В некоторых случаях может потребоваться принудительное преобразование имени сервера справочников в хост - для этого используется секция [TCPDNS] файла rk7tosh4.ini:
 
[TCPDNS]
RK7REFSRV=192.168.0.1
 
либо  с указание порта сервера справочников:
 
[TCPDNS]
RK7REFSRV=192.168.0.1:12345
 
Для импорта данных в приложении SHO4edit.exe переходим в меню "Файл"  "Импорт"  "Импорт данных RK7" и устанавливаем необходимые параметры импорта
 
 
 
Примечание: Подробная информация по использованию SHO4 содержится в руководстве пользователя, электронный вариант на FTP  ftp://ftp.ucs.ru/books/store_house_head-office_user_manual.pdf

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

Сложности развертывания системы на 64-х битных ОС

Проблема: Невозможно зарегистрировать midas.dll

Решение: midas.dll необходимо скопировать в директорию {WINDOWS}\SysWow64

Проблема: при запуске SH невозможно выбирать база данных,  появляются ошибки типа "недопустимое подключение" или "недопустимая спецификация авторизации" при попытке создать БД.

Сущность проблемы: некорректное определение целевой ветки реестра для 32-х битных приложений в 64-х битной среде.

Решение: вместо стандартной ветки реестра [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\ надо использовать следующую ветку: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\

Пример:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\SHO4Editor]
"Db_user"="sho"
"Db_pwd"="ucs"
"DBPath"="127.0.0.1,1433:SHO"

Перенос данных из SH4 в SHO4

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

Последовательность действий:

  1. С помощью SHO4Admin.exe создать новую базу без заполнения первоначальных данных
  2. Создать корневую вершину для предприятий с помощью скрипта "Создание корневой группы предприятий.sql"
  3. С помощью SHO4edit.exe импортировать предприятия из R-Keeper BackOffice Editor (если используется R-Keeper v6) либо из сервера справочников R-Keeper v7 (меню "Файл" \ "Импорт")
  4. С помощью SHO4edit.exe импортировать из локального склада словари (операция "Файл" \ "Импорт" \ "Импорт данных SH4")
  5. Удалить все меню из SHO4 - для этого выполнить два запроса "Удаление меню - 1.sql" и "Удаление меню - 2.sql"
  6. На всякий случай выполнить запрос "Добавление точки в коды товаров.sql". чтобы в дальнейшем не возникало ошибки неуникальности кодировки товаров
  7. Если остались неудаленные товары в группе "Меню Ресторана", удалить их вручную
  8. Установить версию базы, выполнив скрипт "Установка версии БД.sql" - перед выполнение предварительно в скрипте указать корректную версию базы

Примечание: Для выполнения скриптов можно использовать любую доступную среду, например "SQL Server Management Studio".

После выполненных действий информировать Заказчика о следующем:

  • Необходимо связать товары с комплектами вручную (рекомендуется заранее предупредить Закзачика о данной операции)
  • Проверить и при необходимости переназначить категории на всех товарах из меню ресторана
  • Проверить и при необходимости переназначить ставки налогов для всех товаров из меню
  • Привести меню и корреспондентов в соответствие с локальными точкам (запреты/разрешения) 

Используемые скрипты

  SHO 4.46 и ниже SHO 4.48 и выше

Создание корневой группы предприятий

create procedure dbo.sp_POPULATE_DEPARTS

as

begin

  declare @DEPName varchar(47)

  set @DEPName = 'Корпорация'

  insert into dbo.DEPARTS ( RID,PARENT_REF,NAME, ISGROUP, DELETED ) values (1,NULL,@DEPName,2,0)

end

GO

set IDENTITY_INSERT dbo.DEPARTS ON

GO

exec dbo.sp_POPULATE_DEPARTS

GO

set IDENTITY_INSERT dbo.DEPARTS  OFF

GO

create procedure dbo.sp_POPULATE_DEPARTS

as

begin

  declare @DEPName varchar(47)

  set @DEPName = 'Корпорация'

  insert into dbo.sho4DEPARTS ( RID,PARENT_REF,NAME, ISGROUP, DELETED ) values (1,NULL,@DEPName,2,0)

end

GO

set IDENTITY_INSERT dbo.sho4DEPARTS ON

GO

exec dbo.sp_POPULATE_DEPARTS

GO

set IDENTITY_INSERT dbo.sho4DEPARTS  OFF

GO

Примечание: Если процедура dbo.sp_POPULATE_DEPARTS уже существует в БД, для ее изменения вместо оператора create необходимо использовать оператор alter

  SHO 4.46 и ниже SHO 4.48 и выше

Удаление меню - 1

create procedure  sp_Delete_SubTree

(@ROOT_REF integer)

as

begin

   declare @RID integer

   declare cr cursor LOCAL for

      select RID from dbo.GOODS where EXT_INFO <> 0

   open Cr

   fetch next from Cr into  @RID

   while @@FETCH_STATUS = 0

   begin

      exec dbo.sp_DELETE_GOODS 'Admin',@RID

      fetch next from Cr into  @RID

   end

   close cr

   deallocate cr

   declare crT cursor LOCAL for

     select RID from dbo.fn_GoodsTree (@ROOT_REF)

     where RID <> @ROOT_REF

     order by IND desc

   open crT

   fetch next from crT into  @RID

   while @@FETCH_STATUS = 0

   begin

      delete from dbo.GOODSTREE where RID = @RID

      fetch next from crT into  @RID

   end

   close crT

   deallocate crT

end

go

create procedure  sp_Delete_SubTree

(@ROOT_REF integer)

as

begin

   declare @RID integer

   declare cr cursor LOCAL for

      select RID from dbo.sho4GOODS where EXT_INFO <> 0

   open Cr

   fetch next from Cr into  @RID

   while @@FETCH_STATUS = 0

   begin

      exec dbo.sp_DELETE_GOODS 'Admin',@RID

      fetch next from Cr into  @RID

   end

   close cr

   deallocate cr

   declare crT cursor LOCAL for

     select RID from dbo.fn_GoodsTree (@ROOT_REF)

     where RID <> @ROOT_REF

     order by IND desc

   open crT

   fetch next from crT into  @RID

   while @@FETCH_STATUS = 0

   begin

      delete from dbo.sho4GOODSTREE where RID = @RID

      fetch next from crT into  @RID

   end

   close crT

   deallocate crT

end

go

Примечание: Если процедура sp_Delete_SubTree уже существует в БД, для ее изменения вместо оператора create необходимо использовать оператор alter

 
  Для любой версии SHO

Удаление меню - 2

exec sp_Delete_SubTree  2

 
  SHO 4.46 и ниже SHO 4.48 и выше

 Добавление символа "точка" в коды (аббревиатуры) товаров

update dbo.GOODS set Abbr_text = Abbr_text+'.' 

where SUBSTRING ( Abbr_text,Len(Abbr_text),1)<>'.' and ext_info <>0

update dbo.sho4GOODS set Abbr_text = Abbr_text+'.' 

where SUBSTRING ( Abbr_text,Len(Abbr_text),1)<>'.' and ext_info <>0

  SHO 4.46 и ниже SHO 4.48 и выше

 Установка версии БД

update dbo.DATABASEPARAMS set db_version=43800

update dbo.sho4DATABASEPARAMS set db_version=44900

Проблемы, ошибки и способы их решения 

Данные не экспортируются, в логе только операции login и logout

Описание проблемы:

При рассылке данных по локальным складам ошибок нет, но данные не экспортируются - в логе только две операции login и logout.

Решение:

  1. Получаем список всех предприятий в базе и запоминает RID предприятия, по которому не происходит рассылка данных:
select * from departs

 

  1. Определяем количество параметров (строк), которые нужно добавить
select * from repl_map
where depart_ref= <RID предприятия, где точно происходит репликация и смотрим количество строк>

 

  1. Вставляем необходимые строки для предприятия, у которого проблемы
insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,1,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,2,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,3,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,4,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,5,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,6,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,7,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,8,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,9,0,0,0)

insert into repl_map (depart_ref,table_id,last_date,pending_date,qerrors) values (<RID предприятия из п.1>,10,0,0,0)

 

  1. Проверяем, что все добавилось
select * from repl_map
where depart_ref = <RID предприятия из п.1>

 

Примечание: В некоторых случаях после выполнения операций требуется сделать backup/restore SQL-базы

Зацикливание комплекта

Описание проблемы:

Операция рассылки данных (все словари целиком) заканичвается без явных ошибок, но изменения не отображаются в локальных базах

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

Для начала необходимо проверить в детализации протокола рассылки, какими операциями заканчивается процесс рассылки - если в конце списка операций отсутсвуют операции login и/или logout, это свидетельствует о проблеме "зацикливания" комппекта

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

  SHO 4.46 и ниже SHO 4.48 и выше
Функция fn_CompParents1
create function dbo.fn_CompParents1
   ( @CMBASE_REF integer,
     @LEV integer )
returns  @Tree table
   ( RID integer,
     IND integer IDENTITY,
L   integer )
as
begin
   if (@LEV>25) return;
   declare @ITEM_REF int
   declare @LL int
 
   declare cr cursor local for
        select b.CMBASE_REF, @LEV+1 from CMITEMS a
           left join CMHEADERS b on a.CMHEADERS_REF = b.RID
           where ( a.ITEM_TYPE = 1) and
                 ( a.ITEM_REF = @CMBASE_REF )
           group by b.CMBASE_REF
 
   insert into @Tree(RID,L) values (@CMBASE_REF,@LEV+1)
 
   open cr
   fetch next from cr into @ITEM_REF,@LL
   while @@FETCH_STATUS = 0
   begin
      insert into @Tree (RID, L)
      select RID,L  from dbo.fn_CompParents1 (@ITEM_REF,@LL)
      fetch next from cr into @ITEM_REF,@LL
   end
   close cr
   deallocate cr
   return
end
 
create function dbo.fn_CompParents1
   ( @CMBASE_REF integer,
     @LEV integer )
returns  @Tree table
   ( RID integer,
     IND integer IDENTITY,
L   integer )
as
begin
   if (@LEV>25) return;
   declare @ITEM_REF int
   declare @LL int
 
   declare cr cursor local for
        select b.CMBASE_REF, @LEV+1 from sho4CMITEMS a
           left join sho4CMHEADERS b on a.CMHEADERS_REF = b.RID
           where ( a.ITEM_TYPE = 1) and
                 ( a.ITEM_REF = @CMBASE_REF )
           group by b.CMBASE_REF
 
   insert into @Tree(RID,L) values (@CMBASE_REF,@LEV+1)
 
   open cr
   fetch next from cr into @ITEM_REF,@LL
   while @@FETCH_STATUS = 0
   begin
      insert into @Tree (RID, L)
      select RID,L  from dbo.fn_CompParents1 (@ITEM_REF,@LL)
      fetch next from cr into @ITEM_REF,@LL
   end
   close cr
   deallocate cr
   return
end
Функция fn_CheckCmpCicle
 
create function dbo.fn_CheckCmpCicle()
returns @t table
( RID integer,
  NAME varchar (50),
  LEV integer
)
as 
begin
   declare @RID integer
   declare @NAME varchar (50) 
   declare @LEV integer
 
   declare cr cursor local for
        select RID,NAME from CMBASE
   open cr
   fetch next from cr into @RID,@NAME
   while @@FETCH_STATUS = 0
   begin
 
      insert into @t (RID,NAME,LEV)
     select @RID,@NAME,max(L) from dbo.fn_CompParents1 (@RID,0)
 
      fetch next from cr into @RID,@NAME
   end
   close cr
   deallocate cr
   return
end 
create function dbo.fn_CheckCmpCicle()
returns @t table
( RID integer,
  NAME varchar (50),
  LEV integer
)
as 
begin
   declare @RID integer
   declare @NAME varchar (50) 
   declare @LEV integer
 
   declare cr cursor local for
        select RID,NAME from sho4CMBASE
   open cr
   fetch next from cr into @RID,@NAME
   while @@FETCH_STATUS = 0
   begin
 
      insert into @t (RID,NAME,LEV)
     select @RID,@NAME,max(L) from dbo.fn_CompParents1 (@RID,0)
 
      fetch next from cr into @RID,@NAME
   end
   close cr
   deallocate cr
   return
end

Примечание: Если функция уже существует в БД, для ее изменения вместо оператора create необходимо использовать оператор alter

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

  SHO 4.46 и ниже SHO 4.48 и выше
Проверочный запрос

 

select a.*,b.abbr_text, b.ABBR_NUMBER  from  dbo.fn_CheckCmpCicle() a left join CMBASE b on a.rid=b.rid where a.LEV>20

 

select a.*,b.abbr_text, b.ABBR_NUMBER  from  dbo.fn_CheckCmpCicle() a left join SHO4CMBASE b on a.rid=b.rid where a.LEV>20 

После выполнения запроса отобразятся проблемные комплекты - необходимо найти эти комплекты в редакторе SHO4 и проверить "зацикленность" (т.е. вхождение комплектов "самих в себя")

Ошибка "DB Error" при импорте данных из RK7

Описание проблемы:

Ошибка вида "DB Error: ..." признак нарушения логической стуктуры БД SHO4.

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

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

Класс ошибок "DB Error" достаточно обширный, локализация и исправление может потребовать знания структуры БД и основ языка SQL - рекомендуется создать запрос на трекере с описанием проблемы, вложить скриншоты сообщений и бекап рабочей БД.

Одна из причин ошибки "DB Error" может быть связана с таблицей [sho4DATABASEPARAMS]  - если в этой таблице отсутсвует запись или запись некорректная, при импорте данных будет возникать ошибка "DB Error".

Для решения проблемы необходимо заполнить таблицу [sho4DATABASEPARAMS]:

  • при необходимости сначала очистить таблицу:
TRANCATE TABLE [sho4DATABASEPARAMS]
  • выполнить следующий запрос:
INSERT INTO [sho4DATABASEPARAMS]
 ( ORGANIZATION, MUNITS_REF, CMUNITS_REF, TMUNITS_REF, CCDATE, BUCCATEG_REF, MAINCATEG_REF,  DB_VERSION, REPL_PLDOCS) 
values ('',1,6,2,'01.01.1980',2,1,44900,1)
 
В параметре value необходимо указать текущую версию БД - значение или весь запрос целиком можно посмотреть в файле populateSHO.sql (находится в корне рабочего директории SHO4).
 
Еще одна из причин ошибки "DB Error" может быть связана с таблицей [sho4DEPARTS]  - если в этой таблице у одного из ресторанов вместо кода NULL, при импорте данных будет возникать ошибка "DB Error".

Ошибка "Could not convert variant of type (Null) into type (Integer)"

Описание проблемы:

В SHO4 при выборе "Словари" ⇒ "Предприятия" возникает ошибка "Could not convert variant of type (Null) into type (Integer)" - при нажатии ОК ошибка появляется еще раз и далее открывается форма "Set Depart Form" со списком предприятий, импорт из R-Keeper v7 (далее RK7) при этом выполняется успешно.

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

Для решения проблемы необходимо выполнить частичное удаление данных (предприятий) в БД SHO4:

  • выполнить резервное копирование рабочей базы данных SHO4
  • с помощью среды SQL Server Management Studio выполнить следующий скрипт для рабочей базы SHO4:
delete from DEP_GOODSTREE
go
delete from DEP_GOODS
go
delete from DEP_GOODSPARAMS
go
delete from REPL_MAP
go
delete from DEPARTS where PARENT_REF is not null
go
delete from DEPARTS
go
create procedure dbo.sp_POPULATE_DEPARTS
as
begin
declare @DEPName varchar(47)
set @DEPName = 'Корпорация'
insert into dbo.DEPARTS ( RID,PARENT_REF,NAME, ISGROUP, DELETED ) values (1,NULL,@DEPName,2,0)
end
GO

set IDENTITY_INSERT dbo.DEPARTS ON
GO

exec dbo.sp_POPULATE_DEPARTS
GO

set IDENTITY_INSERT dbo.DEPARTS OFF
GO
  • выполнить импорт данных только по предприям из RK7, флаг импорт меню должен быть отключен
  • проверить в SHHO кооректность открытия и наполнения справочника предприятий
  • выполнить импорт меню из RK7, при этом обязательно повторно выбрать группу "Меню ресторана" и установить флаг "цены блюд по ресторанам"
  • т.к. скрипт удаляет список предприятий из базы SHHO, необходимо заново настроить связь каждого предприятия с соотв. локальным SH4

 

Слишком большие значение отпускных цен в свойствах товаров

Если после испорта данных из R-Keeper v7 в свойствах товаров отображаются слишком большие значения в полях отпускных цен, следует проверить актуальность библиотеки SHTR.DLL
 
 

Восстановление БД SHO4, используя сервер справочников RK7 и БД локального склада SH4

Если по каким-либо причиная БД SHO4 разрушена и/или утеряна и отсутсвуют резерные копии, данные можно восстановить из БД сервера справочников RK7 и БД локального склада SH4.
 
Для этого необходимо выполнить операции, описанные в разделе "Перенос данных из SH4 в SHO4", за исключением операций, указанных в п.5, 6 7.
 
Таким образом, список операций для восстанления БД SHO4 следующий:
  1. С помощью SHO4Admin.exe создать новую базу без заполнения первоначальных данных
  2. Создать корневую вершину для предприятий с помощью скрипта "Создание корневой группы предприятий.sql"
  3. С помощью SHO4edit.exe импортировать предприятия из R-Keeper BackOffice Editor (если используется R-Keeper v6) либо из сервера справочников R-Keeper v7 (меню "Файл" \ "Импорт")
  4. С помощью SHO4edit.exe импортировать из локального склада словари (операция "Файл" \ "Импорт" \ "Импорт данных SH4")
  5. Установить версию базы, выполнив скрипт "Установка версии БД.sql" - перед выполнение предварительно в скрипте указать корректную версию базы

Содержимое скриптов  "Создание корневой группы предприятий.sql" и "Установка версии БД.sql" см. в разделе "Перенос данных из SH4 в SHO4"

Примечание: Для выполнения скриптов можно использовать любую доступную среду, например "SQL Server Management Studio".

 

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