![]() |
![]() |
![]() |
|
v7: Штрихкод для справочника | ☑ | ||
---|---|---|---|---|
0
dawina
04.05.16
✎
13:55
|
Добрый день, форумчане!
Конфа ТиС 9.2, в нее добавили справочник скидочных карт, но никак не получается присвоить им штрихкод, при сканировании которого будет проставляться скидка, соответствующая карте с этим штрихкодом. Так вот, как присвоить карте штрихкод? |
|||
1
Chameleon1980
04.05.16
✎
15:11
|
реквизит добавить карте не катит?
в нужном месте в ОбработкаВнешнегоСобытия (или как там - уже забываю) получать шк искать запросом карту по шк и из карты смотреть нужные данные. Или я чего не понял? |
|||
2
Dmitrith
04.05.16
✎
15:15
|
Код справочника СкидочныеКарты делаешь цифровым (максимум 10 символов). Собираешь ШК по коду: Префикс + нужное кол-во нулей + Спр.Код + Контрольная сумма.
При сканировании обрезаешь все лишнее и ищешь по коду |
|||
3
dawina
05.05.16
✎
16:44
|
Chameleon1980,
Есть у справочник скидочных карт реквизит ШК, в ОбработкеВнешнегоСобытия: Если Событие = "BarCodeValue" Тогда ПредположимЧтоСК=Сред(Данные,1,2); Если ПредположимЧтоСК="27" Тогда // если префикс 27, то это скидочная карта СК=глНайтиКарту(Данные); Если СК=0 Тогда Сообщить("Такой карты нет!"); Иначе Карта=СК; глПриВыбореКарты(); КонецЕсли; // Обработка закончена. Готовы к получению нового штрихкода. глСканерПосылкаДанных(1); Иначе // ищем товар но карту не находит Dmitrith, На картах ШК уже есть, его формировать не надо. Нужно чтобы в справочнике скидочных карт был штрихкод у каждой карты и в доке ЧекККМ, при сканировании ШК с карты, автоматом скидка проставлялась. |
|||
4
пипец
05.05.16
✎
16:47
|
сортировка стоит у штрихкода в справочнике ?
|
|||
5
Звездец
05.05.16
✎
16:48
|
В ТИС штатно нет функционала по дисконтным картам, так что вам его кто-то дописывал. По-этому надо смотреть почему дописки не работают. На самом деле там работы на несколько часов при разработке, делал как-то давно. Поэтому внимательно смотрите код и отладчик в руки
|
|||
6
HawkEye
05.05.16
✎
17:20
|
(3) что отладчик говорит?
|
|||
7
Phanatom
05.05.16
✎
17:55
|
(3) пример ШКс карты и аналогичный со справочника? он на 27 начинается? что считывается сканером в 1С? попробуй вывести сообщением или в отладчике переменную "Данные", что выдаст?
|
|||
8
Chameleon1980
05.05.16
✎
19:10
|
что в глНайтиКарту ?
|
|||
9
Chameleon1980
05.05.16
✎
19:12
|
и да. сообщить(Данные) что говорит
или отладчик? |
|||
10
dawina
05.05.16
✎
21:22
|
(4), да, стоит.
(5), там это и не дописано. (7), да, ШК на 27 начинается. (8), в глНайтиКарту: Функция глНайтиКарту(СК) Экспорт Кл=СоздатьОбъект("Справочник.СКарты"); Кд=Сред(СК,8,5); Если Кл.НайтиПоРеквизиту("НомерКарты",Кд,1)=1 Тогда ВзКл=Кл.ТекущийЭлемент(); Возврат ВзКл; Иначе ВзКл=0; Возврат ВзКл; КонецЕсли; КонецФункции (6), (9), сообщить(Данные) сообщает сканируемый штрихкод. |
|||
11
HawkEye
05.05.16
✎
21:52
|
(10) ну по русски же написано
Кд=Сред(СК,8,5); Если Кл.НайтиПоРеквизиту("НомерКарты",Кд,1)=1 Тогда |
|||
12
Chameleon1980
05.05.16
✎
21:58
|
ага
а вот теперь посмотрите Кд=Сред(СК,8,5); тут вставьте сообщить(КД) или отладчиком и найдите (попробуйте найти) карту с таким результатом вобщем смотрите и думайте |
|||
13
Звездец
05.05.16
✎
22:48
|
как оказывается в (5) я был прав, кто писал наг...но кодил.
Если в поле код содержится ШК, то и искать надо по нему, а не по пяти символам начиная с восьмого |
|||
14
Злопчинский
05.05.16
✎
23:54
|
(11) я бы понял, если 4 символа
Но похоже они в номер карты впендюрили контрольный 13 символ |
|||
15
dawina
06.05.16
✎
08:59
|
(12),
при замене: Кд=Сред(Карта,8,5); на: Кд=Сред(Карта,1,13); находит карту по ШК. В этом была вся проблема? PS: благодарю за помощь! |
|||
16
Chameleon1980
06.05.16
✎
09:45
|
(15) ну, получается, да
не зря же вас все собеседники просили показывать строчки кода, значения переменных в определенных местах и определенные нюансы. можно заменить: Кд=Сред(Карта,1,13); на КД=Лев(Карта,13); ну это уже так. |
|||
17
Chameleon1980
06.05.16
✎
09:47
|
а может даже и вообще выкинуть эту (Кд=Сред(Карта,1,13);)
просто сделать КД=Карта строку (что скорее всего) или поменять код ниже. но это, опять же, лирика. |
|||
18
dawina
06.05.16
✎
11:19
|
(17) спасибо, с КД=Карта тоже все работает.
|
|||
19
HawkEye
06.05.16
✎
11:36
|
(14) я давно уже не пытаюсь понять чужую логику, свою то иногда не понимаю )))
|
|||
20
HawkEye
06.05.16
✎
11:47
|
(15) ну как-то обычно исправления в коде, делаются осознавая что происходит в этом коде....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |