|
v7: Добавление новой строки с выбором из справочника | ☑ | ||
---|---|---|---|---|
0
Масянька
24.01.14
✎
15:02
|
День добрый!
Хочу сделать свою кнопку по типу "новая строка" (2-ая таб. часть в документе): Процедура ПоКнопкеНоваяСтрока() Параметр = "Выбор"; ОткрытьФормуМодально("Справочник.Номенклатура.ДляВыбора", Параметр); мНомерСтр = СлужебнаяТаблица.КоличествоСтрок(); СлужебнаяТаблица.НоваяСтрока(); СлужебнаяТаблица.Номер = мНомерСтр + 1; СлужебнаяТаблица.Номенклатура = Параметр; КонецПроцедуры // ПоКнопкеНоваяСтрока Чёт не работает: справочник открывает, но как только "жмакаешь" по строчке - открывается элемент справочника. А мне нужно впихнуть ее в строку документа. Где косяк? Спасибо. |
|||
1
KishMish
24.01.14
✎
15:05
|
юзай ОткрытьПодбор
ОбработкаПодбора |
|||
2
Масянька
24.01.14
✎
15:06
|
(1) Они уже заюзаны.
Говорю же, хочу по типу "Новая строка" (кнопочка для работы с таб. частью). |
|||
3
KishMish
24.01.14
✎
15:08
|
(2)
Юзай процедуру ОткрытьПодбор для открытия формы справочника Юзай процедуру ОбработкаПодбора для добавления строки |
|||
4
Масянька
24.01.14
✎
15:09
|
(3) Да есть уже кнопка "Подбор" с подбором и обработкой подбора.
|
|||
5
KishMish
24.01.14
✎
15:10
|
(3)
ОткрытьФормуМодально("Справочник.Номенклатура.ДляВыбора", Параметр); просто открывает форму, двойно щелчок открывает элемент, поэмтоу открыватеяс форма элемента ОткрытьПОдбор - открывает форму для выбора, и передает выбранное значение в процедуру ОбработкаПодбора |
|||
6
KishMish
24.01.14
✎
15:10
|
а чем кнопка "Подбор" будет отличатся от кнопки "Новая строка"?
|
|||
7
KishMish
24.01.14
✎
15:12
|
Можно используюя
ОткрытьФормуМодально() , тада надо или создавать новую форму списка. Там сделать кнопку ВЫБРАТЬ Закрывать, с передачей параметра в Форма.Параметр. |
|||
8
Масянька
24.01.14
✎
15:20
|
(5) Да ладно.
А как же это работает? Процедура ПриНачалеРедактированияСтроки() Если Форма.ТекущаяКолонка() = "ТекстПокупатель" Тогда Параметр = "Выбор"; ОткрытьФормуМодально("Справочник.Контрагенты.ДляВыбора", Параметр); Контрагент = Параметр; Если Договор.Владелец <> Контрагент Тогда Договор = ""; КонецЕсли; ИначеЕсли Форма.ТекущаяКолонка() = "ТекстДоговор" Тогда Если Контрагент.Выбран() = 0 Тогда Параметр = "Выбор"; ОткрытьФормуМодально("Справочник.Контрагенты.ДляВыбора", Параметр); Контрагент = Параметр; КонецЕсли; Параметр = Контрагент; ОткрытьФормуМодально("Справочник.Договоры.ДляВыбора", Параметр); Договор = Параметр; КонецЕсли; КонецПроцедуры Типовой код |
|||
9
KishMish
24.01.14
✎
15:30
|
не знаю, могу лишь предположить что внутри предопределенной процедуры
ПриНачалеРедактированияСтроки() ОткрытьФормуМодально() открывается в режиме выбора |
|||
10
Chum
24.01.14
✎
15:44
|
ОткрытьФормуМодально() - за такое руки обрубают.
Есть, кстати, параметр, который отвечает за множественный подбор, т.е. после выбора строки форма не закрывается, чем обеспечивается множественный выбор. |
|||
11
varelchik
24.01.14
✎
15:52
|
(2-ая таб. часть в документе):
Круто. чем реализована? |
|||
12
varelchik
24.01.14
✎
15:53
|
в 7.7 насколько мне помнится только одна многострочная часть.
вы случаем с 8.х не путаете? |
|||
13
ЧеловекДуши
24.01.14
✎
15:54
|
(0) Лучше всего организовывать не выбор через Модальное окно, А через Подбор.
Модальное окошко маленькое и ни о чем :) |
|||
14
varelchik
24.01.14
✎
15:54
|
если все таки это 7.7 то используй ТабличноеПоле.
|
|||
15
Mikeware
24.01.14
✎
15:55
|
(14) советовал уже. не хочет...
|
|||
16
varelchik
24.01.14
✎
15:56
|
по крайней мере я использую для заполнения большого количества табличных частей на одной форме именно его.
|
|||
17
Масянька
24.01.14
✎
15:57
|
(14) (15) Я уже разобралась со служебным док-ом. Очень даже ничего.
(13) Говорю же - кнопка "Подбор" есть. Хочу типа по стандарту - добавить строку. (16) Дай пример. Желательно, для блондинок :))) Пожалуйста. |
|||
18
Масянька
24.01.14
✎
15:58
|
(16) Кстати, по поводу табличного поля - а как потом данные в отчеты собирать?
|
|||
19
Chum
24.01.14
✎
16:00
|
(11) что сложного?
Вариант 1: держать данные в табличной части, использовать реквизит для определения принадлежности строки к той или иной таблице. Применять танцы с переливкой ТЧ в ТЗ и обратно; вариант 2: создавать документ того же вида, но со смещением лет на 10 назад. Держать в нем данные второй и т.д. ТЧ. |
|||
20
Mikeware
24.01.14
✎
16:00
|
(18) данные-то у тебя в документах...
а табполе - росто способ доступа к документам |
|||
21
Mikeware
24.01.14
✎
16:01
|
(19) некрасиво. ну и небольшие сложности с определением "редактировался/нередактировался". хотя формексом это решается.
|
|||
22
Diter
24.01.14
✎
16:03
|
Выбрать() уже предлагали?
|
|||
23
Масянька
24.01.14
✎
16:05
|
(20) По-моему, поняла.
(22) Где? |
|||
24
Diter
24.01.14
✎
16:09
|
в коде.. где же ещё? ну типа
Спр.Выбрать(); и все собственно Спр=СоздатьОбъект("Справочник.Номенклатура"); Спр.ВыборГруппы(0); Спр.Выбрать(); Если пустоеЗначение(Спр.ТекущийЭлемент())=0 Тогда ТЗ.НоваяСтрока(); бла бла бла КонецЕсли; |
|||
25
varelchik
24.01.14
✎
16:12
|
стучись в аську кину простенький МД тама примеров фатает.
да и как организовавать у документов много табличных частей тоже. |
|||
26
Diter
24.01.14
✎
16:13
|
(25) а что там сложного то? у меня есть доки с пятью-шестью ТЧ. - подчиненные документы и вуаля
|
|||
27
Масянька
24.01.14
✎
16:24
|
Почему так происходит?
Процедура ПоКнопкеНоваяСтрока() Параметры = СоздатьОбъект("СписокЗначений"); ОткрытьФормуМодально("Справочник.Номенклатура.ДляВыбора", Параметры); Сообщить("1 - " + Параметры.Получить("ВыбЗначение") + " - " + Параметры.РазмерСписка()); мНомерСтр = СлужебнаяТаблица.КоличествоСтрок(); СлужебнаяТаблица.НоваяСтрока(); СлужебнаяТаблица.Номер = мНомерСтр + 1; СлужебнаяТаблица.Номенклатура = Параметры.ПолучитьЗначение("ВыбЗначение"); КонецПроцедуры // ПоКнопкеНоваяСтрока Сообщить выводит номенклатуру, а в таблицу не добавляет - пишет "Индекс не входит в границы списка значений". |
|||
28
KishMish
24.01.14
✎
16:25
|
(27) Параметры.ПолучитьЗначение("ВыбЗначение");
это по номеру строки Параметры.Получить("ВыбЗначение"); это по текстовом представлению |
|||
29
Масянька
24.01.14
✎
16:44
|
Дядьки! А у меня получилось (представили, что я стою на пьедестале и показываю всем язык) :)))))
|
|||
30
Mikeware
24.01.14
✎
16:46
|
(29) у нас все равно длиннее...
|
|||
31
Масянька
24.01.14
✎
16:47
|
(30) Ну, извините :))))
|
|||
32
KishMish
24.01.14
✎
16:47
|
(29) молдец
|
|||
33
varelchik
24.01.14
✎
16:51
|
(26) Да так ничего.
просто тута предложения выдвигались на счет документа того же вида только в непонятном году. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |