Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 19:20

табличное поле

Автор nature2002, 26 фев 2011, 16:52

0 Пользователей и 2 гостей просматривают эту тему.

nature2002

Мне вообще одно свойство нужно и для этого хорошо было бы использовать одну колонку рядом со списком номенклатуры. А расширить для нескольких свойств можно было бы так: добавить выпадающий список или еще что для выбора свойства, а в этой колонке выбирать его значения для каждого элемента или групп.

Klyacksa

Делала нечто подобное следующим образом:

1. Табличной поле, тип Дерево значений
2. Добавляем колонки Номенклатура и "значение свойства" (раз свойство одно, то и нечего выбирать само свойство. Выбираем только его значение)
3. Запросом в это дерево значений выгружаем справочник Номенклатура и значение свойства.
4. Далее пользователь ручками проставляет/меняет значение свойства где надо (здесь я еще делала красивости, например чтобы если проставляем свойство группе, то оно автоматически заполняет свойство всей номенклатуре ниже уровнями, колонку-галочку записывать элемент или нет и т.д.). НО все изменения, которые делает сейчас пользователь, пока никуда не записываются, а хранятся на форме
5. Делаем кнопочку "Записать", по которой переносим все нужные изменения в базу

Для нескольких свойств можно расширить добавлением еще одной колонки "свойство", но тогда придется еще повозиться с типом колонки "Значение свойства".
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

nature2002

а как запрос в дерево выгрузить. делаю так:

ДЗ = Новый ДеревоЗначений;
ДЗ = Результат.Выгрузить();
ЭлементыФормы.Дерево.Значение = ДЗ;

пусто в таб.поле "Дерево"(тип ДеревоЗначений)

cska-fanat-kz

Создали на форме табличное поле СписокНоменклатуры.
Задали ему тип значения ДеревоЗначений.
У вас должен параллельно появиться РЕКВИЗИТ ФОРМЫ СписокНоменклатуры.
Вот им и пользуетесь.

СписокНоменклатуры = Результат.Выгрузить();
ЭлементыФормы.СписокНоменклатуры.СоздатьКолонки();
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

Выгружать:
Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

nature2002

получается просто список наименований. сначала идут группы, потом все элементы подряд. как это у вас выглядело Klyacksa?

Klyacksa

Запрос запостите
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

В конструкторе запросов на вкладке Порядок попробуйте флажок "Автоупорядочить" поставить...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

nature2002

Автоупорядочивание не помогло...
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СпрНоменклатура.Ссылка КАК Номенклатура,
| ЗначенияСвойствОбъектов.Ссылка КАК ЗначениеСвойства
|ИЗ
| Справочник.Номенклатура КАК СпрНоменклатура,
| Справочник.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Код = &Код";

Запрос.УстановитьПараметр("Код", "000000010");
Результат = Запрос.Выполнить();

СписокНоменклатуры = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ЭлементыФормы.СписокНоменклатуры.СоздатьКолонки();

Klyacksa

дело не в автоупорядочивании, а в группировке :)
Чтобы выбрать запрос по группировкам с иерархией, нужно в начале, чтобы запрос сам деревом выбирался.

В конструкторе запросов на закладке "Итоги" добавьте группировочное поле Номенклатура, тип итогов - только иерархия.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск