Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Работа со Списком документов (проблемы с сортировкой)

Работа со Списком документов (проблемы с сортировкой)
Я
   Nysha1210
 
02.09.20 - 16:38
Всем привет. У нас 1С 8.3 УТП 1.2. Сейчас меняем под себя.

Дано - Список документов Заказ. Нужно по номеру заказа автоматом открыть нужный документ на экране.

Как реализовано - в форме Список заказов введено поле вода, где оператор вводит номер заказа и нажимает Enter. На экране открывавется форма документа нужного заказа (всё ок). После этого оператор делает то что нужно и закрывает заказ. НО, при попытке повторной активации поля ввода (нужно открыть тот же самый документ) - ничего не происходит(((( Если изменить номер заказа для поиска - всё ок, но оператору неудобно всё время набивать тот номер, который уже и так есть в поле ввода.

Поиск:
Процедура ПолеВвода1ПриИзменении(Элемент)
    
    //поиск по номеру заказа
    Если Элемент.Значение>0 then
        
        ДокТек = Документы.ЗаказПокупателя;
        НайдДок=ДокТек.НайтиПоНомеру(Элемент.Значение,);
        
        Если НайдДок=ДокТек.ПустаяСсылка() тогда
            Сообщить("Заказа с таким номером не существует.");
        иначе
            Док=НайдДок.ПолучитьОбъект();
            Форма = Док.ПолучитьФорму("ФормаДокумента");
            Форма.Открыть();  
        КонецЕсли;
    Endif;
КонецПроцедуры

Как это решить?
Спасибо
   mikecool
 
1 - 02.09.20 - 16:43
лови - какие события отрабатывают при активации поля
но - лучше кнопку для открытия повесить
   mikecool
 
2 - 02.09.20 - 16:44
и при чем здесь сортировка?
   Nysha1210
 
3 - 02.09.20 - 16:45
Упс хотела ещё один вопрос написать((( - Как отключить при открытии сортировку по дате автоматическую?
   Nysha1210
 
4 - 02.09.20 - 16:47
Просто нужно этот же список открыть с сортировкой по другому параметру, но, он открывается упорно с сортировкой по реквизиту Дата.

Процедура ПриОткрытии() 
    
        ЭлементыФормы.Список.НастройкаОтбора.Проведен.Доступность = Истина; 
        ЭлементыФормы.Флажок2.Значение=истина;
        ЭлементыФормы.Флажок1.Значение=истина;
        ЭлементыФормы.Флажок3.Значение=истина;    
        ЭлементыФормы.Список.НастройкаПорядка.ДатаСП.Доступность=истина;
        ДокументСписок.Порядок.Установить("ДатаСП");
        НастройкаСписка=ЭлементыФормы.Список.СтандартныйПериод;
        НастройкаСписка.УстановитьПериод(НачалоГода(ТекущаяДата()),КонецМесяца(ТекущаяДата()));
        //НастройкаСписка.УстановитьПериод(НачалоМесяца(ТекущаяДата()),КонецМесяца(ТекущаяДата()));

        
КонецПроцедуры
   Nysha1210
 
5 - 02.09.20 - 16:48
(1) в 1С 77 всё работает без проблем правильно.
   Nysha1210
 
6 - 02.09.20 - 16:51
(1) я уже во все действия пробовала вставить код открытия заказа, но ничего не подходит((( Пока поле не изменишь - процедура не работает.
   Ёпрст
 
7 - 02.09.20 - 16:58
(6) либо рядом кнопку с лупой (типа поиск), либо после удачного поиска очищай поле
   Nysha1210
 
8 - 02.09.20 - 17:00
(7) Больше вариантов нет? Почему в 1С 77 повторный поиск работает тогда?
   mikecool
 
9 - 02.09.20 - 17:01
(8) в семерке отрабатывает поиск если ткнуть мышью в поле? или там сендкей настроен?
   mikecool
 
10 - 02.09.20 - 17:02
одна из черепашек врет
   Nysha1210
 
11 - 02.09.20 - 17:03
(9) в поле поместила курсор и нажала Enter - поиск работает по одному значению хоть 10 раз(((
   Nysha1210
 
12 - 02.09.20 - 17:07
(9) (11) а в 8 - только 1 раз срабатывает, потом курсор переходит на след поле при нажатии на Enter((((
   vova1122
 
13 - 02.09.20 - 17:08
Так процедура называется ПолеВвода1 ПРИ ИЗМЕНЕНИИ. А когда ткнуть просто мышкой инажать Ентер, никакого изменения в поле ввода не произойдет. Можно тупо удалить последний символ и ввести его снова, тогда сработает ПриИзменении
   Nysha1210
 
14 - 02.09.20 - 17:10
(13) Щас попробую, спс. Я в другие действия тоже пробовала - не помогло (((( и Обработка выбора, и т.д.
   mikecool
 
15 - 02.09.20 - 17:14
(11) так все таки есть Ентер, да, в семерке при каждом ентере срабатывало ПриИзменении
   Nysha1210
 
16 - 02.09.20 - 17:19
(15) В 8 тот же Enter - но это не работает(((
   Ёпрст
 
17 - 02.09.20 - 17:21
(16) ибо изменения поля нет
   Nysha1210
 
18 - 02.09.20 - 17:22
(17) понимаю(((
   D_E_S_131
 
19 - 02.09.20 - 17:25
(16) Потому что делать стали как в 7.7. Делали бы по "восьмерошному", проблем не было бы. В "Найти" вводим номер, курсор сам встает на документ в списке и Enter уже открывает сам документ. Поработали и закрыли - курсор никуда не девается и повторное нажатие на Enter опять откроет тот же документ.
   Nysha1210
 
20 - 02.09.20 - 17:26
(13) не помогло(((
   Nysha1210
 
21 - 02.09.20 - 17:27
(19) это было бы возможно, но, период в журнале открыт свой, например, 2020 год - а документ может быть с 2019 года, так что в списке его нет и быть не может(((
   vova1122
 
22 - 02.09.20 - 17:29
(20) Только что специально проверял. ввел в поле ввода значение. После Ентер сработало ПриИзменении. В поле ввода удалил последний символ и ввел его же снова. Нажал Ентер Опять сработало
   Nysha1210
 
23 - 02.09.20 - 17:31
(22) вы ввели его вручную? Мои не хотят с клавиатуры что то вводить - нужно что бы сработало автоматом(((
   Ёпрст
 
24 - 02.09.20 - 17:33
(23) рядом маленькую кнопку с картинкой лупой..в ней событие которое в ПриИзменении
   Ёпрст
 
25 - 02.09.20 - 17:33
усё
   Nysha1210
 
26 - 02.09.20 - 17:35
(24) какое событие срабатывает при Активизации поля ВВода мышей?
   Nysha1210
 
27 - 02.09.20 - 17:35
(24) А как с сортировкой хоть вопрос решить?
   vova1122
 
28 - 02.09.20 - 17:38
(26) Так тебе же ответили. Никакая не сработает. И прислушайся к совету   Ёпрст. Он плохого не посоветует
   Nysha1210
 
29 - 02.09.20 - 17:40
(28)Спс, только к моим ответам не хочет прислушаться руководство - у них какой принцып - раз в 77 было, вынь и положь тоже самое в 8.3((( Может хоть с сортировкой поможете, плиз?
   Ёпрст
 
30 - 02.09.20 - 17:40
(27) ТвойСписок.Порядок.Установить("РеквизитТвой Возр")
 
 Рекламное место пустует
   Ёпрст
 
31 - 02.09.20 - 17:40
не работает разве ?
   Nysha1210
 
32 - 02.09.20 - 17:41
(31) Живой код - не работает(((
Сортирует всё равно по Полю Дата
Процедура ПриОткрытии() 
    
        ЭлементыФормы.Список.НастройкаОтбора.Проведен.Доступность = Истина; 
        ЭлементыФормы.Флажок2.Значение=истина;
        ЭлементыФормы.Флажок1.Значение=истина;
        ЭлементыФормы.Флажок3.Значение=истина;    
        ЭлементыФормы.Список.НастройкаПорядка.ДатаСП.Доступность=истина;
        ДокументСписок.Порядок.Установить("ДатаСП");
        НастройкаСписка=ЭлементыФормы.Список.СтандартныйПериод;
        НастройкаСписка.УстановитьПериод(НачалоГода(ТекущаяДата()),КонецМесяца(ТекущаяДата()));
        //НастройкаСписка.УстановитьПериод(НачалоМесяца(ТекущаяДата()),КонецМесяца(ТекущаяДата()));


        
КонецПроцедуры
   vova1122
 
33 - 02.09.20 - 17:42
(29) Так обясни руководству что это разные программы, хоть и называются 1С. Это типа как MS Ворд и Ексель. Они же не требують чтобы в ворде также работали формулы как в Екселе
   Nysha1210
 
34 - 02.09.20 - 17:50
(33) Сдалась, сделала кнопки((( А как быть с сортировкой?
   vova1122
 
35 - 02.09.20 - 18:08
(34) должно работать.
ДокументСписок.Порядок.Установить("ДатаСП");
Может поставить ее последней строкой
   vova1122
 
36 - 02.09.20 - 18:08
ДатаСП - это реквизит Документа?
   Nysha1210
 
37 - 03.09.20 - 10:56
(36) Да
   ChiginAV
 
38 - 03.09.20 - 11:18
(0)
1) Событие "ОкончаниеВводаТекста" вместо "ПриИзменении"
2) В режиме предприятия жмем "Отбор и сортировка", выбираем по какому реквизиту сортируем, ставим галку "Использовать эту настройку при открытии"
   Nysha1210
 
39 - 03.09.20 - 14:30
(38) 1) не работает (((
   vova1122
 
40 - 03.09.20 - 14:44
(39) ну небудет работать так как хочешь только кнопкой
   Nysha1210
 
41 - 04.09.20 - 12:32
По сортировке - решение найдено:
Процедура ПриОткрытии()
        ЭлементыФормы.Список.НастройкаОтбора.ДатаОплаты.Доступность = Истина;        
        НачалоПериода = НачалоМесяца(ТекущаяДата());
        КонецПериода = КонецМесяца(ТекущаяДата());
        ЭлементОтбора=ДокументСписок.Отбор.ДатаОплаты;
        ЭлементОтбора.Использование = Истина;
        ЭлементОтбора.ЗначениеС        = НачалоПериода;
        ЭлементОтбора.ЗначениеПо    = КонецПериода;
        ЭлементОтбора.ВидСравнения    = ВидСравнения.ИнтервалВключаяГраницы;
        ЭлементОтбора.Использование = Истина;
КонецПрицедуры

Такю же процедуру повесила на отдельную кнопку Сортировки.

Всем Спасибо за помощь.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.