IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Добавить ответ в эту темуОткрыть тему
Cipher8300 для приемки с контролем количества
lexx-str
сообщение 26.1.2012, 13:32
Сообщение #1


Прохожий


Группа: Новички
Сообщений: 4
Регистрация: 5.1.2010
Пользователь №: 19 784



Есть терминал cipher 8300 с лицензией Mobile Logistic Standart
Сделали конфигурацию для осуществения приемки товара
В терминал выгружаются заказы, где указано количество сколько должно придти.
Как сделать так чтобы при приемке нельзя было превысить это количество, например выходило бы сообщение типа нельзя
принять больше заказаного (меньше можно).
Конфигурацию прилагаю.
Прикрепленные файлы
Прикрепленный файл  _________8300________.zip ( 2.06 килобайт ) Кол-во скачиваний: 7
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nataly
сообщение 26.1.2012, 13:48
Сообщение #2


Прописавшийся
*******

Группа: Партнеры
Сообщений: 1 937
Регистрация: 27.12.2007
Из: Пермь
Пользователь №: 12 351



Надо кроме сложения использовать еще и вычитание из количества заказа. Так как у этого поля тип положительное число, то при превышении заказа будет выводиться ошибка (Какая- не помню, но большего в Лайте не добиться)


--------------------
ООО "Арктур-Сервис" г. Пермь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Лукуткин А...
сообщение 26.1.2012, 14:24
Сообщение #3


ГК «АТОЛ»
******

Группа: Специалисты
Сообщений: 1 190
Регистрация: 10.4.2005
Из: ГК АТОЛ
Пользователь №: 351



Если говорить в целом, то на MLL можно реализовать куда более сложную логику, но уже не средствами конфигуратора. Дело в том, что конфигуратор просто создает исходный файл на языке C, который компилируется и создается файл прошивки. В самом конфигураторе действительно довольно мало возможностей, но если вы знаете язык C, то описанная вами задача решается в пару строк кода, главное знать куда и что написать smile.gif Ну а вообще Nataly указала правильное решение, так тоже можно.


--------------------
Life's too short for the wrong job!
-----------------------------------------

Друзья, появился новый способ обмануть камеры ГИБДД. Устали от штрафов, хотите скрыть свой номер? Лучший отзыв о нанопленке на номер, купить вы все можете на этом сайте!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
lexx-str
сообщение 26.1.2012, 16:17
Сообщение #4


Прохожий


Группа: Новички
Сообщений: 4
Регистрация: 5.1.2010
Пользователь №: 19 784



Я когда то программил на с++ подскажи пожалуйста как этот файл конфигурации открыть. Я уж найду что куда вписать. Из-за этого 12 терминалов менять как то не правильно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Лукуткин А...
сообщение 26.1.2012, 16:50
Сообщение #5


ГК «АТОЛ»
******

Группа: Специалисты
Сообщений: 1 190
Регистрация: 10.4.2005
Из: ГК АТОЛ
Пользователь №: 351



Для начала нужно получить возможность модифицировать исходник, созданный конфигуратором:
1. Открываем файл c:\Program Files\ATOL\Mobile Logistics Lite\Cipher\Config\Bin\cmpl8000.bat и добавляем в начало еще одну команду pause
2. Проделываем тоже самое для cmpl8300.bat и cmpl8300n.bat
После проделанных операций в момент начала компиляции конфигурации будет осуществлена пауза и в этой же папки Bin Вы сможете увидеть файлы main.h и main.c. Их Вам и придется модифицировать.

Открытого API нет и не будет, но там все довольно очевидно. Дополнительную информацию можно почерпнуть из файлов Bin\Include\ml8000.h и ml8300.h.

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

Для Вашей текущей задачи необходимо в функции Form2004Proc добавить следующий код:
Код
case 11:
/* --- Добавлено --- */
if (field_2_0.Value > field_3_0.Value)
{
    MessageBox ((char*)"Невозможно ввести больше, чем заказано", MB_ICONEXCLAMATION, 700);
    break;
}
/* --- Конец добавления --- */
ActionAdd(1, 6, (char*)&field_2_0);


--------------------
Life's too short for the wrong job!
-----------------------------------------

Друзья, появился новый способ обмануть камеры ГИБДД. Устали от штрафов, хотите скрыть свой номер? Лучший отзыв о нанопленке на номер, купить вы все можете на этом сайте!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
lexx-str
сообщение 26.1.2012, 18:25
Сообщение #6


Прохожий


Группа: Новички
Сообщений: 4
Регистрация: 5.1.2010
Пользователь №: 19 784



Громадное спасибо, пойду делать, что получилось напишу позже.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
lexx-str
сообщение 7.2.2012, 6:37
Сообщение #7


Прохожий


Группа: Новички
Сообщений: 4
Регистрация: 5.1.2010
Пользователь №: 19 784



Все сработало, только логичнее строчка должна выглядеть
if ((field_2_0.Value+field_4_0.Value) > field_3_0.Value)
{
}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
x85
сообщение 10.6.2013, 18:01
Сообщение #8


Завсегдатай
***

Группа: Пользователи
Сообщений: 209
Регистрация: 18.12.2006
Из: Архангелск - сити
Пользователь №: 9 960



подниму тему
Задача:
хочу идентифицировать позиции из справочника по порядку сканирования.
Варианта 2:
1) Дописываем при каждом сканировании некий возрастающий инкримент;
2) Пишем текущую дату и время.

Что возможно сделать из этого?
Ковыряю сурцы main.c но пока не понял как выполнить 1 или 2.
2 не выполнить, т.к. нужно подключать еще один сишный модуль include date.h что вряд ли сработает.
маньяки такие же как и я - еще живы?)

Сообщение отредактировал x85 - 10.6.2013, 18:02


--------------------
Не все так плохо как кажется - все гораздо хуже.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
x85
сообщение 12.6.2013, 13:12
Сообщение #9


Завсегдатай
***

Группа: Пользователи
Сообщений: 209
Регистрация: 18.12.2006
Из: Архангелск - сити
Пользователь №: 9 960



Цитата(x85 @ 10.6.2013, 19:01) *
подниму тему
Задача:
хочу идентифицировать позиции из справочника по порядку сканирования.
Варианта 2:
1) Дописываем при каждом сканировании некий возрастающий инкримент;
2) Пишем текущую дату и время.

Что возможно сделать из этого?
Ковыряю сурцы main.c но пока не понял как выполнить 1 или 2.
2 не выполнить, т.к. нужно подключать еще один сишный модуль include date.h что вряд ли сработает.
маньяки такие же как и я - еще живы?)


добавлю так же что под генератором приложений ag есть возможность вставки даты и времени в поля


--------------------
Не все так плохо как кажется - все гораздо хуже.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Кидяев Дми...
сообщение 13.6.2013, 12:17
Сообщение #10


Магистр слова
********

Группа: Специалисты
Сообщений: 2 038
Регистрация: 21.2.2008
Пользователь №: 12 666



Я бы для начала посмотрел, где добавить поле в базу, а затем, где инкрементировать его.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
x85
сообщение 14.6.2013, 10:00
Сообщение #11


Завсегдатай
***

Группа: Пользователи
Сообщений: 209
Регистрация: 18.12.2006
Из: Архангелск - сити
Пользователь №: 9 960



Возможно это и так, но конструкции без описания, типа
SetFieldValue (6, (char*)&controls[6][15]);
убивают нафик. Кстати, инкремент в поле доступен и стандартными средствами лайта, но правда не по событию сканирования позиции, а по факту выгрузки в справочник. зачем это сделано - не понятно. подобие индекса?

Сообщение отредактировал x85 - 14.6.2013, 10:01


--------------------
Не все так плохо как кажется - все гораздо хуже.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
x85
сообщение 18.6.2013, 14:15
Сообщение #12


Завсегдатай
***

Группа: Пользователи
Сообщений: 209
Регистрация: 18.12.2006
Из: Архангелск - сити
Пользователь №: 9 960



Цитата(x85 @ 14.6.2013, 11:00) *
Возможно это и так, но конструкции без описания, типа
SetFieldValue (6, (char*)&controls[6][15]);
убивают нафик. Кстати, инкремент в поле доступен и стандартными средствами лайта, но правда не по событию сканирования позиции, а по факту выгрузки в справочник. зачем это сделано - не понятно. подобие индекса?


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


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

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 14.12.2019, 22:43
 Яндекс цитирования  Rambler's Top100