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