Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2012, 10:49   #21
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Ну да - штрихкод в базу, к нему описание товара или ещё что-то вручную.
Или просто дополнить список отсутствующих товаров - это можно сразу автоматически сделать, если не нашлось в базе.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.12.2012, 12:55   #22
Alesa90
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Ну да - штрихкод в базу, к нему описание товара или ещё что-то вручную.
Или просто дополнить список отсутствующих товаров - это можно сразу автоматически сделать, если не нашлось в базе.
ну почти
вообще задача была такая:
существует сеть киосков в которой нужно проводить проверку на вшивость, люди ночью приходят с ноутбуком и быстренько все там обрабатывают и все это падает в 1С, в котором собственно есть все эти документы.
Решение есть, но как всегда есть одно НО: решение состояло в подключении через впн к рабочей станции , пробросе портов сканера и черт возьми оно отлично работает при хорошей скорости инетрнета, однако ж gsm модем не мог этого обеспечить, вот такие дела...

Подумали сделать проще: выгрузить весь этот хлам из 1С в excel и потом загружать обратно. Осталось только сделать это более удобным и быстрым, чтобы тетки могли совладать...


по теме я пока сделал так:
1. записал макрос
Код:
Sub Ìàêðîñ5()
' Ìàêðîñ5 Ìàêðîñ
' Ñî÷åòàíèå êëàâèø: Ctrl+q
    Range("A1").Select
    Selection.ClearContents
    Range("A1").Select
End Sub
2. Воспользовался кодом приложеным выше
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Cells.Find(What:=Target.Cells(1, 1)).Select
End Sub
работает все так:
тыкаем ячейку, считываем штрих далее он находит штрих(выполняем манипуляции в этой строке или не выполняем), далее либо в ручную удоляем все и сканируем либо жмем ctrl+q (макрос затирает все в строке заполнения и ставит туда курсор)

т.е. вся работа сводится к нажатию ctrl+q и считыванию шх
Alesa90 вне форума Ответить с цитированием
Старый 21.12.2012, 13:06   #23
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

В таком случае я предлагаю свести манипуляции к взгляду на соседнюю ячейку.
Зачем выделять где-то там найденное? Копируете его рядом, или пишите есть/нет, активируете снова нужную подконтрольную коду/сканеру ячейку.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.12.2012, 13:15   #24
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

А я бы предложил через юзер-форму работать. Немного заморочнее, но в плане защиты от случайного удаления/изменения исходных данных намного более устойчивая система.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.12.2012, 13:16   #25
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Ctr+G - лишнее действие, замедляющее весь процесс.
Цитата:
проверку на вшивость
на соседнем листе держим список легальных штрих-кодов
на активный лист сосканировали очередной штрихкод (настраиваем Ексель после ввода данных переход на ячейку ниже)
Private Sub Worksheet_Change(ByVal Target As Range)
проверила наличие штрихкода на соседнем листе и либо забрала и добавила описание с соседнего листа, либо выдала БИП (или любой другой звук) - и внесла "вшивый № ...", в одну из колонок описания.

действия оператора:
подключить оборудование, активировать правильный лист, поставить курсор в нужную ячейку, и сканировать, сканировать, сканировать... до полного удовлетворения.
1 вшивый - устное пердупреждение
2 вшивых - штраф 100 баксов
3 вшивых - киоск закрывается с продавцом внутри и поджигается с наружи. составляется акт о неисправной электропроводке и самовозгорании.
Процедура называется "борьба с вшивостью"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.12.2012, 13:27   #26
Alesa90
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Ctr+G - лишнее действие, замедляющее весь процесс.

на соседнем листе держим список легальных штрих-кодов
на активный лист сосканировали очередной штрихкод (настраиваем Ексель после ввода данных переход на ячейку ниже)
Private Sub Worksheet_Change(ByVal Target As Range)
проверила наличие штрихкода на соседнем листе и либо забрала и добавила описание с соседнего листа, либо выдала БИП (или любой другой звук) - и внесла "вшивый № ...", в одну из колонок описания.

действия оператора:
подключить оборудование, активировать правильный лист, поставить курсор в нужную ячейку, и сканировать, сканировать, сканировать... до полного удовлетворения.
1 вшивый - устное пердупреждение
2 вшивых - штраф 100 баксов
3 вшивых - киоск закрывается с продавцом внутри и поджигается с наружи. составляется акт о неисправной электропроводке и самовозгорании.
Процедура называется "борьба с вшивостью"
ребят мне просто надо найти на листе позицию и внести изменения(или не внести) рукой и далее продолжить поиск , штрихкод дает мне только уникальное поле по которому я могу найти данную позицию. Конечно ваш интузеазм похвален...

Кстати решение через юзер формы вприцнапе интересное, это действительно защитит от ошибок и "случайного" изменения ячеек, что кстати очень не желательно
Alesa90 вне форума Ответить с цитированием
Старый 21.12.2012, 13:32   #27
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
1 вшивый - устное пердупреждение
2 вшивых - штраф 100 баксов
3 вшивых - киоск закрывается с продавцом внутри и поджигается с наружи. составляется акт о неисправной электропроводке и самовозгорании.
Процедура называется "борьба с вшивостью"
Игорь, да вы маньяк

Вы правы, решений данной задачи много и краеугольным камнем является разделение таблицы штрихов, таблицы с результатами сканирования и области работы со сканером. Иначе юзеры все-равно что-нить да поломают)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.12.2012, 13:37   #28
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
ребят мне просто надо найти на листе позицию и внести изменения(или не внести) рукой и далее продолжить поиск , штрихкод дает мне только уникальное поле по которому я могу найти данную позицию. Конечно ваш интузеазм похвален...
рассказываю страшную историю:

1. оператор не нажал/ не смог нажать и т.п. сочетание, очищающее А1 и позиционирующее туда курсор.
2. отсканил очередной ш/к, который забился в текущую ячейку и заменил информацию. содержавшуюся там ранее
3. юзер забыл отменить последние изменения и принялся работать дальше.

если п.2. повторился неоднократно, то на выходе будет полная каша.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.12.2012, 14:02   #29
Alesa90
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
рассказываю страшную историю:

1. оператор не нажал/ не смог нажать и т.п. сочетание, очищающее А1 и позиционирующее туда курсор.
2. отсканил очередной ш/к, который забился в текущую ячейку и заменил информацию. содержавшуюся там ранее
3. юзер забыл отменить последние изменения и принялся работать дальше.

если п.2. повторился неоднократно, то на выходе будет полная каша.
дак вот да, я это историю знаю и понимаю прекрасно, в этом и есть все подводные камни
Alesa90 вне форума Ответить с цитированием
Старый 21.12.2012, 14:06   #30
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

удалите из процесса пользователя - уберете все подводные камни.
или: ограничить возможные действия пользователя до необходимого минимума и тщательно следить за всеми возможными действиями.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывальщик штрихкодов... sniip Общие вопросы Delphi 3 05.07.2012 21:20
Распознавание штрихкодов методом деформируемых шаблонов trime Помощь студентам 0 11.04.2012 16:28
Сканер faustpatron13 Мультимедиа в Delphi 0 05.08.2010 10:37
Сканер Sanek_ntsk Общие вопросы Delphi 3 18.12.2007 19:54