powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Установка фокуса ввода на элемент
7 сообщений из 7, страница 1 из 1
Установка фокуса ввода на элемент
    #35744808
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть "приходная накладная", добавил поле ввода "ШтрихКод", прицепил к нему формулу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Процедура ИзменениеШтрихКода()
	Данные = ШтрихКод;
           .......
           //посик товара по штрихкоду и добавление строки в документ
	
	Активизировать("ШтрихКод");
		
КонецПроцедуры 
делаю синтаксический контроль - все ок
при выполнении обработчика возникает ошибка на последней строке "{Документ.ПриходнаяНакладная.Форма.Модуль(661)}: В данной формуле не может быть вызвана эта процедура(функция)"
хотя в описании процедуры "Активизировать" написано "Доступ к методу возможен только в контексте Модуля формы".
Собственно вопрос: как правильно использовать процедуру Активизировать или как вообще выйти из сложившейся ситуации?

PS: версия 7.70.027
торговля и склад (для украины) 7.70.012
вариант "ОбработкаВнешнегоСобытия" не предлагать...
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35745444
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно, с этим разобрался, положил кнопку за пределами формы, в которой написал обработчик перехода на поле ввода штрих кода, установил этой кнопке порядок перехода "сразу за полем ввода штрих кода", эмулирую нажатие таб и энтер с помощью Win Script Host, вроди работает :)
по другогому, более "нормально" как-то можно?

теперь еще один вопрос: справочник "номенклатура", есть поле "штрих код", коды бывают 13ти-, 8ми- и н-значными, пытаюсь найти позицию путем набора первых цифер. Например, хочу найти 48207799, набираю 4820 - позиция устанавливается на код 4820000000, дальше поиск не происходит. Почему? Как бороться?
Реквизит "ШтрихКод" типа число, 13 знаков...
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35745553
tranceloud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделай реквизит "Штрих код" текстовым забивай в него 4820779900 и будет у тебя нормально искать. Поиск по числовым реквизитам в семерке выглядит немного "уникально". Чтоб добраться до числа 48207799, хранящегося 13-разрядном поле надо 2 раза набрать пробел, потом уже 482... .

Насчет "активизировать" - сделай поиск по конфе и посотри как используется данный метод. По-моему, ошибка в том, что метод вызывается для элемента из обработчика этого элемента. Хотя могу ошибаться.
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35745585
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tranceloud , спасибо за ответ :)
tranceloudСделай реквизит "Штрих код" текстовым забивай в него 4820779900 и будет у тебя нормально искать. Поиск по числовым реквизитам в семерке выглядит немного "уникально". Чтоб добраться до числа 48207799, хранящегося 13-разрядном поле надо 2 раза набрать пробел, потом уже 482... .Воистину "уникально", ток нужно 5 пробелов, типа дополнить спереди до 13 знаков...
tranceloudНасчет "активизировать" - сделай поиск по конфе и посотри как используется данный метод. По-моему, ошибка в том, что метод вызывается для элемента из обработчика этого элемента. Хотя могу ошибаться.да читал я, почти ниче нету, оказывается "активизировать" номально срабатывает только в обработчике нажатия кнопки. Так и сделал, см. выше.
Мож подскажете толковую доку по всяким там "хитростям" для 7.7?
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35745635
tranceloud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению доку не подскажу. Но дам совет насчет штрихкодов. Они бывают намного большей длины, чем 13 символов. Если есть поблизости ноутбук, можешь глянуть скока - там.
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35875252
Elek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот способ обхода этого ограничения платформы:

// глобальный модуль
Процедура глАктивизироватьПоле(Конт, Поле) Экспорт
Сп=СоздатьОбъект("СписокЗначений");
Сп.Установить("Контекст", Конт);
Сп.Установить("Поле", Поле);
ОткрытьФормуМодально("Обработка.АктивизироватьПоле", Сп);
КонецПроцедуры

// модуль формы Обработка.АктивизироватьПоле
Процедура ПриОткрытии()
Сп=Форма.Параметр;
Если НРег(ТипЗначенияСтр(Сп))<>"списокзначений" Тогда
Сообщить("'Активизировать поле': неверный вызов","!");
СтатусВозврата(0);
Возврат;
КонецЕсли;

Конт=Сп.Получить("Контекст");
Поле=Сп.Получить("Поле");
Конт.Активизировать(Поле, 1);
СтатусВозврата(0);
КонецПроцедуры

Соответственно - вызов в коде:
глАктивизироватьПоле(Контекст, "Артикул");
...
Рейтинг: 0 / 0
Установка фокуса ввода на элемент
    #35875496
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно просто через "фиктивное" ( СтатусВозврата(0) ) закрытие формы
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Установка фокуса ввода на элемент
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]