Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как установить кол-ч по умолчанию 1 ?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
postislav
Установлена 1С 7.7 Торговля склад 9.2
Подскажите пожалуйста как после выбора номенклатуры (в реализации) в ручную или при вводе штрих кода заполнялось количество по умолчанию 1 ?
Еще подскажите пожалуйста как при создании нового документа (реализация, или чекККМ) была активная сразу строка *штрих код* (это нужно что б без лишних нажатий при помощи сканера ввести штрих код )
Спасибо
Cthulhu
1) Устанавливать (оператором присвоения, сиречь "=") нужное знаение в нужный реквизит:
- если надо только при вводе только новой строки - то в предопределенной процедуре (модуля формы) "ПриРедактированииНовойСтроки";
- если надо всегда когда вводитс номенклатура - в процедуре, вызываемой из формулы соответствующего реквизита, или в предопределенной процедуре (модуля формы) "ПриОкончанииРедактированияСтроки";
- если при определенных условиях - в предопределенной процедуре (модуля формы) "ПриОкончанииРедактированияСтроки" с проверкой этих условий (например, при нулевом количестве)
- и т.п.

2) Активизировать нужный реквизит с помощью "ложного закрытия формы"* в процедуре, вызов которой по обработке ожидания ("Форма.ОбработкаОжидания("ТаСамаяПроцедура",1);") инициируется в предопределенной процедуре (модуля формы) "ПриОткрытии" (в самой этой процедуре следует не забыть выполнить отключение её вызова по обработке ожидания - "Форма.ОбработкаОжидания("",0);"). При этом следует учесть, что такой метод при модальном режиме (открытия формы) не сработает - т.к. при таком открытии формы обработка ожидания не работает.
Или эмулировать нажатие клавишь с помощью WSH (Windows Script Host).

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



Пожалуйста
postislav
Цитата(Cthulhu @ 24.02.13, 19:16) необходимо зарегистрироваться для просмотра ссылки
1) Устанавливать (оператором присвоения, сиречь "=") нужное знаение в нужный реквизит:
- если надо только при вводе только новой строки - то в предопределенной процедуре (модуля формы) "ПриРедактированииНовойСтроки";
- если надо всегда когда вводитс номенклатура - в процедуре, вызываемой из формулы соответствующего реквизита, или в предопределенной процедуре (модуля формы) "ПриОкончанииРедактированияСтроки";
- если при определенных условиях - в предопределенной процедуре (модуля формы) "ПриОкончанииРедактированияСтроки" с проверкой этих условий (например, при нулевом количестве)
- и т.п.

2) Активизировать нужный реквизит с помощью "ложного закрытия формы"* в процедуре, вызов которой по обработке ожидания ("Форма.ОбработкаОжидания("ТаСамаяПроцедура",1);") инициируется в предопределенной процедуре (модуля формы) "ПриОткрытии" (в самой этой процедуре следует не забыть выполнить отключение её вызова по обработке ожидания - "Форма.ОбработкаОжидания("",0);"). При этом следует учесть, что такой метод при модальном режиме (открытия формы) не сработает - т.к. при таком открытии формы обработка ожидания не работает.
Или эмулировать нажатие клавишь с помощью WSH (Windows Script Host).

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



Пожалуйста

Спасибо за подсказки, я только учусь и если я правильно понял с первым вопрос нужно разобраться так:
Нахожу Документ.ЧекККМ и там создаю процедуру (
Процедура
ПриРедактированииНовойСтроки = 1
КонецПроцедуры
)


Для полной ясности картины распишу какие задачи надо решить :
1) Установленна 1С 7.7 Торговля склад 9.2 подключен сканер по usb открываю: документы-Работа с ККМ-Журнал чеков-'insert' сканером чик он мне находит товар но графа "Кол-во" пустая, вопрос почему при подборе товара сканером товар находиться, "Кол-во" пустые?
2) Хотелось бы сделать чтобы при создании нового чека ккм, курсор был уже в строчке штрих кода, а не в строчке номера чека, а так же при подборе еще одной позиции сканером, появлялась вторая позиция а не заменялась первая,

У кого может был опыт с такой реализацией, буду очень благодарен
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.