Имя: Пароль:
1C
1C 7.7
v7: Поиск документа по номеру
,
0 YaroslavStr
 
30.11.12
15:34
Есть вопрос: что-то сам до ответа никак не могу дойти. И вроде элементарный.

Есть на форме общего журнала реквизит "НомерИскомогоЗаказа" типа число (4,2). При вводе номера заказа теоретически должна выделится строка с этим заказом. Но как это сделать? Уже все перепробовал, что помнил.

Может, кто делал такое. На вопрос, чем стандартный метод не нравится? Так легче вбивать номер заказа. Не надо будет открывать окно поиска и все такое. В колонке поиск не катит - там номера документов с префиксами.
1 Попытка1С
 
30.11.12
15:38
При вводе куда? Должна выделяться, теоритически
2 Aleksey
 
30.11.12
15:39
число (4,2)  это как?
заказ номер 125,25?
3 YaroslavStr
 
30.11.12
15:40
(2) Ошибся, извини. Число (4).
4 Mikeware
 
30.11.12
15:40
Дробный номер заказа - это круто
5 Mikeware
 
30.11.12
15:41
хотя зашибись - заказом является интеграл заказов с номерами от целого до последующего числа...
6 Aleksey
 
30.11.12
15:41
к тому же сам сказал номер с префиксом, плюс нумерация на год

т.е. что он должен найти по номеру 25? Заказ с номером 25,25 прошлого года? А если префиксы разные он какой заказ должен выделить? т.е. А0025 или Б0025?
7 YaroslavStr
 
30.11.12
15:41
(1) Вводишь номер заказа, а на в общем журнале заказов выделяется или активизируется (?) строка с этим документом "заказ".
8 Mikeware
 
30.11.12
15:42
(7) и в чем проблемы?
9 YaroslavStr
 
30.11.12
15:42
(6) Должен найти заказ только этого года.
10 YaroslavStr
 
30.11.12
15:43
(8)Не выделяет строку.
11 1Сергей
 
30.11.12
15:47
(9) выбрать период, не?
12 Хряк
 
30.11.12
15:47
одни эмоции и словоблудие
показывай как ищешь
13 YaroslavStr
 
30.11.12
15:48
при открытии уже выбран интервал, сделан отбор по типу документа, сделан отбор по складу, теперь осталось при вводе номера в реквизит активизировать строку с искомым заказом.
14 Mikeware
 
30.11.12
15:52
Активизируй через ложное закрытие формы:
------
в ПоискДокумента (сзд - сз со списком доков):
Если сзд.размерСписка() > 0  Тогда
   выбЗн=0;
Если сзд.РазмерСписка()=1 Тогда
       МожноЗакрыть=0;
       ВыбДок=сзд.ПолучитьЗначение(1);  
       Форма.Закрыть(0);
   иначе
       Если сзд.ВыбратьЗначение(выбЗн,"найденные документы",,,0)=1 Тогда
           МожноЗакрыть=0;                                              
           ВыбДок=выбЗн;                                                
           Форма.Закрыть(0);
       КонецЕсли;        
   КонецЕсли;
иначе
   Предупреждение("Не найдено!");
КонецЕсли;

КонецПроцедуры // ПоискДокумента()


Процедура ПриЗакрытии()
   Если МожноЗакрыть=0 тогда
         //+MS@П+, 2006-06-03 17:42:44 // Если выбранный документ не попал в интервал, меняем интервал
         ДатаВыбДок=ВыбДок.ДатаДок;
         Если ДатаВыбДок<НачалоИнтервала() Тогда
                 УстановитьИнтервал(ДатаВыбДок,КонецИнтервала());
         КонецЕсли;
         Если ДатаВыбДок>КонецИнтервала() Тогда
                 УстановитьИнтервал(НачалоИнтервала(),ДатаВыбДок);
         КонецЕсли;

         АктивизироватьОбъект(ВыбДок);
         Активизировать("НомерДок");
         СтатусВозврата(0);
         МожноЗакрыть=1;
         Возврат;
    КонецЕсли;
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший