Как убрать фокус с поля табличной части на форме в РМК Розницы?
Всем привет!
Озадачили вот чем: есть Розница 2.2 и подключенный сканер ШК беспроводной. Клиент хочет при открытии чека ККМ в форме РМК ходить со сканером по магазину и сканировать этикетки с нужных товаров. Подойдя к кассе, он получает набранный чек.
НО: при сканировании ШК добавляется товар и активируется поле ввода в колонке "Количество". И если еще раз пробить штрихкод, то в колонку "Количество" попадает считанный штрихкод. А надо, чтобы после сканирования Розница не "фокусировалась" на количестве, чтобы можно было считывать следующий ШК.
Приведу кусок кода модуля формы обработки РМКУправляемыйРежим
Если закомментировать последнюю строку, то фокус становится на поле Номенклатура. В противном случае - фокус на поле Количество.
А как убрать фокус, чтобы можно было добавить следующую позицию?
Озадачили вот чем: есть Розница 2.2 и подключенный сканер ШК беспроводной. Клиент хочет при открытии чека ККМ в форме РМК ходить со сканером по магазину и сканировать этикетки с нужных товаров. Подойдя к кассе, он получает набранный чек.
НО: при сканировании ШК добавляется товар и активируется поле ввода в колонке "Количество". И если еще раз пробить штрихкод, то в колонку "Количество" попадает считанный штрихкод. А надо, чтобы после сканирования Розница не "фокусировалась" на количестве, чтобы можно было считывать следующий ШК.
Приведу кусок кода модуля формы обработки РМКУправляемыйРежим
&НаКлиенте
Процедура ОбработатьДанныеПоКодуКлиент(СтруктураПараметровКлиента) Экспорт
ОткрытаБлокирующаяФорма = Ложь;
Если СтруктураПараметровКлиента.Свойство("НайденаДисконтнаяКарта") Тогда
ДисконтнаяКартаПриИзменении();
ИначеЕсли СтруктураПараметровКлиента.Свойство("АктивизироватьСтроку") Тогда
Элементы.Товары.ТекущаяСтрока = СтруктураПараметровКлиента.АктивизироватьСтроку;
Элементы.Товары.ТекущийЭлемент = Элементы.ТоварыКоличествоУпаковок;
ПоказатьЕсли закомментировать последнюю строку, то фокус становится на поле Номенклатура. В противном случае - фокус на поле Количество.
А как убрать фокус, чтобы можно было добавить следующую позицию?
Найденные решения
(7) В общем, там где-то используется метод
под рукой нет 2.2, но есть 2.0 и там есть клиентская процедура
Оно и заставляет входить в режим редактирования, и активирует фокус на первом поле, либо на том, что указано в свойстве ТекущийЭлемент
Элементы.Товары.ИзменитьСтроку()
под рукой нет 2.2, но есть 2.0 и там есть клиентская процедура
Подключаемый_ИзменитьСтроку()
Оно и заставляет входить в режим редактирования, и активирует фокус на первом поле, либо на том, что указано в свойстве ТекущийЭлемент
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Если фокус на номенклатуре, то ALT+F7 (ввод штрихкода) надо нажимать два раза.
У меня под рукой нет сканера, поэтому я в РМК просто жму с клавиатуры.Не думаю, что это принципиально.
Сканер же что делает - имитирует нажатие ALT+F7, потом ввод ШК, потом нажатие Enter. А я руками эти вещи делаю последовательно.
У меня под рукой нет сканера, поэтому я в РМК просто жму с клавиатуры.Не думаю, что это принципиально.
Сканер же что делает - имитирует нажатие ALT+F7, потом ввод ШК, потом нажатие Enter. А я руками эти вещи делаю последовательно.
(7) В общем, там где-то используется метод
под рукой нет 2.2, но есть 2.0 и там есть клиентская процедура
Оно и заставляет входить в режим редактирования, и активирует фокус на первом поле, либо на том, что указано в свойстве ТекущийЭлемент
Элементы.Товары.ИзменитьСтроку()
под рукой нет 2.2, но есть 2.0 и там есть клиентская процедура
Подключаемый_ИзменитьСтроку()
Оно и заставляет входить в режим редактирования, и активирует фокус на первом поле, либо на том, что указано в свойстве ТекущийЭлемент
(12) Арман, спасибо Вам! Все получилось.
Действительно, стоило закомментировать строку, и теперь можно строки вводить по очереди без ввода количества.
Дело оказалось не в фокусе на поле таблицы формы, а в последующем интерактивном действии, которое надо было отключить.
Действительно, стоило закомментировать строку, и теперь можно строки вводить по очереди без ввода количества.
&НаКлиенте
Процедура Подключаемый_ИзменитьСтроку()
//Элементы.Товары.ИзменитьСтроку();
КонецПроцедуры
Дело оказалось не в фокусе на поле таблицы формы, а в последующем интерактивном действии, которое надо было отключить.
ТаблицаФормы.ИзменитьСтроку (FormTable.ChangeRow)
ТаблицаФормы (FormTable)
ИзменитьСтроку (ChangeRow)
Синтаксис:
ИзменитьСтроку()
Описание:
Начинает интерактивное изменение данных текущей строки, аналогично выполнению команды "Изменить".
ТаблицаФормы (FormTable)
ИзменитьСтроку (ChangeRow)
Синтаксис:
ИзменитьСтроку()
Описание:
Начинает интерактивное изменение данных текущей строки, аналогично выполнению команды "Изменить".
(1) Вообще то что ты хочешь, работает стандартными методами.
Что необходимо сделать:
1. Добавить в оборудование сканер ШК. (можно в разрезе клавиатуры через стандартный драйвер 1С).
2. На сканере и в драйвере 1С настроить суффикс CR13 (клавиша Enter) обычно он по умолчанию.
3. Взять сканер и бегать по магазину. При сканировании одного товара в табличную часть будет добавлять один товар с количеством 1шт.
4. В настройках РМК включить галочку объединять одинаковые позиции. Чтобы при сканировании одной позиции два раза количество вставала 2 а не добавлялась еще одна строчка с этим товаром.
p.s. не надо изобретать костыли!
Что необходимо сделать:
1. Добавить в оборудование сканер ШК. (можно в разрезе клавиатуры через стандартный драйвер 1С).
2. На сканере и в драйвере 1С настроить суффикс CR13 (клавиша Enter) обычно он по умолчанию.
3. Взять сканер и бегать по магазину. При сканировании одного товара в табличную часть будет добавлять один товар с количеством 1шт.
4. В настройках РМК включить галочку объединять одинаковые позиции. Чтобы при сканировании одной позиции два раза количество вставала 2 а не добавлялась еще одна строчка с этим товаром.
p.s. не надо изобретать костыли!
(15) Вот это как раз и есть костыль!
Решение этого вопроса установкой суффикса некорректно. В чеке будет все работать. А в остальных случаях ведь тоже будет срабатывать этот суффикс, а это не везде надо.
(13) Я согласен лишь в той части, что событие ввода ШК сканером и просто нажатия кнопки формы отрабатывают разные процедуры. Но логика установки фокуса и дальнейшего редактирования поля - одинакова. Поэтому надо было понять как это делается. Вот мне в сообщении (12) и подсказали.
Решение этого вопроса установкой суффикса некорректно. В чеке будет все работать. А в остальных случаях ведь тоже будет срабатывать этот суффикс, а это не везде надо.
(13) Я согласен лишь в той части, что событие ввода ШК сканером и просто нажатия кнопки формы отрабатывают разные процедуры. Но логика установки фокуса и дальнейшего редактирования поля - одинакова. Поэтому надо было понять как это делается. Вот мне в сообщении (12) и подсказали.
(16) То есть использование типового механизма тебя не устраивает и ты решаешь что на сканере суффикс должен совпадать с клавишей на форме документ (F7-ввод штрихкода), ну и соответственно включаем в конфе редактирование, изменяем форму, что-бы при обновлении тратить на 20 мин. больше чем обычно.
И да так как вы изменили только одну форму, сканер и будет работать только на этой форме. А как же остальные документы? (Возврат товаров, и т.д. если у кассиров есть такой доступ).
А в каких случаях если не секрет?
И да так как вы изменили только одну форму, сканер и будет работать только на этой форме. А как же остальные документы? (Возврат товаров, и т.д. если у кассиров есть такой доступ).
А в остальных случаях ведь тоже будет срабатывать этот суффикс, а это не везде надо.
А в каких случаях если не секрет?
(16) "21 век на дворе", а автор темы до сих пор не научился настраивать подключаемое оборудование в конфигурациях 1С.
В (15) описан совершенно типовой сценарий для розницы 2 по подключению клавиатурного сканера штрихкодов и его использованию во ВСЕХ документах, где есть подключение этого сканера (а оно есть почти везде и даже там, где нет кнопочки с F7). Мало того, алкоголики, например, в рознице не могли бы продавать никакой алкоголь, если бы это не работало, потому что в типовой форме считывания марки нет поля для ручного ввода.
По поводу суффикса - этот суффикс обычно идет по умолчанию. И судя по тому, как Вы используете F7, у Вас в сканере он уже задан. Точно определяется это в форме настроек оборудования в кнопочке "Тест". Ну т.е. там нужно выполнить минимум элементарных настроек и ничего не программировать.
P.S. И эти люди автоматизируют страну.
В (15) описан совершенно типовой сценарий для розницы 2 по подключению клавиатурного сканера штрихкодов и его использованию во ВСЕХ документах, где есть подключение этого сканера (а оно есть почти везде и даже там, где нет кнопочки с F7). Мало того, алкоголики, например, в рознице не могли бы продавать никакой алкоголь, если бы это не работало, потому что в типовой форме считывания марки нет поля для ручного ввода.
По поводу суффикса - этот суффикс обычно идет по умолчанию. И судя по тому, как Вы используете F7, у Вас в сканере он уже задан. Точно определяется это в форме настроек оборудования в кнопочке "Тест". Ну т.е. там нужно выполнить минимум элементарных настроек и ничего не программировать.
P.S. И эти люди автоматизируют страну.
Для решения подобных задач и правда необходимо подключать сканер через внешнюю компоненту, а не как клавиатуру, т.к. в таком случае появляется возможность программно обрабатывать событие считывания штрих-кода и уж в программной-то логике можно научить программу не то, что фокусироваться на нужном реквизите, но и варить кофе или чай в зависимости от штрих-кода :)
(20) Если мы говорим про форму списка товара, то при сканировании ШК будет найден и выделен нужный товар.
Если мы говорим про форму подбора или выбора, то да товар будет добавлен в корзину или также выделен.
Суффикс нужен для того чтобы программа понимала что данные были переданы со сканера а не введены с клавиатуры пользователем и необходимо выполнить определенные стандартные действия (В форме списка или выбора найти товар, в форме документа - добавление товара в табличную часть, в форме списка документов - найти документ по ШК и т.д.).
А вы делаете костыль, где он будет работать только на одной форме и программа понимает что данные прилетели не со сканера а как будд-то пользователь нажал F7 и потом ввел ШК товара (если я правильно понял что вы сделали), и сколько времени вы потратили на программирование сканера ШК и решения вопроса с изменением кода и т.д.
Если мы говорим про форму подбора или выбора, то да товар будет добавлен в корзину или также выделен.
Зачем в этом случае нажимать Enter?
Суффикс нужен для того чтобы программа понимала что данные были переданы со сканера а не введены с клавиатуры пользователем и необходимо выполнить определенные стандартные действия (В форме списка или выбора найти товар, в форме документа - добавление товара в табличную часть, в форме списка документов - найти документ по ШК и т.д.).
А вы делаете костыль, где он будет работать только на одной форме и программа понимает что данные прилетели не со сканера а как будд-то пользователь нажал F7 и потом ввел ШК товара (если я правильно понял что вы сделали), и сколько времени вы потратили на программирование сканера ШК и решения вопроса с изменением кода и т.д.
(21) Владимир, Вы быть может не понимаете, что мне было надо. Я не хочу с Вами спорить, теряя время и доказывая Вам и другим что-либо. Моя задача была убрать активизацию редактирования поля Количество в форме обработки РМК. Задача решена несколькими строками кода. Все. Зачем мне долбиться с какими-то суффиксами я не понимаю.
(22 Ну а Вы, уважаемая леди, откуда взялись такая прогрессивная? Из 21 века, поди? Я в курсе того, что можно задавать префиксы, суффиксы у сканеров. В моей задаче это не требовалось. Вы свою желчь оставьте для других. Сначала надо вникнуть в вопрос, а потом отвечать. Я Вам ничего плохого не сделал, а Вы мне нахамили. Я надеюсь, что Вы спасете автоматизацию нашей страны.
Уважаемые модераторы, закройте тему. А то меня Леночка депортирует из страны за плохую автоматизацию.
(22 Ну а Вы, уважаемая леди, откуда взялись такая прогрессивная? Из 21 века, поди? Я в курсе того, что можно задавать префиксы, суффиксы у сканеров. В моей задаче это не требовалось. Вы свою желчь оставьте для других. Сначала надо вникнуть в вопрос, а потом отвечать. Я Вам ничего плохого не сделал, а Вы мне нахамили. Я надеюсь, что Вы спасете автоматизацию нашей страны.
Уважаемые модераторы, закройте тему. А то меня Леночка депортирует из страны за плохую автоматизацию.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот