|
|
|
Как получить из какой формы списка создается новый элемент справочника? | ☑ | ||
|---|---|---|---|---|
|
0
WED
17.11.08
✎
23:12
|
Дано:
Иерархический справочник. Две формы списка (А и б) При создании нового элемента нужно узнать из какой формы списка произведено создание и назначить нужное значение одного из реквизитов. Пробовал сделать так: Редактирование обоими способами (диалог и в списке) При открытии формысписка устанавливаем режим редактирования в списке. При вводе строки в форме списка: Конт = Нужное значение реквизита ОткрытьФорму("Элемент.МойСправочник, Конт) А в форме элемента анализирую Форма.Параметр Данный метод не подходит потому что нельзя узнать что создается - новый элемент или новая группа, в обоих случаях срабатывает ПриВводеСтроки в форме списка. Вопрос: как при создании элемента справочника узнать из какой формы списка он создается? |
|||
|
1
Дядя Васька
17.11.08
✎
23:14
|
Если ЭтоГруппа()=0 Тогда
Возврат; КонецЕсли чем не устраивает? |
|||
|
2
WED
17.11.08
✎
23:15
|
(1) И у чего это я должен проверить?
|
|||
|
3
Defender aka LINN
17.11.08
✎
23:16
|
(0) А если он программно создается, то как тогда быть?
|
|||
|
4
WED
17.11.08
✎
23:16
|
(3) Программно он не создается. Однозначно.
|
|||
|
5
Дядя Васька
17.11.08
✎
23:17
|
(2) Ну, там где ОткрытьФорму() воткнул, если группа, стал быть никаких извратов, ФлагСтандартнойОбработки=1..
|
|||
|
6
WED
17.11.08
✎
23:19
|
Показываю код из формы списка справочника, может так понятней будет
//************************************************************************ Процедура ПриОткрытии() РедактироватьВДиалоге(0,0); КонецПроцедуры //ПриОткрытии //************************************************************************ Процедура ПриВводеСтроки() Конт = Перечисление.ВидыНоменклатуры.РасходныйМатериал; ОткрытьФорму("Элемент.Номенклатура",Конт, Родитель); СтатусВозврата(0); //Вот собственно здес:9и засада - не знаю что надо создать элемент или группу :( КонецПроцедуры //ВводНового Код из формы элемента: //************************************************************************ Процедура ВводНового() Парам = Форма.Параметр; Если ТипЗначенияСтр(Парам)<>"Перечисление" Тогда Предупреждение("Неверный формат данных!"); Статусвозврата(0); Возврат; КонецЕсли; ВидНоменклатуры = Форма.Параметр; КонецПроцедуры //ВводНового |
|||
|
7
WED
17.11.08
✎
23:21
|
Всё это тестово, ищу способ достижения цели: при создании нового элемента узнать из какой формы списка справочника он создается и присвоить нужное значение у реквизит ВидНоменклатуры.
|
|||
|
8
Defender aka LINN
17.11.08
✎
23:24
|
(4) Блажен, кто верует...
|
|||
|
9
WED
17.11.08
✎
23:25
|
(8) Конфа самописная. Мной. 3 документа, 6 справочников. 1 регистр. несколько отчетов. Всё. Кому там программно его создавать? :)
|
|||
|
10
Джордж Вашингтон
17.11.08
✎
23:32
|
Всё правильно делаешь, другого способа нет. Добавь отдельную кнопку создания группы на форму и забудь. Или же ломай панель с помощью ВК каких-либо - я не заморачивался...
|
|||
|
11
WED
17.11.08
✎
23:35
|
(10) Есть еще 2 метода: один, через ж... точнее через глобальную переменную... но не уверен что он будет работать при открытии обеих форм...
второй - сделать предопределенные группы и задать у них нужное значение реквизита, а при создании элемента брать значение из родителя... но это тоже через ж... :( |
|||
|
12
WED
17.11.08
✎
23:36
|
Вот наверное по второму пути пойду.. через группы :(
|
|||
|
13
foxey
17.11.08
✎
23:36
|
Что-то я не понял сути проблемы... Есть две формы списка справочника. А при чем тут папки и элементы? Чем эти две формы отличаются друг от друга принципиально, что надо знать, откуда вызов был на создание?
|
|||
|
14
WED
17.11.08
✎
23:37
|
(13) Формы отличаются:
1. Количеством показываемых колонок (реквизитов) 2. Отборами, устанавливаемыми при открытии |
|||
|
15
Джордж Вашингтон
17.11.08
✎
23:37
|
Первое штатно не будет работать - тока если с помощью ВК активное окно ловить... Второе не догнал :-)
|
|||
|
16
WED
17.11.08
✎
23:42
|
(15) Объясняю второе:
1. У групп и у элементов есть реквизит: ВидНоменклатуры. 2. Создаем в корне справочника две "изначальные" группы, и прописываем в них нужные значения этого реквизита. Эти группы не даем ни удалить, ни изменить. Аналог предопределенных элементов справочника из восьмерки. 3. У всех новых дочерних элементов и групп значение реквизита берем из родителя. |
|||
|
17
Дядя Васька
17.11.08
✎
23:47
|
Замени ПриВводеСтроки() на ПриРедактированииНовойСтроки(), тогда заработает и ЭтоГруппа() и Родитель, и т.п.
|
|||
|
18
WED
17.11.08
✎
23:48
|
эммм... Как сделать чтобы УстановитьОтбор(..) распространялся и на группы ? :)
|
|||
|
19
Falcon
17.11.08
✎
23:49
|
(11) формекс поможет...
|
|||
|
20
WED
17.11.08
✎
23:49
|
(17) пробовал, не понравилось, ибо визуально видно создание новой строки и плюсом открывается форма нового элемента...
|
|||
|
21
Falcon
17.11.08
✎
23:49
|
(17) попробывал сначала бы... или все ещё в электричке?
|
|||
|
22
WED
17.11.08
✎
23:50
|
(21) Ну вообще-то попробовал уже. О какой электричке речь?
|
|||
|
23
Джордж Вашингтон
17.11.08
✎
23:50
|
(17) Заработает, тока эскэйп придется жать после ввода нового...
|
|||
|
24
WED
17.11.08
✎
23:50
|
+22. Упс, это не мне было..
|
|||
|
25
Falcon
17.11.08
✎
23:50
|
+19 если религия против ВК, тогда ввод нового элемента - одна кнопка, ввод группы - другая кнопка...
|
|||
|
26
Falcon
17.11.08
✎
23:51
|
(22) все правльно говоришь... ПриРедактировании вызывается уже ПОСЛЕ создания строки в справочнике.... просто видимо не все это знают....
|
|||
|
27
Дядя Васька
17.11.08
✎
23:53
|
(22) Не обращай внимания, это долпоеп...
|
|||
|
28
WED
17.11.08
✎
23:54
|
(25) Против ВК не религия, просто не интересно ради одной фишки в такой маленькой конфе подключать что-то внешнее...
|
|||
|
29
Falcon
17.11.08
✎
23:54
|
(27) как то все указывает на обратное.... :)) впрочем достаточно попробывать притворить твои дельные советы.. чтобы в этом убедиться...
|
|||
|
30
WED
17.11.08
✎
23:54
|
(27)(29) Стоп парни. Не здесь, ладно?
|
|||
|
31
Дядя Васька
17.11.08
✎
23:55
|
(23) Н-дя.. СтатусВозврата() не спасает :(
|
|||
|
32
Falcon
17.11.08
✎
23:55
|
(28) ну тогда, запрещай ВводНовых...
и создавай две кнопки 1. создатьЭлемент(), 2. СоздатьГРуппу().... |
|||
|
33
Дядя Васька
17.11.08
✎
23:55
|
Интересно его забанят когда-нить, или все модеры в отпуске?
|
|||
|
34
Falcon
17.11.08
✎
23:55
|
(30) ну ты посмотри кто у нас начинает переходить на личности... и всё станет ясно....
(31) да ты что?? |
|||
|
35
WED
17.11.08
✎
23:56
|
(31) Угу, это я сразу проверил.
(32) Изврат :( Вобщем придется сделать так: Жаль, но придется отказаться от разных форм списка. просто потому что группы не подаются отбору - не скрываются :( И делать через контроль реквизита в создаваемом элементе с помощью "изначальных" родительских групп Песец..:(( |
|||
|
36
Дядя Васька
17.11.08
✎
23:56
|
(34) В в ветке про дубли ты обосрал автора, и всех кто ему ответил. Я дал правильный ответ. На что еще смотреть?
|
|||
|
37
Falcon
17.11.08
✎
23:57
|
(35) ну ты бы идею всю рассказал бы... тогда можно было бы предложить что-то более не извращенное.. а так...
|
|||
|
38
Falcon
18.11.08
✎
00:00
|
(36) Вася, успакойся... ты мне не интересен... в ветке про дубли, я никого не обсирал, и вобще не имею такой привычки (в отличии от тебя)... просто придумал интересный ход.. о чём и сообщил добравшись до компа... поэтому твой высер там мне вообще не понятен... пойми не с тобой общался.... как в прочем и в прошлый раз, когда ты влез в обсуждения ИспользованияСписка и в итоге что?
так что иди своей дорогой, и не мешай мне ходить моей... |
|||
|
39
WED
18.11.08
✎
00:02
|
(37) Ну идея проста как 5 копеек:
Есть справочник Номенклатура. Номенклатура бывает 2-х видов: Услуга, Расходник. У услуги есть куча реквзитов, которых нет у расходника. Формы списка нужны только для того, чтобы красиво показать услуги и расходники. При создании нового элемента надо сразу прописывать его вид хотя бы для того чтобы пользователи не путались и не терялись. И точно найдется уродец, создавший несколько раз расходник просто потому что создавал его в форме списка услуг и не видел только что созданный элемент. |
|||
|
40
WED
18.11.08
✎
00:03
|
+39: ...и не видел только что созданный элемент из-за включенного отбора по виду номенкатуры
|
|||
|
41
WED
18.11.08
✎
00:04
|
А раз УстновитьОтбор на группы не работает, то придется либо через ИспользоватьСписок делать, либо вообще отказаться от форм..
|
|||
|
42
WED
18.11.08
✎
00:08
|
Причем УстановитьОтбор работает на группы, если отключить иерархический список.. ппц.. долбаная 7ка :(
|
|||
|
43
Джордж Вашингтон
18.11.08
✎
00:09
|
(39) Идея №2 :--) Есть 2 типа номенклатуры, по ним включен предопределенный отбор... Типа один для секретарши - "Внутрифирменная номенклатура", второй для менеджера по заказу - "Номенклатура поставщиков"... Где-то в процессе "Туалетная бумага для офиса - много какаем" превращается в "Т.б. 54 метра", а "Т.б. для очень нежных (вырезано недоматофильтром)" превращается в "Туалетная бумага ЭкстраСуперУльтроШик (вырезано антирекламным фильтром)".... И они все, (матофильтр), хотят вводить новые элементы....
П.С. при программном создании не забудь в форме списка фокус устанавливать на вновьсозданный элемент, а то он уезжает чёрт знает куда... |
|||
|
44
Falcon
18.11.08
✎
00:09
|
(39) ну это можно запретить создавать услуги не в услугах...
а вот про остальное надо подумать.... |
|||
|
45
Дядя Васька
18.11.08
✎
00:12
|
В форме элемента в в начале модуля переменную: Перем ЭтоНовый; далее
Процедура ВводНового() ЭтоНовый=1; КонецПроцедуры Процедура ПриЗакрытии() wsh = CreateObject("wScript.Shell"); wsh.SendKeys(Симв(27)); КонецПроцедуры |
|||
|
46
WED
18.11.08
✎
00:13
|
(43) эмм... ниасилил, многа букв :)))
(44) про что именно? |
|||
|
47
Дядя Васька
18.11.08
✎
00:13
|
(45) "далее", не в модуле, это продолжение предложения, а то Falcon опять пернет...
|
|||
|
48
WED
18.11.08
✎
00:14
|
(45) Это ты в продолжение идеи о (17) ?
|
|||
|
49
Дядя Васька
18.11.08
✎
00:15
|
(38) Маша в той ветке про фильтры я не про список говорил, а про остатки, про заднее число. Только я тебе про Фому, а ты про Ерему...
|
|||
|
50
Дядя Васька
18.11.08
✎
00:16
|
(48) Ну да, ESC нажимать не придется, само нажмет, осталось только придумать как сделать чтобы не могли в строку залезть
|
|||
|
51
Дядя Васька
18.11.08
✎
00:16
|
+(50) Надо как-то Доступность(0) сделать
|
|||
|
52
Дядя Васька
18.11.08
✎
00:18
|
Хотя не, ПриЗакрытии() не айс, охошками пощелкают, не туда "эскейпнит"...
|
|||
|
53
WED
18.11.08
✎
00:18
|
(50) Я уже отказался от разных форм списка.. ибо УстановитьОтбор не скрывает группы, а значит смысла в разных формах нет... :(
|
|||
|
54
Джордж Вашингтон
18.11.08
✎
00:22
|
(53) а ты иерархию снимай :--)
|
|||
|
55
WED
18.11.08
✎
00:26
|
(54) Херня получается :)
|
|||
|
56
GrayT
18.11.08
✎
00:28
|
(54)Миша? =-O
|
|||
|
57
Дядя Васька
18.11.08
✎
00:30
|
(53) А что тебе мешает завести в группах тот же реквизит ВидНоменклатуры, и так же по нему фильтровать?
|
|||
|
58
Джордж Вашингтон
18.11.08
✎
00:30
|
(56) Чё так удивленно? Я вроде не скрываюсь :--) Мог бы и позвонить даже, дабы уточнить :--)
|
|||
|
59
Джордж Вашингтон
18.11.08
✎
00:31
|
(55) Не, ну ты можешь реквизит "для группы и элемента" сделать и по нему отбор включать - попробуй на досуге :-)
|
|||
|
60
WED
18.11.08
✎
00:36
|
(59) Ты наверное удивишься, но именно так я и сделал ревизит: Для обоих!
И удивился когда для установленного у группы значение реквизита отбор не сработал! |
|||
|
61
Джордж Вашингтон
18.11.08
✎
00:37
|
(60) да, может запамятовал, помню краем, что как-то там не так немного :--)
|
|||
|
62
WED
18.11.08
✎
00:37
|
+(60) Как показал эксперимент - отбор для групп работает только при отключенной иерархии...
|
|||
|
63
Джордж Вашингтон
18.11.08
✎
00:45
|
(62) да, точно :--) не даром я тебе 54 советовал.... хоть и на абсолютно синем глазу, а мастерство сам знаешь :-)
|
|||
|
64
WED
18.11.08
✎
00:47
|
(63) угу, только проблему не решает :)
Ладно, тему можно закрыть. Вопрос снят всязи с изменением начальных условий. |
|||
|
65
Дядя Васька
18.11.08
✎
01:05
|
Вообще-то самое правильное сделать два справочника, а в документе реквизит справочник не определенного вида, и уже там как-то извращаться, откуда подбирать.
|
|||
|
66
Дядя Васька
18.11.08
✎
01:05
|
не определенного = неопределенного
|
|||
|
67
WED
18.11.08
✎
01:06
|
(65) Да ну изъе.ство только лишнее :)
Потом в отчетах это учитывать... там вся конфа из 3 докуентов и 6 справочников...овчинка выделки... |
|||
|
68
Джордж Вашингтон
18.11.08
✎
01:13
|
(66) + "самое правильное" запятыми обрамить, а между "документе" и "реквизит" тире, а после "справочник" хорошо бы слово "типа" или в ковычки "неопределенного вида" и крайняя запятая по ходу не нужна :--)
|
|||
|
69
Дядя Васька
18.11.08
✎
01:15
|
(68) Заметно что принял :) Был бы ты Стас, ща бы разгромил ))
|
|||
|
70
WED
18.11.08
✎
01:18
|
(68)(69) От вам делать нех :)
|
|||
|
71
Джордж Вашингтон
18.11.08
✎
01:19
|
(69) не догнал... кого разгромил? а не Стас ли я? (наливая нетвердой рукой) ;--)
|
|||
|
72
Дядя Васька
18.11.08
✎
01:35
|
(70) Да Волшебник просто известный борец за чистоту языка, только поправляет не всегда в тему, и сам тоже лажает. При помощи яндекса легко ловится )
|
|||
|
73
Дядя Васыка
18.11.08
✎
02:24
|
слишком общий вопрос чтоб конкретно отвечать.
хочешь оптимизации - напиши экспорт вручную (т.е. вручную используй мехаинзмы универсального обмена). А если нечто среднего - что мешает сделать замер производительности и на проблемных участках(данных) отключать-включать режим главного-подчиненного (то есть именно их запустить по механизму "ручного" в обход РИБа)? |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |