[ОТВЕТИТЬ]
15.01.2007 13:35
akonev
 
В очередной раз пришли к идее, что было бы неплохо иметь программу для удаленной настройки укм2
http://www.olegon.ru/index.php?name=...&p=11094#11094

Сходную тему уже поднимал AlexLog:
http://www.olegon.ru/index.php?name=...iewtopic&t=962

Предлагаю гражданам, готовым поучаствовать - собираться здесь
15.01.2007 16:09
baggio
 
Готов... Давайте нарисуем ТЗ...

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

Для самого простого мне нужно описание файла...cf_ini для написания ... части черверной части...
15.01.2007 16:42
akonev
 
Цитата:
baggio Для самого простого мне нужно описание файла...cf_ini для написания ... части черверной части...
Боюсь, надо исходить из того, что толкового описания cf_ini у нас не будет долго. Отсюда:

1)Предлагаю на первое время ограничиться некоторым набором известных и понятных параметров.
Например: "включить использование такого-то файла данных".
Это в серверной части.

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

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

3)Надо подумать, как нам формализовать описание известных параметров. Включая взаимозависимости.
Не секрет, что некоторые параметры имеют смысл только при определенном значении других (накопительные счетчики, например).
Возражения и комментарии приветствуются. *04
15.01.2007 16:45
Mtirt
 
Ага, еще надо помнить, с какой скоростью С+ плодит недокументированные параметры...
15.01.2007 17:25
baggio
 
Цитата:
1)Предлагаю на первое время ограничиться некоторым набором известных и понятных параметров.
Например: "включить использование такого-то файла данных".
Это в серверной части.
Согласен... но набор известных и понятных параметров... для всех разный... я так вообще мало знаю...

Цитата:
В клиентской, наверное, надо быть еще проще: тупо просматривать файлик с входящими параметрами и выставлять предложенные значения.
Это позволит в каких-то случаях обходиться вообще без серверной части.
Согласен... часть подобной программы уже написана... она просматривает свои ini файл... там лежат значения и их параметры... также указан выходной файл в котором необходимо сделать изменения... оно даже работает... правда не для УКМ в честом виде..

Цитата:
2)Предлагаю подумать о создании программки сравнения двух cf_ini
суть: внесли желаемые изменения, сравнили текущее состояние с бэкапом, породили задание для настройки остальных касс.
Вот тут не понял идею... по подробнее если можно...

Цитата:
3)Надо подумать, как нам формализовать описание известных параметров
Для начала кладем сюда cf_ini и каждый описывает параметр который знает...
15.01.2007 17:43
akonev
 
Цитата:
baggio Согласен... часть подобной программы уже написана... она просматривает свои ini файл... там лежат значения и их параметры... также указан выходной файл в котором необходимо сделать изменения... оно даже работает... правда не для УКМ в честом виде..
Она работает под DOS?
Цитата:
baggio
Цитата:
Andrew_Konev суть: внесли желаемые изменения, сравнили текущее состояние с бэкапом, породили задание для настройки остальных касс.
Вот тут не понял идею... по подробнее если можно...
Идея очень простая: человек может не знать как называется нужный ему параметр, но знать, как включить желаемую функцию в интерфейсе укм.
Тогда он делает копию конфигурации, настраивает все что надо, а потом сравнивает новую конфигурацию со старой.
Или же программа сразу формирует ему задание для клиентской части нашего конфигуратора.

Эта же софтина может быть полезна на этапе изучения cf_ini
15.01.2007 17:49
baggio
 
Цитата:
Или же программа сразу формирует ему задание для клиентской части нашего конфигуратора.
это больше мне нравится...

Цитата:
Она работает под DOS?
да.
16.01.2007 18:43
baggio
 
Я вот тут решил на всякий выложить CF_INI.DB
cf_ini.rar
если кто вспомнит (или знает не заполненные) параметры, либо есть дополнительные коментарии просьба их постить здесь...

Особенно прошу посмотреть и описать что знает Andrew_Konev, поскольку он наверное самый сведующий...
17.01.2007 14:14
akonev
 
я пока пас. у меня внедрение. чуть позже посмотрю.

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

у тебя где-то после 80-й строки описания съехали на строку вверх. потом все выправляется в районе используемых таблиц.
18.01.2007 13:25
AlexLog
 
Мда, ушли не туда. Хотелось кассой управлять, а заодно и всем остальным, не поднимая ж... Куча упоминаний про радмин, про расшаривание, а в результате...
18.01.2007 13:59
baggio
 
radmin для кассы под dos это утопия - впервую очередь для самой кассы...

Про расшаривание ... ничего не прикратилось... просто хочется менять параметры УКМ2 удаленно... а как ты это сделаешь когда скажем УКМ2 запущен... если файлы открыты? тут и расшаривание не поможет...

Просто хочется написать утилитку...

Вот тут немного подумал над ТЗ:

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

locid$ - id места хранения для кассы (если не совпадает касса игнорирует). Этот параметр необходим если мы хотим иметь один файл настроек для всех касс, в этом случае программа должна будет в скрипт файле найти номер места хранения и номер своей кассы и далее выполнять действия только для себя.

cashnumber$ - номер кассы - аналогично вышесказанному.

Start$ - параметры запуска [everytime,once,everyday,everymonth,date_time] - что то вроде шадуллера чтобы можно было запланировать выполнение на определенный день, или для ограничения выполнения одних и техже операций в течении для после скажем перезагрузок.

dos$ [команда dos с параметрами] - любая доступная дос команда с любыми стандартными параметрами.

change_txt$ [какой параметр ищем] [на что меняем] - изменения в любом текстовом файле

Change_Dbprdx$ [какой параметр] [на что меняем] - изменения для файлов базы данных парадокс


Info$ [текст сообщения] [время отбражения] [lockkeys или nolockkeys или key="3"] [countdown] [once,everyday,everytime,everymounth,...] - текст информационного сообщения кассиру для отображения при загрузке кассы, указывается время в секундах для отбражения сообщения, блокировать или нет клавиши... если стоит [nolockkeys] - кассир может нажать любую клавиши и продолжить загрузку кассы не дожидаясь истечения времени [countdown], если стоит [lockkeys] - то клавиши блокируются до истечения времени [countdown], если стоит [key="3"] - то кассиру необходимо нажать клавишу "3" для продолжения загрузки, клавиша необходимая для нажатия подсвечивается снизу экрана, параметр [countdown] игнорируется. Следующий параметр когда показывать сообщения... тут я думаю все понятно...

made$ [date, time] - отметка о исполнении кассой задания...

Дополнения?Исправления? если есть озвучьте...
18.01.2007 15:04
akonev
 
Цитата:
baggio Дополнения?Исправления? если есть озвучьте...
Обязательно нужен журнал работы.
Записи для разных команд будут разные (может даже их надо в отдельные файлы писать).
Например, для change - дата, время, старое значение, новое значение.
Иначе будет грустно к старым значениям откатываться, не зная их.

Еще нужна команда для добавления параметров. Или еще лучше что-то с логикой "upsert":
если найден - изменить; если нет - добавить.
А то иногда в cf_ini нужного параметра просто нет.
18.01.2007 15:06
akonev
 
Цитата:
AlexLog Мда, ушли не туда. Хотелось кассой управлять, а заодно и всем остальным, не поднимая ж... Куча упоминаний про радмин, про расшаривание, а в результате...
А это и есть способ управлять кассой ничего никуда не поднимая *04
Чем ворчать - придумай другой способ, проверь и предложи обществу.
18.01.2007 16:36
baggio
 
Цитата:
у тебя где-то после 80-й строки описания съехали на строку вверх. потом все выправляется в районе используемых таблиц.
Олег пожалуйста обнови... посмотрел действительно так ... поправил...



OlegON:Сделано, по ссылке выше
18.01.2007 18:13
AlexLog
 
Цитата:
Andrew_Konev
Цитата:
AlexLog Мда, ушли не туда. Хотелось кассой управлять, а заодно и всем остальным, не поднимая ж... Куча упоминаний про радмин, про расшаривание, а в результате...
А это и есть способ управлять кассой ничего никуда не поднимая *04
Чем ворчать - придумай другой способ, проверь и предложи обществу.
Да не ворчу я! Я ж первый порывался че-то сделать. И что получилось - касса в режиме конфигуратора, данные cf_ini меняются с сервака. но дальше - увы....
13.02.2007 10:45
AlexLog
 
Предложение. Сделать утилитку, работающую с парадоксом пароленным под ДОС. Простую как ... На вход подавать
1. Имя таблички
2. Пароль таблички
3. Имя параметра
4. Значение параметра.

в автоикзек вставить команду на выполнение батничка.
и если нужно - подкладывать.
13.02.2007 19:32
baggio
 
Цитата:
Предложение. Сделать утилитку, работающую с парадоксом пароленным под ДОС. Простую как ... На вход подавать
программа уже пишется ...

Цитата:
2. Пароль таблички
Пароль с таблички будет срыватся...

По остальному как выше предлагал Конев...
14.02.2007 09:32
AlexLog
 
Пароль с таблички будет срыватся...



Это как ??!
14.02.2007 14:04
baggio
 
пароль с файла CF_INI.DB будет срыватся утилитой PXUNSEC.EXE...
после этого УКМ работает как будто ничего не произошло...
Изображения
Тип файла: jpg germantransporter-werbung2.jpg (36.0 Кб, 1068 просмотров)
Тип файла: jpg germantransporter-werbung2.jpg (36.0 Кб, 1068 просмотров)
09.03.2007 15:43
Komax64
 
Я, по-моему, упустил, почему отказались от предложения использования NetOp? *11
09.03.2007 19:07
akonev
 
не отказались. просто он требует _активного_ участия админа. самому зайти на каждую кассу и руками поправить все, что надо.
хочется, чтобы касса самостоятельно, без участия админа, забрала задание и все сделала.
15.05.2007 11:23
szhilkin
 
Цитата:
Andrew_Konev не отказались. просто он требует _активного_ участия админа. самому зайти на каждую кассу и руками поправить все, что надо.
хочется, чтобы касса самостоятельно, без участия админа, забрала задание и все сделала.
В autoexec.bat на кассе.
[...skipped...]
if exist [network_drive]:\[cash_num]\runme.bat goto runme
goto end
:runme
call [network_drive]:\[cash_num]\runme.bat
[...skipped...]
:end
15.05.2007 15:08
EugeneT
 
Цитата:
szhilkin В autoexec.bat на кассе.
[...skipped...]
if exist [network_drive]:\[cash_num]\runme.bat goto runme
goto end
:runme
call [network_drive]:\[cash_num]\runme.bat
[...skipped...]
:end
Силён :)
Не всё так просто.
Проблема не как выполнить, а что выполнить. Ищется механизм изменения значений ряда полей в таблицах, среди которых есть и запароленные. И идеале тулза, или вернее 2 тулзы должны - одна формировать в папке обмена файлик типа reg-файла винды, со списком изменяемых/добавляемых/удаляемых параметров и их значений, а вторая на кассе его заливать в таблицы.
15.05.2007 15:26
szhilkin
 
Цитата:
EugeneT Силён :)
Не всё так просто.
Проблема не как выполнить, а что выполнить. Ищется механизм изменения значений ряда полей в таблицах, среди которых есть и запароленные. И идеале тулза, или вернее 2 тулзы должны - одна формировать в папке обмена файлик типа reg-файла винды, со списком изменяемых/добавляемых/удаляемых параметров и их значений, а вторая на кассе его заливать в таблицы.
хммм, а написать никак ? Ведь УКМ использует библиотеки стандартного Paradox. Написать утилиту по смыслу схожую с diff :)
06.07.2007 10:51
GradeR
 
+1
обеими руками ЗА
28.08.2007 18:59
akonev
 
Цитата:
EugeneT Силён :)
Не всё так просто.
Проблема не как выполнить, а что выполнить. Ищется механизм изменения значений ряда полей в таблицах, среди которых есть и запароленные. И идеале тулза, или вернее 2 тулзы должны - одна формировать в папке обмена файлик типа reg-файла винды, со списком изменяемых/добавляемых/удаляемых параметров и их значений, а вторая на кассе его заливать в таблицы.
Народ, интерес у кого-то еще есть? Начал писать ту часть, которая на кассе живет.
Ничего пока толком не умеет, но попробовать уже можно.
Значение параметра, что уже существет в CF_INI - правит.
Только заклинаю: НЕ НА ЖИВОЙ КАССЕ!
потому как это даже не бета, это действующая модель.
никаких проверок и защит нету.

CF_INI должен жить в c:\smukm30
вместе с индексом

вызов SMUKM_CF.EXE файл_команд

маленький пример файла команд в комплекте.
команда пока реально действует только одна - C - Change, то есть.
любая другая ничего не сделает, только параметр на экран выведет.

Для чего, собственно, сейчас выкладываю: чтобы потом не было мучительно больно, надо сейчас определяться по функционалу. К чему стремимся?
Ну и кто за серверную часть возьмется?
Вложения
Тип файла: rar SMUKM_CF.rar (77.5 Кб, 107 просмотров)
29.08.2007 08:37
GradeR
 
Цитата:
Andrew_Konev Для чего, собственно, сейчас выкладываю: чтобы потом не было мучительно больно, надо сейчас определяться по функционалу. К чему стремимся?
Ну и кто за серверную часть возьмется?
Функционал представляю себе следующим образом:
Есть некий файлик команд, который будет выкладываться на бэке, который сможет увидеть фронт. Совсем в идеале, надо чтобы он шифровался.
В этом файле команд прописываются пошаговые действия фронта, в свое время на фронте должны присутствовать все эти функции.
На момент готовности файла команд, бэк создает флаг изменений. Флаг подхватывается фронтом и выставляет для вторичного контроля свой флаг о приеме данных.

Направленность:
Софт планирую использовать для выполнения следующих операций:
1. Удаленная настройка СМ УКМ как отдельных магазинов, так и сети магазинов
2. Устранение ошибок и программный ремонт
3. Обновление дистрибутивов
4. Контроль кассиров
5. Создание резервных копий
6. Отчетность
(7). Фоновая прогрузка УКМ (совсем идиал)

Для начала:
Необходимо сделать основные операции для работы с таблицами, это:
1. Заменить параметр
2. Получить параметр
3. Добавить параметр

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

Какие мысли еще есть?
29.08.2007 08:55
akonev
 
Цитата:
GradeR Давай научим софтину самой находить файлик команд, т.е. смотрим CF_path, берем путь к удаленному серверу и ищем там файлик
Какой из путей проверять будем?
И мне не хочется убирать возможность прямо указать файл команд.
Ввести вариант параметра запуска? Типа, при вызове с параметром /P - искать по путям, а при /C:имя_файла - брать именно этот файл ?
30.08.2007 10:32
GradeR
 
Цитата:
Andrew_Konev Какой из путей проверять будем?
И мне не хочется убирать возможность прямо указать файл команд.
Ввести вариант параметра запуска? Типа, при вызове с параметром /P - искать по путям, а при /C:имя_файла - брать именно этот файл ?
А что нам мешает дополнительный параметр ввести в cf_path?
Хай там все хранится как вариант
Вариант с отдельным файлом путей тоже не исключаю, в общем на усмотрение программиста
10.09.2007 16:01
Отдел_ККМ
 
Здравствуйте, господа.

В текущей версии 2.456B Build 78EB54
Появилась возможность автоматически изменять конфигурацию программы.
Для выполнения этого действия нужно один раз подготовить файл (скрипт), в котором описать, требующие изменения, параметры и их новые значения.
Подготовленный файл нужно положить в каталог SMUKM30 и запустить cashmain.bat
После чего программа применит изменения конфигурации.
К сожалению, механизма самоуничтожения скрипта в текущей версии не предусмотрено.
По этому, после того как скрипт отработает, его нужно будет удалить вручную.
Возможность самоуничтожения ожидается в следующей версии.

Список зарезервированных команд:
Все команды заключены в тильды(~)
Строка, в начале которой стоит символ ";" - комментарий (попадает в SCRIPT.LOG)
Команды:
DELETE – удаление файла скрипта (пока не работает)
CLEAR – очистка Receipt.prn и script.log
OFF – Выключение отработки скрипта.
CONFIG – изменение записи CF_INI.DB (~CONFIG~ REC_AT_END = 1)
После запуска cashmain программа пытается запустить MAIN.SCP Если его нет – первый попавшийся *. Scp в текущей директории.
Процесс работы скрипта логируется в script.log.

Пример файла MAIN.SCP:
~CLEAR~
~CONFIG~ REC_AT_END = 1
~CONFIG~ FIXTAXPROC=18

Убедительная просьба осмысленно пользоваться данным инструментом, необдуманное изменение параметров конфигурации может привести к катастрофическим последствиям.
Горячая линия ЦТО (495)7805585 окажет Вам помощь в освоении данного функционала.
Опции темы


Часовой пояс GMT +3, время: 09:30.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.