![]() |
![]() |
![]() |
|
В документе в полеввода чтоб открывался список только непроведенных документов | ☑ | ||
---|---|---|---|---|
0
AnisaL
15.02.13
✎
09:41
|
Добрый день форумчане) В документе есть полеввода типа ДокументСсылка.Смета, при выборе из этого поля открывается список смет. Как сделать чтоб открывались только непроведенные документы?
|
|||
1
ICWiner
15.02.13
✎
09:43
|
Отборы используй
|
|||
2
AnisaL
15.02.13
✎
09:44
|
(1) Вот так форма выбора открывается
ФормаС = Документы.Смета.ПолучитьФормуВыбора(); ФормаС.ВладелецФормы = ЭтаФорма; формаС.ЭлементыФормы.Найти("ПолеВвода1").Значение = ЭтотОбъект.Клиент.Ссылка; значение = ФормаС.ОткрытьМодально(); |
|||
3
AnisaL
15.02.13
✎
09:45
|
(1) В момент открытия формы?
|
|||
4
AnisaL
15.02.13
✎
09:50
|
(1) Ситуация осложняется тем, что в ФормеВыбора в событии ПриОткрытии стоит уже отбор на непроведенные документы, но пользователь ведь может снять этот отбор, тогда как?
|
|||
5
AnisaL
15.02.13
✎
09:56
|
В итоге нужно чтоб программа не давала выбрать проведенную смету, выдавалось сообщение
|
|||
6
kosts
15.02.13
✎
09:57
|
Запрещай выполнять действие если пользователь выбрал проведенный.
|
|||
7
НЕА123
15.02.13
✎
09:58
|
у списка есть НастройкаОтбора. там можно запретить, кажись.
|
|||
8
kosts
15.02.13
✎
09:59
|
(6), это универсальнее. Т.к. выбрать документ можно через ввод по строке (без формы).
|
|||
9
НЕА123
15.02.13
✎
09:59
|
(6) тоже неплохо.
|
|||
10
НЕА123
15.02.13
✎
10:00
|
(8)+1
точно. про ввод по строке забыл. |
|||
11
Wobland
15.02.13
✎
10:00
|
похоже, я никогда не прекращу цитировать...
ЭлементыФормы.Контрагенты.Значение.Отбор.Ссылка.Использование=Истина; ЭлементыФормы.Контрагенты.Значение.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВСписке; ЭлементыФормы.Контрагенты.Значение.Отбор.Ссылка.Значение=СписокКонтрагентов; |
|||
12
kosts
15.02.13
✎
10:01
|
Если у тебя форма документа, то запрещай проведение
|
|||
13
Serg_1960
15.02.13
✎
10:03
|
"похоже, я никогда не прекращу цитировать..." :) Доступность?
|
|||
14
Wobland
15.02.13
✎
10:03
|
(13) возможно. мне не нужно было
|
|||
15
Serg_1960
15.02.13
✎
10:07
|
(14) Тебе не нужно было - это твоё личноедело :) Но автор именно про "это" спрашивал в (4).
|
|||
16
Wobland
15.02.13
✎
10:09
|
(15) а, ну тогда доступность, да ;)
|
|||
17
AnisaL
15.02.13
✎
10:10
|
(6) а как? я уже все события перепробовала, куда прикрутить?
|
|||
18
kosts
15.02.13
✎
10:11
|
(17) Проведение своего документа запрещай и все дела.
|
|||
19
kosts
15.02.13
✎
10:11
|
(18) Или даже запись...
|
|||
20
НЕА123
15.02.13
✎
10:12
|
ПРиИзменении()
? |
|||
21
AnisaL
15.02.13
✎
10:12
|
(18) Но это ведь проще всего, а вот чтобы после выбора сметы ругался, а не когда запись или проведение можно?
|
|||
22
AnisaL
15.02.13
✎
10:14
|
(20) не катит( ПриИзменении открывается когда я вручную ввожу документ, а если из списка выбирается, тогда как?
|
|||
23
AnisaL
15.02.13
✎
10:15
|
(11) Это я не поняла к чему ?)
|
|||
24
НЕА123
15.02.13
✎
10:20
|
(22) ПриИзменении срабатывает при интерактивном изменении.
если программно, то проверить перед присвоением. или что? |
|||
25
Serg_1960
15.02.13
✎
10:23
|
AnisaL , не совсем понял Вас :(
(4) "ФормеВыбора в событии ПриОткрытии стоит уже отбор на непроведенные документы, но пользователь ведь может снять этот отбор, тогда как?" - вот Вам пример из типовой, как можно запретить изменять значение отбора(внимание на последнюю строку): ФормаВыбора.СправочникСписок.Отбор.Организация.Значение = Организация; ФормаВыбора.СправочникСписок.Отбор.Организация.Использование = Истина; ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения = ВидСравнения.Равно; ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Организация.Доступность = Ложь; |
|||
26
AnisaL
15.02.13
✎
10:27
|
(24) а это в какой процедуре?или событии?
|
|||
27
kosts
15.02.13
✎
10:27
|
(26) При открытии.
Если форма выбор типовая, то запрет отбора можно не делать, а ограничиться только запретом в собитии ПриИзменении() |
|||
28
AnisaL
15.02.13
✎
10:33
|
(25) К сожалению форма нетиповая, в ней в событии ПриОткрытии стоит отбор на непроведенные, но пользователь может снять отбор и выбрать весь список.
|
|||
29
AnisaL
15.02.13
✎
10:34
|
(27) я уже писала ПриИзменении не срабатывает(
|
|||
30
Wobland
15.02.13
✎
10:35
|
(28) ещё раз перечитай
|
|||
31
Serg_1960
15.02.13
✎
10:35
|
Уф... что-то я уже усталс вами :)
Если у поля ввода есть событие НачалоВыбора(), то логично предположить наличие события ОбработкаВыбора(), где и нужно делать контроль выбранного значения. При чём тут другие события документа. И, кстати, ПриИзменении() срабатывает тогда, когда значение поля ввода уже изменилось! |
|||
32
AnisaL
15.02.13
✎
10:36
|
(31) у меня не срабатывает(( я уже сама устала (
|
|||
33
kosts
15.02.13
✎
10:39
|
Я бы примерно так сделал
|
|||
34
Serg_1960
15.02.13
✎
10:40
|
(32) И я об этом же говорю.
(33) ПриИзменении() - это не "то" событие, где можно отказаться от изменения :( AnisaL , ОбработкаВыбора() - Ваш выбор! :) |
|||
35
kosts
15.02.13
✎
10:43
|
(34) Только если ОбработкаВыбора() срабатывает при "выборе по строке"...
|
|||
36
AnisaL
15.02.13
✎
10:49
|
Ура! Удалось победить ) Сделала так:
Процедура ПолеВвода5НачалоВыбора(Элемент, СтандартнаяОбработка) // открываем формы списка смет СтандартнаяОбработка = Ложь; ФормаС = Документы.Смета.ПолучитьФормуВыбора(); ФормаС.ВладелецФормы = ЭтаФорма; формаС.ЭлементыФормы.Найти("ПолеВвода1").Значение = ЭтотОбъект.Клиент.Ссылка; значение = ФормаС.ОткрытьМодально(); смета = значение; Если значение <> Неопределено тогда Если Смета.Проведен = Истина тогда Вопрос("Нельзя прикрепить Наряд к проведенной Смете", РежимДиалогаВопрос.Ок); ЭлементыФормы.ПолеВвода5.Значение = Документы.Смета.ПустаяСсылка(); Иначе куратор = значение.куратор; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
37
AnisaL
15.02.13
✎
10:49
|
(34) В Обработке выбора тоже не получалось(
|
|||
38
Wobland
15.02.13
✎
10:51
|
(36) раз: ЭлементыФормы.ПолеВвода5.Значение =
два: куратор = ничего странного не видишь? |
|||
39
AnisaL
15.02.13
✎
10:52
|
(38) неа
|
|||
40
Wobland
15.02.13
✎
10:52
|
(39) синдром студента? путаешь данные с их визуальным представлением
|
|||
41
AnisaL
15.02.13
✎
10:53
|
(40) эту строку не я писала, поэтому не обращала внимания
|
|||
42
AnisaL
15.02.13
✎
10:54
|
(40) куратор - это данные, берется из Сметы, подставляется в ЗаказНаряд
|
|||
43
Wobland
15.02.13
✎
10:54
|
(41) я ветку, конечно, не читал, но кто тут сейчас это всё сочинял?
|
|||
44
AnisaL
15.02.13
✎
10:55
|
(43) Это два разных поля
|
|||
45
Serg_1960
15.02.13
✎
10:59
|
kosts, читаю СП...
ОбработкаВыбора() - "Возникает после выполнения выбора при: обработке выбора из списка выбора;...". Ты непутаешь с ОкончаниеВводаТекста()? ПриИзменении() - "Возникает после изменения значения поля ввода, то есть при переходе на другой элемент управления..." ЧЯДНТ? |
|||
46
AnisaL
15.02.13
✎
11:05
|
(45) ЧЯДНТ - что значит?
|
|||
47
Wobland
15.02.13
✎
11:07
|
(46) что я делаю не так
(45) ВТДТ, читать СП всегда так |
|||
48
AnisaL
15.02.13
✎
11:09
|
(47) ВТДТ - это че?
|
|||
49
Serg_1960
15.02.13
✎
11:11
|
(41) "эту строку не я писала"- :)
А строку "ЭлементыФормы.ПолеВвода5.Значение = Документы.Смета.ПустаяСсылка();" - ты писала? "ЭлементыФормы.ПолеВвода5" можно указать короче. А можно, вообще не писать. Ведь это начало выбора и стандартная обработка - ложь. (46) Сорри, это шпилька в адрес коллеги :) ЧтоЯДелаюНеТак - общепринятое сокращение. |
|||
50
Wobland
15.02.13
✎
11:11
|
(48) всё ты делаешь так
я уже потерял нить разговора. ЕМНИП, обработка выбора работает после осуществления выбора |
|||
51
AnisaL
15.02.13
✎
11:16
|
(50) Э, ну хватит тут уже ругаться своими непонятными словами !
|
|||
52
Wobland
15.02.13
✎
11:17
|
(51) ИМХО знать бы надо ;)
|
|||
53
Serg_1960
15.02.13
✎
11:20
|
Если автор спросит "Что такое имхо?" - тут такое начнётца... пятница короче будет всем.
|
|||
54
AnisaL
15.02.13
✎
11:22
|
(53) Пятница уже и так идет во всю:)))
|
|||
55
Wobland
15.02.13
✎
11:22
|
AnisaL, уважь людей, спроси. а то у меня аббревиатуры уже кончаются ;)
|
|||
56
AnisaL
15.02.13
✎
11:25
|
(55) Ты имеешь ввиду - поразвлекай людей -пусть поржут, так?)
|
|||
57
Serg_1960
15.02.13
✎
11:26
|
(54) Это не та "пятница". Вот где она - OFF: ПЯТНИЦА !!!!
|
|||
58
Wobland
15.02.13
✎
11:28
|
(56) вариант последующей вольной трактовки общеизвестного гневно отметаем?
|
|||
59
AnisaL
15.02.13
✎
11:35
|
(58) ну зачем же - ничего не отметаем) даем в массы
|
|||
60
kosts
15.02.13
✎
12:27
|
(45)
Но при "выборе документа по строке" событие ОбработкаВыбора() не возникает! Следовательно есть прямая возможность заиметь проблемы. Вот по теме: v8: Чем чревато право "Ввод по строке" Ввод по строке: http://v8.1c.ru/overview/PlUserInterface.htm |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |