Имя: Пароль:
1C
1С v8
Таблица значений на форме отображает не все колонки
0 пыхтачокк
 
20.08.12
11:51
всем привет.
Вот собственно код:

Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ДолжностиОрганизаций.Код КАК ДолжностьКод,
                  |    ДолжностиОрганизаций.Ссылка КАК Должность,
                  |    ДолжностиОрганизаций.Категория.Ссылка КАК Категория,
                  |    ДолжностиОрганизаций.КатегорияРез.Ссылка КАК КатегорияРезерв,
                  |    ЛОЖЬ КАК Колонка4
                  |ИЗ
                  |    Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций
                  |ГДЕ
                  |    ДолжностиОрганизаций.ЭтоГруппа = ЛОЖЬ
                  |    И ДолжностиОрганизаций.ПометкаУдаления = ЛОЖЬ";
   
   ТЗ = Запрос.Выполнить().Выгрузить();
   ТЗ.Сортировать("Должность ВОЗР");
   ТЗ.ВыбратьСтроку();

в обработке есть реквизит ТЗ типа ТаблицаЗначений.
на форме расположено ТабличноеПоле у которого Данные = ТЗ.
колонки в табличном поле созданы. на ВыбратьСтроку() выводится ТЗ со всеми заполненными полями записей, в табличном поле формы заполнены все колонки записей, кроме ДолжностьКод! В поле Данные колонки стоит ДолжностьКод, тип значения - Строка(9), пробовал и СправочникСсылка.ДолжностиОрганизаций - не работает ни так, ни эдак. ЧЯДНТ? как вывести код должности? запрос отрабатывает нормально, ВыбратьСтроку() как уже упоминал показывает полные данные...
1 DrShad
 
20.08.12
11:59
ТЗ = Запрос.Выполнить().Выгрузить();
ТЧ = ЭлементыФормы.МоеТабличноеПоле;
ТЧ.Значение = ТЗ.Скопировать();
ТЧ.СоздатьКолонки();
2 Reset
 
20.08.12
11:59
(0)
Как ты описал, все должно работать.
Попробуй а) Использовать (хотя бы для теста) ТабличноеПоле.СоздатьКолонки()
б) Удалить колонку в ТП и создать ее заново, внимательно следя за названием данных (в идеале скопировть имя из текста запроса)
3 DrShad
 
20.08.12
12:00
+(1) и не нужно рисовать колонки у ТЗ, если ты ее потом перезаполняешь запросом
4 DrShad
 
20.08.12
12:03
(0) и не сходил бы на фест, ща бы заклевали :)))))
5 Reset
 
20.08.12
12:03
+ Не по теме. Запрос можно оптимизировать:
   Запрос.Текст = "ВЫБРАТЬ
                  |    ДолжностиОрганизаций.Код КАК ДолжностьКод,
                  |    ДолжностиОрганизаций.Ссылка КАК Должность,
                  |    ДолжностиОрганизаций.Категория КАК Категория,
                  |    ДолжностиОрганизаций.КатегорияРез КАК КатегорияРезерв,
                  |    ЛОЖЬ КАК Колонка4
                  |ИЗ
                  |    Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций
                  |ГДЕ
                  |    ДолжностиОрганизаций.ЭтоГруппа = ЛОЖЬ
                  |    И Не ДолжностиОрганизаций.ПометкаУдаления
                  |Упорядочить по Должность";
6 пыхтачокк
 
20.08.12
12:04
(3) пробовал, СоздатьКолонки() формирует таблицу правильно (насчет кода должности пока еще не скажу, сейчас попробую) - но если значение Категория или КатегорияРезерв заполнено, тогда без проблем открывает форму выбора справочника и дает выбрать другое значение, а если пустое - просто отображается как поле ввода в котором сначала нужно выбрать тип значения и уж только потом значение.
7 пыхтачокк
 
20.08.12
12:04
(5) ))) да так и есть. просто ТЗ сортируется )))
8 Reset
 
20.08.12
12:05
(7) И за счет лишней точки устанавливается 2 лишних (неявных) соединения
9 Reset
 
20.08.12
12:06
Кстати, исходя из (6), не два, а дофига.
10 DrShad
 
20.08.12
12:07
(6) Выразить() в запросе не пробовал?
11 пыхтачокк
 
20.08.12
12:09
(10) пробовал. тоже самое.
+ как и говорил в (6) - значение пусто, кнопка выбора в ячейке присутствует, только выбирать ничего не дает. но колонки вылезли все, да )))
12 DrShad
 
20.08.12
12:16
итоговый запрос в студию
13 пыхтачокк
 
20.08.12
12:18
интересная петрушка. переназначил Данные в табличном поле - заработало...
Всем огромное спасибо что не бросили в беде!!! )))
14 пыхтачокк
 
20.08.12
12:22
(4) а чего ж ты ожидал от годовалого нупа? )))
Ошибка? Это не ошибка, это системная функция.