Имя: Пароль:
1C
1С v8
v8: Обработка записи и выбора элемента справочника
,
0 rodrigez
 
18.04.12
17:35
Здравствуйте!
Прошу терпения, может с боку это выглядит как палата №6.
Хочу в событии ОкончаниеВводаТекста обработать запись элемента справочника и выбор его по ссылке.

   Процедура СоставНоменклатурыАдресТочкиДоставкиОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
       Перем НовыйЭлемент;
       СтандартнаяОбработка = Ложь;
       СоздатьЗаписьВСправочникеАдресса(Текст);        
       НовыйЭлемент = ВыбратьЗаписываемыйЭлемент(Текст);
       Элементы.СоставНоменклатуры.ТекущиеДанные.АдресДоставки=НовыйЭлемент;
   КонецПроцедуры
   

   &НаСервере
   Процедура СоздатьЗаписьВСправочникеАдресса(Текст);
       Адресс = Справочники.Адресса.СоздатьЭлемент();
       Адресс.Наименование = Текст;
       Адресс.Записать();        
   КонецПроцедуры
   
   &НаСервере
   Функция ВыбратьЗаписываемыйЭлемент(НаименованиеНовогоЭлемента)
       НовыйЭлемент  = Справочники.Адресса.НайтиПоНаименованию(НаименованиеНовогоЭлемента);    
       Возврат НовыйЭлемент;    
   КонецФункции

На данный момент запись элемента происходит. Потом появляется сообщение, мол не данного элемента не найдено и предлагается "Выбрать из списка", "Продолжить ввод" "Отмена". Выбираю выбрать из списка и позиционируюсть на нужной записи, делаю выбор. Но хочется автоматизировать ручной выбор( что бы не выбирать записанный элемент из списка) а он сам выбирался. Возможно ли это?
Спасибо!
1 rodrigez
 
19.04.12
11:49
Может событие надо использовать другое? :-)
2 Wobland
 
19.04.12
11:51
по окончании ввода текста создавать элемент справочника? это и в анфас выглядит, как палата №6
3 rodrigez
 
19.04.12
11:54
(2) ну ты бы лучше посоветовал как это делается классически начинающему?
4 Wobland
 
19.04.12
11:54
(3) что ты хочешь в итоге?
5 Wobland
 
19.04.12
11:56
(4) перечитал, вроде понял. по окончании ввода текста сначала ищи адрес, потом, если не нашёл, создавай. сразу грабли: лишний пробел - и новый адрес возник
6 Wobland
 
19.04.12
11:57
всё это для удобства работы оператора? как-то тут нехорошо всё... а сформулировать не могу
7 rodrigez
 
19.04.12
12:01
просто, думаю, удобно было бы из документа, данный элемент записывать в справочник. Если такая реализация г. то я готов отказаться от задуманного. Просто посоветуйте, как это может выглядеть, что бы  оператору делать , как можно меньше телодвижений. Или должно выглядеть.
8 Wobland
 
19.04.12
12:11
(7) вот скажи мне. "ул. Ленина, 10" и "Ленина 10" - это одинаковые адреса? проблема несколько глубже имхо
9 rodrigez
 
19.04.12
12:28
отказываюсь от типа данных "СправочникСсылка" в пользу строки, для данного реквизита
10 Wobland
 
19.04.12
12:35
(9) вот отвлечённо от твоей беды. удобно будет так к примеру:
улица: [НекийСправочникУлиц]; дом: [число]; квартира: [число]; - несколько полей ввода.
вводить удобно. несколько первых символов улице (штатный подбор) - ентер - ентер...
а в конце процесса собирать некую строку полного адреса, которая благодаря одному и тому же всегда алгоритму собирания не будет создавать путаницу типа "Ленина,10" и "Ленина, 10"
11 rodrigez
 
19.04.12
12:38
(10) Супер! Спасибо!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.