Имя: Пароль:
1C
 
Список значений в ячейке таблицы значений
,
0 Pakestanez
 
18.08.14
14:04
Добрый день! Требуется сделать выпадающий список значений в ячейке таблицы. Есть заказ покупателя, а рядом, в соседней ячейке, должен быть список, из которого можно будет выбрать "Оплачен", "Не оплачен", "Частично оплачен".

Я создал реквизит формы "СтатусЗаказа", поставил ему тип список значений и заполнил его при открытии формы нужными значениями. На форме сделал таблицу значений, добавил в нее колонку с именем "СтатусЗаказа", указал в свойстве данные "СтатусЗаказа" (по моему разумению она должна это воспринять как реквизит формы), свойство элемент управления поставил в "Поле выбора". Ну и в самой ячейке поставил тип значения "Список значений".

Не взлетело.
1 palpetrovich
 
18.08.14
14:13
вроде 8-ка... версию платформы надо-бы озвучивать, дабы не заставлять строить догадки
2 Azverin
 
18.08.14
14:14
Сп = Новый СписокЗначений;
Сп.Добавить("Оплачен");
Сп.Добавить("Не оплачен");
Сп.Добавить("Частично оплачен");
ЭлементыФормы.СтатусЗаказа.СписокВыбора = СП;

на счёт данных - хз, знаю что с типом Справочники работает.
3 Maxus43
 
18.08.14
14:14
надо сделать у ячейки таблицы тип - "статус", галка "выбор из списка", запихать список в событии Передначалом выбора из списка, или просто вколотить руками в свойствах элемента управления
4 КтоКакБог
 
18.08.14
14:14
(0)зачем список значений? просто список выбора заполняешь небходимыми данныйми
5 Azverin
 
18.08.14
14:14
(2) ой, реквизит ТЧ...

ЭлементыФормы.ТЗ.Колонки.СтатусЗаказа.ЭлементУправления.СписокВыбора = СП;
6 Pakestanez
 
18.08.14
14:27
(5) заполнилось, но при выборе не остается. То есть щелкаешь на "Оплачен" например, но в поле не появляется "Оплачен".
7 Pakestanez
 
18.08.14
14:28
(1) Да, 8.3, забыл написать. Формы обычные.
8 Pakestanez
 
18.08.14
14:30
(3) а что это за тип такой? я его в списке не нашел.
9 palpetrovich
 
18.08.14
14:32
(7) а тупо перечисление завести не судьба? и кинуть его на ТЧ в качестве реквизита?
10 РенеДекарт
 
18.08.14
14:32
(6) он и не останется. Нужно при выборе его отлавливать и сохранять еще где-то, т.е. постоянно отслеживать весь слепок таких колонок по таблице. И уже по слепку отриентироваться, что там выбрано было.
11 РенеДекарт
 
18.08.14
14:33
(9) например, завести перечисления на все овер 1 млн номенклатуры? ))
12 Pakestanez
 
18.08.14
14:33
(9) Так нельзя. Это внешняя обработка и главное условие - не вносить никаких изменений в конфигурацию.
13 РенеДекарт
 
18.08.14
14:34
(3)>надо сделать у ячейки таблицы тип - "статус"
- что за новый тип Статус, тоже не понял.
14 РенеДекарт
 
18.08.14
14:35
(12) так это вообще беда, ВО не может абсолютно ничего хранить внутри себя. Все надо либо виртуально обрабатывать, либо - во внешний файл спихивать.
15 palpetrovich
 
18.08.14
14:38
(11) чё?!
(12) понятно
16 РенеДекарт
 
18.08.14
14:40
(15) НИ ЧЕ, мало ли что нужно выбирать в списке.
17 Pakestanez
 
18.08.14
14:44
Ребята, тут хранить и не надо ничего, просто есть три возможных значения, "Оплачено", "Не оплачено", "Частично оплачено". Обработка выбирает заказы, делает то-се, и на основе этих вычислений выставляет одно из трех указанных значений, плюс у пользователя сохраняется возможность изменить выставленное обработкой значение. И для его удобства нужно предлставить ему список из этих трех значений.
18 РенеДекарт
 
18.08.14
14:47
(17)>Ребята, тут хранить и не надо ничего
- ну если тебе хранить не надо ничего, как ты узнаешь, какое значение выбрали?
19 palpetrovich
 
18.08.14
15:04
(18) глянь сюда: http://www.fayloobmennik.net/4036997
все работает, правда 8.2
20 Pakestanez
 
18.08.14
15:22
(19) залей на rghost.ru если можешь, а то с этого не качается.
21 palpetrovich
 
18.08.14
15:36
22 Pakestanez
 
18.08.14
15:44
(21) ага, спасибо, работает.

У меня правда по-другому немного было. Табличной части в обработки нет, а просто закинута таблица значений на форму. Все остальное как у тебя, за исключением того, что в ячейке табличной части я изменил тип на "Строка" и тогда выбираемое из списка значение стало оставаться.
23 Pakestanez
 
18.08.14
15:49
Но еще нужно программно заполнить значение.

Пишу так
НоваяСтрокаТаблицы.СтатусЗаказа = СтатусыЗаказа.НайтиПоИдентификатору(1);

Но опять же, не остается в ячейке это.
24 РенеДекарт
 
18.08.14
15:50
(19) ты в ТП попрорбуй развернуться.
(22)> а просто закинута таблица значений на форму
- ТЗ нельзя на форму закинуть в 1С, только через ТП подключить.
25 РенеДекарт
 
18.08.14
15:51
(23)>Но опять же, не остается в ячейке это.
- тебе ж говорят - в ВО ничего не хранится.
26 Pakestanez
 
18.08.14
15:57
(25) ты похоже про другое что-то говоришь. Зачем мне хранить что-то? Ничего и не должно храниться. У тебя есть переменная типа список значений, которая заполняется при старте обработки. Пока обработка работает, эта переменная хранится в памяти и доступна до тех пор, пока обработку не закроешь.
В процессе работы обработки заполняется таблица значений. И в одну из ячеек записывается значение из этого списка. Проблема в том, что оно там не отображается. То есть оно как бы есть, но его НЕ ВИДНО. Вот в чем дело.

Вот тут кстати ошибка у меня, надо так:
НоваяСтрокаТаблицы.СтатусЗаказа = СтатусыЗаказа.НайтиПоИдентификатору(1).Значение;
но все равно не видно.
27 РенеДекарт
 
18.08.14
16:04
(26) а так:
НоваяСтрокаТаблицы.СтатусЗаказа.Значение =  СтатусыЗаказа[0].Значение
28 Pakestanez
 
18.08.14
16:08
(27) Как в (26) оказывается работало, просто в одной из веток условий я забыл эту строчку написать :D

В общем, проблема решена, всем спасибы)