Установка инвентаризации — различия между версиями
Материал из wiki.standart-n.ru
Agk (обсуждение | вклад) (Новая страница: «==Выполнить скрипт== <nowiki> →****************************************************************************: /*** Generated by IBE…») |
Agk (обсуждение | вклад) |
||
(не показано 25 промежуточных версии 4 участников) | |||
Строка 1: | Строка 1: | ||
+ | ==Возможности== | ||
+ | <nowiki> | ||
+ | Программа автоматизации Стандарт-Н позволяет проводить ревизию несколькими способами: | ||
+ | 1) без дополнительного оборудования: с внесением всех данных в программу вручную; | ||
+ | 2) с использованием сканера ШК; | ||
+ | 3) с использованием терминала сбора данных (ТСД) на базе: | ||
+ | 3.1) любого ТСД с Android от 6.0 (полный функционал, работа по WiFi); | ||
+ | 3.2) любой ТСД, поддерживающий технологию, Atol MobileLogistics * (отдельно требуется лицензия); | ||
+ | 3.3) Opticon H-11 / H-13; | ||
+ | 3.4) любого другого ТСД, поддерживающим обмен с ПК через текстовые файлы *. | ||
+ | Для проведения ревизии компания Стандарт-Н может предоставить ТСД в аренду. | ||
+ | |||
+ | * ограничение для MobileLogistics и сторонних ТСД: посерийный учет возможен, только в случае использования внутренних штрихкодов; | ||
+ | </nowiki> | ||
+ | |||
==Выполнить скрипт== | ==Выполнить скрипт== | ||
− | <nowiki> | + | См. вложение [[Файл:Скрипт_для_инвентаризации.txt]] или ниже |
+ | <nowiki> | ||
/******************************************************************************/ | /******************************************************************************/ | ||
/*** Generated by IBExpert 01.12.2015 9:17:09 ***/ | /*** Generated by IBExpert 01.12.2015 9:17:09 ***/ | ||
Строка 27: | Строка 43: | ||
REALQUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | REALQUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | ||
PART_ID DM_ID /* DM_ID = BIGINT */, | PART_ID DM_ID /* DM_ID = BIGINT */, | ||
− | + | TEMP_QUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | |
INFO DM_BLOBTEXT /* DM_BLOBTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, | INFO DM_BLOBTEXT /* DM_BLOBTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, | ||
BCODE_IZG DM_TEXT /* DM_TEXT = VARCHAR(250) */, | BCODE_IZG DM_TEXT /* DM_TEXT = VARCHAR(250) */, | ||
Строка 629: | Строка 645: | ||
INSERT INTO REPORTS (ID, PARENT_ID, STATUS, REPORTTYPE, SORTING, CAPTION, PARAMS, WDICT_ID, DATA) VALUES (38, 0, 0, 10, 100, 'Печать инвентаризации', NULL, 11, NULL); | INSERT INTO REPORTS (ID, PARENT_ID, STATUS, REPORTTYPE, SORTING, CAPTION, PARAMS, WDICT_ID, DATA) VALUES (38, 0, 0, 10, 100, 'Печать инвентаризации', NULL, 11, NULL); | ||
− | </nowiki> | + | |
+ | ALTER TABLE W$INV ADD SQLTXT DM_TEXT_BIG; | ||
+ | </nowiki> | ||
+ | |||
+ | ==Подготовка ТСД== | ||
+ | [[Подготовка ТСД]] | ||
==Обновить подпрограммы ТМС(Группы)== | ==Обновить подпрограммы ТМС(Группы)== | ||
− | Прикрепленный файл [[Файл: Инвентаризация_группы(ТМС).zip]] | + | Прикрепленный файл [[Файл:Инвентаризация_группы(ТМС).zip]] |
+ | |||
+ | ==Для ТСД Атол ОС WinCE на Mobile Logistics== | ||
+ | Прикрепленный файл [[Файл:Инвентаризация_группы(ТМС)_WinCE_Атол.zip]] | ||
+ | |||
+ | ==Инвентаризация с помощью смартфона на базе Android 4.0 и выше== | ||
+ | *для инвентаризации нужно на смартфоне иметь камеру и карту памяти | ||
+ | |||
+ | *добавить две ТМС - выгрузки и загрузки на андроид аппарат | ||
+ | <PRE> | ||
+ | |||
+ | INSERT INTO GROUPS ( PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES ( -400, 'Выгрузка на Андроид', 'TMS', 1, '29-AUG-2016 09:55:14.685', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); | ||
+ | |||
+ | INSERT INTO GROUPS ( PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES ( -400, 'Загрузка с Андроида', 'TMS', 1, '29-AUG-2016 10:42:34.357', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); | ||
+ | |||
+ | </PRE> | ||
+ | *Добавить в параметры путь для выгрузки/загрузки | ||
+ | <PRE> | ||
+ | INSERT INTO PARAMS (PARENT_ID, PARAM_ID, PARAM_CAPTION, PARAM_TYPE, PARAM_VALUE, AUDIT_ID, IMAGEINDEX, STATUS, INSERTDT, SORTING, PARAM_TYPE_DATA, PACKET) VALUES ( -30, 'EXPORT_DIR_ANDROID', 'папка для выгрузки (Андроид)', 10, 'C:\Standart-N\ftp_server\', 958, -1, 0, '29-AUG-2016 10:00:32.317', 3, 'InitialDir= | ||
+ | Filter=*.txt | ||
+ | Title=папка для выгрузки | ||
+ | ofFileMustExist=0', 34664); | ||
+ | </PRE> | ||
+ | *в таблице GROUPS тмски для загрузки выгрузки - взять по пути \\ALECSANDR\projects\Ревизия на Андроид | ||
+ | *если будет использоватся возможность работы с андроид аппаратом по Wi-Fi - по пути указанному в параметрах положить файл FTPServer.exe из \\ALECSANDR\projects\Ревизия на Андроид | ||
+ | *в менеджере в окне инвентаризации - правой кнопкой мыши - Администратор - Редактировать справочник - как INI файл | ||
+ | добавляем тмски работы с выгрузкой, не забыть поменять group_id на id которые будут присвоены ТМСкам всунутым выше | ||
+ | <PRE> | ||
+ | [TMS_4] | ||
+ | group_id=10111 | ||
+ | caption=выгрузка на Андроид | ||
+ | |||
+ | [TMS_5] | ||
+ | group_id=10112 | ||
+ | caption=загрузка с Андроида | ||
+ | </PRE> | ||
+ | |||
+ | *в выгруженных данных, в штрихкодах не должно быть символов перевода строки, иначе в этих строках ничего не находит | ||
+ | ==Инвентаризация с помощью смартфона на базе Android 6.0 и выше== | ||
+ | *Приложение расположено по пути \\ALECSANDR\projects\Ревизия на Андроид\Application_ver3.apk | ||
+ | *Для инвентаризации нужно на смартфоне иметь камеру и Wi-Fi | ||
+ | *в этой версии приложения - работа происходит через wi-fi напрямую с базой автоматизации и таблицами ревизии | ||
+ | [[Файл:Screenshot 20180828-082623.png]] | ||
+ | <br> | ||
+ | *скрин ниже - выбор инвентаризации для проведения ревизии или просмотр созданных ревизий, на первом экране кнопки - ВЫБРАТЬ ИНВЕНТАРИЗАЦИЮ или ПРОСМОТР ИНВЕНТАРИзАЦИИ соответственно, берётся из таблицы w$inv | ||
+ | [[Файл:Screenshot_20180828-082641.png]] | ||
+ | [[Файл:Screenshot_20180828-082646.png]] | ||
+ | <br> | ||
+ | * Выбрав из меню - Мастер сетки попадаем на скрин ниже. Верхние две подкрашенные позиции - предварительный просмотр сделанных настроек, там указаны поля, их расположение и используемые цвета, ниже идёт список полей для настроек | ||
+ | [[Файл:Screenshot_20180828-082653.png]] | ||
+ | <br> | ||
+ | * выбрав какое - либо поле, настройки выводятся списком как на скрине - ниже. | ||
+ | * пункты SQL и Вид Сетки не привязаны к полям, в SQL - sql запрос, который выводит в этот экран данные, там можно добавлять, убавлять поля и менять их местами, в Виде сетки - следующий скрин - выбор ряда для поля и задание в процентах занимаемую ширину | ||
+ | [[Файл:Screenshot_20180828-082659.png]] | ||
+ | [[Файл:Screenshot_20180828-082731.png]] | ||
+ | [[Файл:Screenshot_20180828-082705.png]] | ||
+ | * ниже три экрана задания значений цвета, величины шрифта и настройка переноса слов | ||
+ | [[Файл:Screenshot_20180828-082709.png]] | ||
+ | [[Файл:Screenshot_20180828-082714.png]] | ||
+ | [[Файл:Screenshot_20180828-082720.png]] | ||
+ | *пример настроенного вида для просмотра ревизии | ||
+ | [[Файл:Screenshot_20180828-082742.png]] | ||
+ | [[Файл:Screenshot_20180828-082754.png]] | ||
+ | *список товаров с одинаковым штрихкодом - предложение выбора, естественно, тоже настраиваемый вид | ||
+ | [[Файл:Screenshot_20180828-082919.png]] | ||
+ | *указание количества, если в настройках стоит галочка - указывать количество а не проставлять значение по умолчанию, кнопки +1,+2,+3 -быстрый вариант указания, при нажатии проставиться соответствующее значение | ||
+ | [[Файл:Screenshot_20180828-082943.png]] | ||
+ | *список настроек | ||
+ | [[Файл:Screenshot_20180828-082952.png]] | ||
+ | [[Файл:Screenshot_20180828-082957.png]] | ||
+ | [[Файл:Screenshot_20180828-183925.png]] | ||
+ | |||
+ | |||
+ | ==Инвентаризация с помощью смартфона на базе Android 8.0 и выше== | ||
+ | Новая версия программы для мобильного телефона Инвентаризации Стандарт-Н, которую можно скачать на свой смартфон через Google play, теперь работает напрямую в базе автоматизации торговли Стандарт-Н | ||
+ | |||
+ | Инструкция по работе здесь [[Файл:Инструкция_по_работе_с_мобильной_инвентаризации.pdf]] | ||
+ | |||
+ | ==Обновить печатную форму== | ||
+ | Прикрепленный файл [[Файл:Отчет_печать_инвентаризации.zip]] | ||
+ | |||
+ | ==Обновить сетки== | ||
+ | Прикрепленный файл [[Файл:Инвентаризация_сетки.zip]] | ||
+ | |||
+ | ==Проведение инвентаризации Без ТСД== | ||
+ | [[Ручная Инвентаризация]] | ||
+ | |||
+ | ==Мобильная инвентаризация, инструкция пользователя== | ||
+ | [[Файл:Мобильная инвентаризация.doc]] | ||
+ | |||
+ | Теги: Инвентаризация, Ревизия, Установка инвентаризации, Установка ревизии, Мобильная ревизия, Мобильная инвентаризаця, wifi, программы для мобильного телефона |
Текущая версия на 10:14, 14 июня 2020
Содержание
- 1 Возможности
- 2 Выполнить скрипт
- 3 Подготовка ТСД
- 4 Обновить подпрограммы ТМС(Группы)
- 5 Для ТСД Атол ОС WinCE на Mobile Logistics
- 6 Инвентаризация с помощью смартфона на базе Android 4.0 и выше
- 7 Инвентаризация с помощью смартфона на базе Android 6.0 и выше
- 8 Инвентаризация с помощью смартфона на базе Android 8.0 и выше
- 9 Обновить печатную форму
- 10 Обновить сетки
- 11 Проведение инвентаризации Без ТСД
- 12 Мобильная инвентаризация, инструкция пользователя
Возможности
Программа автоматизации Стандарт-Н позволяет проводить ревизию несколькими способами: 1) без дополнительного оборудования: с внесением всех данных в программу вручную; 2) с использованием сканера ШК; 3) с использованием терминала сбора данных (ТСД) на базе: 3.1) любого ТСД с Android от 6.0 (полный функционал, работа по WiFi); 3.2) любой ТСД, поддерживающий технологию, Atol MobileLogistics * (отдельно требуется лицензия); 3.3) Opticon H-11 / H-13; 3.4) любого другого ТСД, поддерживающим обмен с ПК через текстовые файлы *. Для проведения ревизии компания Стандарт-Н может предоставить ТСД в аренду. * ограничение для MobileLogistics и сторонних ТСД: посерийный учет возможен, только в случае использования внутренних штрихкодов;
Выполнить скрипт
См. вложение Файл:Скрипт для инвентаризации.txt или ниже
/******************************************************************************/ /*** Generated by IBExpert 01.12.2015 9:17:09 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE GENERATOR GEN_W$INV_DETAIL_ID; CREATE TABLE W$INV_DETAIL ( ID DM_ID NOT NULL /* DM_ID = BIGINT */, INV_ID DM_ID /* DM_ID = BIGINT */, BARCODE DM_TEXT /* DM_TEXT = VARCHAR(250) */, PRICE DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, QUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, REALQUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, PART_ID DM_ID /* DM_ID = BIGINT */, TEMP_QUANT DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, INFO DM_BLOBTEXT /* DM_BLOBTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, BCODE_IZG DM_TEXT /* DM_TEXT = VARCHAR(250) */, BARCODE1 DM_TEXT /* DM_TEXT = VARCHAR(250) */ ); /******************************************************************************/ /*** Unique Constraints ***/ /******************************************************************************/ ALTER TABLE W$INV_DETAIL ADD CONSTRAINT UNQ1_W$INV_DETAIL UNIQUE (INV_ID, PART_ID); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE W$INV_DETAIL ADD CONSTRAINT PK_W$INV_DETAIL_1 PRIMARY KEY (ID); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX W$INV_DETAIL_IDX1 ON W$INV_DETAIL (INV_ID); CREATE INDEX W$INV_DETAIL_IDX2 ON W$INV_DETAIL (BARCODE); CREATE INDEX W$INV_DETAIL_IDX3 ON W$INV_DETAIL (PART_ID); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: W$INV_DETAIL_BI */ CREATE OR ALTER TRIGGER W$INV_DETAIL_BI FOR W$INV_DETAIL ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gen_w$inv_detail_id,1); if (new.quant is null) then select sum(quant) from doc_detail where part_id=new.part_id into new.quant; if (new.price is null) then select price from parts where id=new.part_id into new.price; select p.barcode, p.barcode1 from parts p where p.id=new.part_id into new.barcode, new.barcode1; select w.BARCODE from parts p left join wares w on w.id=p.ware_id where p.id=new.part_id into new.bcode_izg; end ^ /* Trigger: W$INV_DETAIL_BU0 */ CREATE OR ALTER TRIGGER W$INV_DETAIL_BU0 FOR W$INV_DETAIL ACTIVE BEFORE UPDATE POSITION 0 AS begin if (new.part_id<>old.part_id) then begin select sum(quant) from doc_detail where part_id=new.part_id into new.quant; select price from vw_parts where part_id=new.part_id into new.price; select p.barcode, p.barcode1 from parts p where p.id=new.part_id into new.barcode, new.barcode1; select w.BARCODE from parts p left join wares w on w.id=p.ware_id where p.id=new.part_id into new.bcode_izg; end new.info=iif(new.info is null,'',new.info)||' Кол-во '||cast(cast(new.temp_qaunt as numeric(15,2)) as dm_text)||' введено '||cast(CURRENT_DaTE as Date)||' '||Left(CURRENT_TIME,8)||ascii_char(13)||ascii_char(10); new.realquant = iif(old.realquant is null,0,old.realquant)+new.temp_qaunt; new.temp_qaunt = 0; end ^ SET TERM ; ^ /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ /******************************************************************************/ /*** Generated by IBExpert 01.12.2015 9:17:25 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE GENERATOR GEN_INV_ID; CREATE TABLE W$INV ( ID DM_ID NOT NULL /* DM_ID = BIGINT */, COMMITDATE DM_DATETIME /* DM_DATETIME = TIMESTAMP */, USER_ID DM_ID /* DM_ID = BIGINT */, SESSION_ID DM_ID /* DM_ID = BIGINT */, CAPTION DM_TEXT /* DM_TEXT = VARCHAR(250) */ ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE W$INV ADD CONSTRAINT PK_W$INV_1 PRIMARY KEY (ID); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: W$INV_BI */ CREATE OR ALTER TRIGGER W$INV_BI FOR W$INV ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gen_inv_id,1); end ^ SET TERM ; ^ /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Views ***/ /******************************************************************************/ /* View: VW_W$INV_DETAIL */ CREATE OR ALTER VIEW VW_W$INV_DETAIL( ID, INV_ID, BARCODE, PRICE, QUANT, REALQUANT, PART_ID, SNAME, INFO, TEMP_QAUNT, BARCODE1, BCODE_IZG) AS select id, inv_id, barcode, price, quant, realquant, part_id, (select v.svalue from parts p left join wares w on p.ware_id=w.id left join vals v on v.id=w.name_id where p.id=part_id), info, TEMP_QAUNT, barcode1, bcode_izg from w$inv_detail ; /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Views ***/ /******************************************************************************/ /* View: VW_PARTSINV */ CREATE OR ALTER VIEW VW_PARTSINV( PART_ID, WARE_ID, NAME_ID, SNAME, IZG_ID, SIZG, COUNTRY_ID, SCOUNTRY, ORIG_CODE, SORIG_NAME, SORIG_IZG, SORIG_COUNTRY, BCODE_IZG, PRICE, PRICE_O, PRICE_Z, PRICE_R, QUANT, BARCODE, BARCODE1, DEP, GODENDO, SERIA, SUM_NDSO, SERT, DATESERT, KEMVSERT, SDSERT, REGN, NGTD, EDIZM, DOC_ID, INSERTDT, NDS, BASE_AGENT_ID, SBASE_AGENT_ID, QUANT2) AS select p.ID, p.WARE_ID, w.name_id, vname.svalue, --SNAME, w.izg_id, vizg.svalue, --SIZG, w.country_id, vcountry.svalue, --SCOUNTRY, ORIG_CODE, vorig_name.svalue, --Sorig_NAME, vorig_izg.svalue, --Sorig_IZG, vorig_country.svalue, --Sorig_COUNTRY, w.barcode,-- BCODE_IZG, p.PRICE, p.PRICE_O, p.PRICE_Z, p.PRICE_R, p.QUANT, p.BARCODE, p.BARCODE1, p.DEP, --p.KRITK, p.GODENDO, p.SERIA, p.SUM_NDSO, p.SERT, p.DATESERT, p.KEMVSERT, p.SDSERT, p.REGN, p.NGTD, p.EDIZM, p.DOC_ID, p.INSERTDT, p.NDS, p.BASE_AGENT_ID, --(select caption from agents a1 where a1.id=p.BASE_AGENT_ID) a1.caption, (select w.quant from warebase w where w.part_id=p.id) from parts p left join WARES w on p.ware_id=w.id left join vals vname on w.name_id=vname.id left join vals vizg on w.izg_id=vizg.id left join vals vcountry on w.country_id=vcountry.id left join vals vorig_name on w.orig_name_id=vorig_name.id left join vals vorig_izg on w.orig_izg_id=vorig_izg.id left join vals vorig_country on w.orig_country_id=vorig_country.id left join agents a1 on p.base_agent_id=a1.id ; /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/ INSERT INTO SP$WDICTS (ID, PARENT_ID, CAPTION, DESCRIPTION, SID, STATUS, INSERTDT, INI, BMP, SORTING, FRAMECLASS) VALUES (111, 0, 'Инвентаризация', 'Инвентаризация', 'INV_DETAIL', 1, NULL, '[insertsql] insert into w$inv_detail(part_id,inv_id,id) values (:part_id,:tek_id,:id) [deletesql_selected] [deletesql] [refreshsql] select * from vw_w$inv_detail where id=:ID [selectsqlwithdeleted] [selectsql] select * from vw_w$inv_detail where inv_id=:tek_id order by id [form_show] position=1 left=0 Top=0 Width=0 Height=0 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [form_get] position=1 left=0 Top=0 Width=0 Height=0 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [main] sourcetablename=W$INV_DETAIL returnfieldname=ID captionfieldname=CAPTION keyfieldname=ID ViewID=INV_DETAIL RootGroupTableName= ShowCaption=Инвентаризация № :tek_id: GetCaption=Инвентаризация № :tek_id: GroupSelect=0 foldergroup= initfolder_id= dataset=0 InitTMSGroup_id=802 folders_visible=0 Canfloating=0 hidetoppanel=0 ActivateDictAction=0 [cfSelect] selectfieldexpression=Iif(sname is null,'''',sname)||'' ''||iif(barcode is null,'''',barcode)||'' ''||iif(bcode_izg is null,'''',bcode_izg) AllwaysPartial=1 [childs] bottomdock_units=0 bottomdock_size=0 rightdock_units=0 rightdock_size=0 [TMS_0] group_id=820 caption=Загрузить с терминала [TMS_1] group_id=71 caption=Создать корректировку [TMS_2] group_id=797 caption=Заполнить факт кол-во учетным [TMS_3] group_id=823 caption=Выгрузить в терминал [editfields] PART_ID=WDICTS.PARTS SNAME=PART_ID REALQUANT=TEMP_QAUNT TEMP_QAUNT=Default [addfields] PART_ID=WDICTS.PARTS ID=select gen_id(gen_w$inv_detail_id,1) from rdb$database', NULL, NULL, NULL); INSERT INTO SP$WDICTS (ID, PARENT_ID, CAPTION, DESCRIPTION, SID, STATUS, INSERTDT, INI, BMP, SORTING, FRAMECLASS) VALUES (9, 0, 'Журнал инвентаризаций', 'Журнал инвентаризаций', 'INV', 0, NULL, '[insertsql] insert into W$INV(id,caption,commitdate,session_id) values (:id,:caption,current_date,:SESSION_ID:) [deletesql_selected] [deletesql] [refreshsql] select * from W$INV where id=:ID order by id desc [selectsqlwithdeleted] [selectsql] select * from W$INV order by id desc [form_show] position=8 left=0 Top=0 Width=600 Height=500 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [form_get] position=8 left=0 Top=0 Width=600 Height=500 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [main] sourcetablename=W$INV returnfieldname=ID captionfieldname=CAPTION keyfieldname=ID ViewID=INV RootGroupTableName= ShowCaption=Журнал инвентаризации GetCaption=Журнал инвентаризации GroupSelect=0 foldergroup= initfolder_id= dataset=1 InitTMSGroup_id=0 folders_visible=0 Canfloating=0 hidetoppanel=0 ActivateDictAction=0 [cfSelect] selectfieldexpression=caption AllwaysPartial=1 [childs] bottomdock_units=0 bottomdock_size=0 rightdock_units=0 rightdock_size=0 [TMS_0] group_id=70 caption=Загрузить с терминала [TMS_1] group_id=71 caption=Создать корректировку [TMS_2] group_id=797 caption=Заполнить факт кол-во учетным [TMS_3] group_id=810 caption=Выгрузить в терминал [editfields] CAPTION=WDICTS.INV_DETAIL(tek_id=id,mode=show) ID=CAPTION COMMITDATE=CAPTION [addfields] CAPTION=DEfault ID=select gen_id(gen_w$inv_detail_id,1) from rdb$database' , NULL, 1, NULL); INSERT INTO SP$WDICTS (ID, PARENT_ID, CAPTION, DESCRIPTION, SID, STATUS, INSERTDT, INI, BMP, SORTING, FRAMECLASS) VALUES (10, 0, 'Партии', 'Партии', 'PARTS', 1, NULL, '[insertsql] [deletesql_selected] [deletesql] [refreshsql] select p.* from vw_partsinv p where part_id=:part_ID [selectsqlwithdeleted] [selectsql] select p.* from vw_partsinv p order by sname,part_id [form_show] position=8 left=0 Top=0 Width=400 Height=500 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [form_get] position=8 left=0 Top=0 Width=400 Height=500 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [main] sourcetablename=PARTS returnfieldname=PART_ID captionfieldname=PART_ID keyfieldname=PART_ID ViewID=PARTS RootGroupTableName= ShowCaption=Партии GetCaption=Партии GroupSelect=0 foldergroup= initfolder_id= dataset=0 [cfSelect] selectfieldexpression=sname||'' ''||iif(barcode is null,'''',barcode) AllwaysPartial=1 [childs] bottomdock_units=0 bottomdock_size=0 rightdock_units=0 rightdock_size=0', NULL, NULL, NULL); INSERT INTO PARAMS (ID, PARENT_ID, PARAM_ID, PARAM_CAPTION, PARAM_TYPE, PARAM_VALUE, AUDIT_ID, IMAGEINDEX, STATUS, INSERTDT, SORTING, PARAM_TYPE_DATA) VALUES (60, 63, 'TERMINAL_DATA_LOAD', 'Работа с теминалом', 14, '0', 643, 0, 0, '13-AUG-2015 12:52:10.024', 17, 'FIXEDITEMS SHOWONLYVALUES RETURNNAME 0=Напрямую через драйвер 1=Через текстовый файл'); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (69, -400, 'Создать инвентаризацию', 'TMS', 0, '17-OCT-2013 14:15:09', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (820, -400, 'Загрузить с теминала (с режимом работы)', 'TMS', 1, '13-AUG-2015 12:57:54', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (812, -400, 'Загрузить с терминала (напрямую)', 'TMS', 1, '24-JUL-2015 11:35:17', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (822, -400, 'Загрузить с терминала (через файл)', 'TMS', 1, '13-AUG-2015 13:40:43', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (71, -430, 'Создать корректировку по инвентаризации', 'TMS', 0, '17-OCT-2013 14:15:09', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (797, -430, 'Заполнить фактическое кол-во учетным', 'TMS', 0, '25-AUG-2014 09:38:13', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (823, -400, 'Выгрузить в теминал (с режимом работы)', 'TMS', 1, '13-AUG-2015 13:43:19', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (811, -430, 'Выгрузить в терминал', 'TMS', 1, '24-JUL-2015 09:30:16', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (824, -400, 'Выгрузить в терминал (через файл)', 'TMS', 1, '13-AUG-2015 13:45:53', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (802, 61, 'Инит баркоде', 'TMS', 0, '7-OCT-2014 11:16:32', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO REPORTS (ID, PARENT_ID, STATUS, REPORTTYPE, SORTING, CAPTION, PARAMS, WDICT_ID, DATA) VALUES (38, 0, 0, 10, 100, 'Печать инвентаризации', NULL, 11, NULL); ALTER TABLE W$INV ADD SQLTXT DM_TEXT_BIG;
Подготовка ТСД
Обновить подпрограммы ТМС(Группы)
Прикрепленный файл Файл:Инвентаризация группы(ТМС).zip
Для ТСД Атол ОС WinCE на Mobile Logistics
Прикрепленный файл Файл:Инвентаризация группы(ТМС) WinCE Атол.zip
Инвентаризация с помощью смартфона на базе Android 4.0 и выше
- для инвентаризации нужно на смартфоне иметь камеру и карту памяти
- добавить две ТМС - выгрузки и загрузки на андроид аппарат
INSERT INTO GROUPS ( PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES ( -400, 'Выгрузка на Андроид', 'TMS', 1, '29-AUG-2016 09:55:14.685', 0, NULL, -1, NULL, NULL, NULL, 0, NULL); INSERT INTO GROUPS ( PARENT_ID, CAPTION, GROUPTABLE, STATUS, INSERTDT, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, DATA, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES ( -400, 'Загрузка с Андроида', 'TMS', 1, '29-AUG-2016 10:42:34.357', 0, NULL, -1, NULL, NULL, NULL, 0, NULL);
- Добавить в параметры путь для выгрузки/загрузки
INSERT INTO PARAMS (PARENT_ID, PARAM_ID, PARAM_CAPTION, PARAM_TYPE, PARAM_VALUE, AUDIT_ID, IMAGEINDEX, STATUS, INSERTDT, SORTING, PARAM_TYPE_DATA, PACKET) VALUES ( -30, 'EXPORT_DIR_ANDROID', 'папка для выгрузки (Андроид)', 10, 'C:\Standart-N\ftp_server\', 958, -1, 0, '29-AUG-2016 10:00:32.317', 3, 'InitialDir= Filter=*.txt Title=папка для выгрузки ofFileMustExist=0', 34664);
- в таблице GROUPS тмски для загрузки выгрузки - взять по пути \\ALECSANDR\projects\Ревизия на Андроид
- если будет использоватся возможность работы с андроид аппаратом по Wi-Fi - по пути указанному в параметрах положить файл FTPServer.exe из \\ALECSANDR\projects\Ревизия на Андроид
- в менеджере в окне инвентаризации - правой кнопкой мыши - Администратор - Редактировать справочник - как INI файл
добавляем тмски работы с выгрузкой, не забыть поменять group_id на id которые будут присвоены ТМСкам всунутым выше
[TMS_4] group_id=10111 caption=выгрузка на Андроид [TMS_5] group_id=10112 caption=загрузка с Андроида
- в выгруженных данных, в штрихкодах не должно быть символов перевода строки, иначе в этих строках ничего не находит
Инвентаризация с помощью смартфона на базе Android 6.0 и выше
- Приложение расположено по пути \\ALECSANDR\projects\Ревизия на Андроид\Application_ver3.apk
- Для инвентаризации нужно на смартфоне иметь камеру и Wi-Fi
- в этой версии приложения - работа происходит через wi-fi напрямую с базой автоматизации и таблицами ревизии
- скрин ниже - выбор инвентаризации для проведения ревизии или просмотр созданных ревизий, на первом экране кнопки - ВЫБРАТЬ ИНВЕНТАРИЗАЦИЮ или ПРОСМОТР ИНВЕНТАРИзАЦИИ соответственно, берётся из таблицы w$inv
- Выбрав из меню - Мастер сетки попадаем на скрин ниже. Верхние две подкрашенные позиции - предварительный просмотр сделанных настроек, там указаны поля, их расположение и используемые цвета, ниже идёт список полей для настроек
- выбрав какое - либо поле, настройки выводятся списком как на скрине - ниже.
- пункты SQL и Вид Сетки не привязаны к полям, в SQL - sql запрос, который выводит в этот экран данные, там можно добавлять, убавлять поля и менять их местами, в Виде сетки - следующий скрин - выбор ряда для поля и задание в процентах занимаемую ширину
- ниже три экрана задания значений цвета, величины шрифта и настройка переноса слов
- пример настроенного вида для просмотра ревизии
- список товаров с одинаковым штрихкодом - предложение выбора, естественно, тоже настраиваемый вид
- указание количества, если в настройках стоит галочка - указывать количество а не проставлять значение по умолчанию, кнопки +1,+2,+3 -быстрый вариант указания, при нажатии проставиться соответствующее значение
- список настроек
Инвентаризация с помощью смартфона на базе Android 8.0 и выше
Новая версия программы для мобильного телефона Инвентаризации Стандарт-Н, которую можно скачать на свой смартфон через Google play, теперь работает напрямую в базе автоматизации торговли Стандарт-Н
Инструкция по работе здесь Файл:Инструкция по работе с мобильной инвентаризации.pdf
Обновить печатную форму
Прикрепленный файл Файл:Отчет печать инвентаризации.zip
Обновить сетки
Прикрепленный файл Файл:Инвентаризация сетки.zip
Проведение инвентаризации Без ТСД
Мобильная инвентаризация, инструкция пользователя
Файл:Мобильная инвентаризация.doc
Теги: Инвентаризация, Ревизия, Установка инвентаризации, Установка ревизии, Мобильная ревизия, Мобильная инвентаризаця, wifi, программы для мобильного телефона