![]() |
![]() |
![]() |
|
Из поля со списком в строку справочника 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
adware
25.08.10
✎
10:26
|
Добрый день.
Подскажите, есть довольно простая задача. Есть справочник база с несколькими реквизитами, при редактировании в форме элемента есть поле со с выпадающим списком. Нужно выбрать из этого поле одну из строк и записать в текущий реквизит справочника. Вот что пытался сделать в модуле формы элемента справочника: Процедура ПриОткрытии() ДоставкаВид.ДобавитьЗначение(""); ДоставкаВид.ДобавитьЗначение("Самовывоз"); ДоставкаВид.ДобавитьЗначение("Курьером"); ДоставкаВид.ДобавитьЗначение("Автомобилем"); КонецПроцедуры //при открытии Процедура ПриЗаписи() ДостВ = СоздатьОбъект("Справочник.База"); ДостВ.Доставка = ДоставкаВид.ПолучитьЗначение(ДоставкаВид.ТекущаяСтрока()); ДостВ.Записать(); КонецПроцедуры //ПриЗаписи |
|||
1
Эльниньо
25.08.10
✎
10:29
|
Процедура ПриВыбореДоставки()
Доставка = ДоставкаВид.ПолучитьЗначение(ДоставкаВид.ТекущаяСтрока()); КонецПроцедуры |
|||
2
2S
25.08.10
✎
10:29
|
ДостВ = СоздатьОбъект("Справочник.База");
ДостВ.Доставка = ДоставкаВид.ПолучитьЗначение(ДоставкаВид.ТекущаяСтрока()); этого не может быть, промежуток должен быть |
|||
3
чувак
25.08.10
✎
10:31
|
ДостВ.Доставка какого типа?
|
|||
4
1Сергей
25.08.10
✎
10:32
|
(1)+1 Если это форма элемента
|
|||
5
2S
25.08.10
✎
10:33
|
(1), (4) вообще в теме?
у чувака нет позиционирования на элемент |
|||
6
1Сергей
25.08.10
✎
10:35
|
(5) Нахрена нужно позиционироваться в форме элемента? Этот элемент может быть еще не записан
|
|||
7
Ёпрст
гуру
25.08.10
✎
10:36
|
(0) вот этот бред выкини целиком
Процедура ПриЗаписи() ДостВ = СоздатьОбъект("Справочник.База"); ДостВ.Доставка = ДоставкаВид.ПолучитьЗначение(ДоставкаВид.ТекущаяСтрока()); ДостВ.Записать(); КонецПроцедуры |
|||
8
2S
25.08.10
✎
10:36
|
(6) плохо сабж прочитал, звиняйте о_0
|
|||
9
Эльниньо
25.08.10
✎
10:42
|
+(1) В формулу реквизита "Доставка".
|
|||
10
1Сергей
25.08.10
✎
10:43
|
(9) может, в формулу поля со списком?
|
|||
11
Эльниньо
25.08.10
✎
11:00
|
(10) Да.
|
|||
12
adware
25.08.10
✎
15:28
|
Ругается на "Неопознанный оператор", совсем голову сломал с этим...
Вообще все это затеял, для того что-бы можно сортировать справочник по выбранному реквизиту и делать отбор по реквизиту, т.е. сортировка работает только если тип реквизита <<Строка>>. По этому пытался сделать как сверху, возможно есть какие либо более простые варианты? |
|||
13
1Сергей
25.08.10
✎
15:29
|
(12) ответь на (3)
|
|||
14
adware
25.08.10
✎
15:34
|
(13) Реквизит Доставка имеет тип <<строка>>, поле со списком индентификатор - ДоставкаВид
|
|||
15
Мимохожий Однако
25.08.10
✎
15:35
|
Сделай реквизит Доставка типа Перечисление.ВидыДоставок.
|
|||
16
1Сергей
25.08.10
✎
15:43
|
(14) должно работать (1)
|
|||
17
adware
25.08.10
✎
15:46
|
(15)Сделал, сортировка по реквизиту с этим способом не работает.
(16) Ругается на "Неопознанный оператор", возможно где накосячил, попробую разобраться |
|||
18
1Сергей
25.08.10
✎
15:50
|
(17) видимо, формулу неправильно написал
|
|||
19
Мимохожий Однако
25.08.10
✎
15:55
|
Поставь в справочнике у реквизита Доставка свойство Отбор и сортировка
|
|||
20
adware
25.08.10
✎
15:56
|
УРА! получилось, огромное спасибо всем!!!
Не давно закончил курсы программирования, ничего не понял, вот теперь осваиваю все сам. |
|||
21
adware
25.08.10
✎
15:56
|
(19)(17) Да ошибка в формуле была.
|
|||
22
adware
25.08.10
✎
16:52
|
В продолжении возник вопрос, если подскажите буду рад.
Теперь данные заносятся и сохраняются, но при повторном открытии формы элемента, поле со списком не заполнено, как его заполнять из справочника, если там уже есть значение? |
|||
23
adware
26.08.10
✎
16:58
|
Поэкспериментировал, обратно выбрать текущее значение из справочника в поле со списком, походу не реально, либо очень трудоемко...
|
|||
24
Ёпрст
гуру
26.08.10
✎
17:14
|
(22) заполнить список в ПриОткрытии
(23) да уж.. достаточно просто спозиционироваться на нужной строке списка. |
|||
25
adware
26.08.10
✎
17:24
|
(24) Так список при открытии формы заполняется, все ок!
А как правильно с позиционироваться на нужной строке, из реквизита справочника? |
|||
26
Ёпрст
гуру
26.08.10
✎
17:32
|
(25)
СписокНаФорме.ТекущаяСтрока(СписокНаФорме.НайтиЗначение(РеквизитСправочника)); |
|||
27
adware
26.08.10
✎
18:14
|
Делаю вот так, ничего не меняется:
Процедура ПриОткрытии() ДоставкаВид.ДобавитьЗначение(""); ДоставкаВид.ДобавитьЗначение("Самовывоз"); ДоставкаВид.ДобавитьЗначение("Автомобилем"); ДоставкаВид.ТекущаяСтрока(ДоставкаВид.НайтиЗначение(Транспорт)); КонецПроцедуры //при открытии Соответственно ДоставкаВид - индентификатор поля со списком. Транспорт - реквизит текущего справочника. |
|||
28
Саша Ильенко
26.08.10
✎
18:33
|
(27) а где записываешь в "транспорт" значение реквизита.
|
|||
29
Саша Ильенко
26.08.10
✎
18:34
|
ДоставкаВид.ТекущаяСтрока(ДоставкаВид.НайтиЗначение(СокрЛП(Транспорт)));
|
|||
30
adware
26.08.10
✎
20:02
|
(26), (29) Спасибо, получилось.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |