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

Введение

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. Необходимо загрузить и установить на ПК сборку с драйверами в комплекте - ftp://ftp.ucs.ru/storehouse/sh4/DataCollectionTerminal/Sborka_SH4-Opticon.rar
  • Само по себе, данное ПО является мультифункциональным, поддерживает массу устройств и возможностей по работе с ними.
  • Полная версия данного приложения защищается лицензионным ключем (Guardant).
  • Тем не менее, не мало функций доступно и в "демо"-режиме. В частности, доступен функционал перекомпиляции (обновления) файла конфигурации (в нашем случае, это будет файл - SH_DB.ctf) и загрузка обновленного файла конфигурации на устройство (ТСД). Этого вполне достаточно. Так что, лицензирования приложения MobileLogistics, при настройке ТСД для SH4, не потребуется.
  1. Установить драйвер USB  для ТСД Opticon SMART. Полную сборку с драйверами можно скачать с FTP: ftp://ftp.ucs.ru/storehouse/sh4/DataCollectionTerminal/Sborka_SH4-Opticon.rar

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

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

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

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

 

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

 

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

  1. Установить утилиту для загрузки прошивки и файлов  Appload.

Установка ПО "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 в центральном офисе (с копиями баз из локальных ресторанов). Примечание: информация в отчетах при такой схеме может быть не актуальной