Имя: Пароль:
1C
1С v8
Табличное поле
, ,
0 tolok_d
 
20.02.13
16:05
Заполняю табличное поле в внешней обработке:

ЭлементыФормы.КонтрагентыСИзьяном.Значение = ТаблЗнач;
ЭлементыФормы.КонтрагентыСИзьяном.СоздатьКолонки();

Вот только в ТаблЗнач три колонки, одна из которых имеет ссылочный тип. И идеально было бы проваливаться по ссылке, но ссылка редактируется как ссылка.
Подскажите, кому не сложно, что я упустил.
1 Defender aka LINN
 
20.02.13
16:07
"И идеально было бы проваливаться по ссылке, но ссылка редактируется как ссылка" - перевод вот этого ты упустил
2 Maxus43
 
20.02.13
16:08
(1) + перевод на русский общедоступный
3 salvator
 
20.02.13
16:11
(0) Телепатирую: Событие "выбор" опиши
4 rutony
 
20.02.13
16:14
ЭлементыФормы.КонтрагентыСИзьяном.Значение

КонтрагентыСИзьяном
:D
5 Maxus43
 
20.02.13
16:15
(4) ну рожей не вышли, что делать.
6 Xatori
 
20.02.13
16:16
1. Типизируй Колонки твоей ТЗ.
99% поможет.
7 tolok_d
 
20.02.13
16:17
(1) редактируется как *текст... затупил немного(
8 Xatori
 
20.02.13
16:18
Где тут редактировать пост ?))
К передыдущему, посмотри в отладчике какой тип у тебя в колонках твоей ТЗ - даю гарантию что строка))
9 tolok_d
 
20.02.13
16:20
(6) тип поставил. для всех колонок строка, для колонки ссылки: Справочникссылка.Контрагенты
10 tolok_d
 
20.02.13
16:20
(8) вот именно что все типы соответствуют.
11 Xatori
 
20.02.13
16:24
а Как ты тип поставил? если не секрет конечно)
12 Maxus43
 
20.02.13
16:27
Покажи как формируется ТабЗнач
13 tolok_d
 
20.02.13
16:28
(11) правой клавишей по колонке, далее тип значения - и далее выбрал тип из списка. так?
14 Maxus43
 
20.02.13
16:29
(13) тип должен быть определён в ТЗ до

ЭлементыФормы.КонтрагентыСИзьяном.Значение = ТаблЗнач;
ЭлементыФормы.КонтрагентыСИзьяном.СоздатьКолонки();
15 Xatori
 
20.02.13
16:31
Мдя)) Тяжёлый случай.
Надо что то типа
МассивТипов = Новый Массив;
   МассивТипов.Добавить(Тип("СправочникСсылка.Организации"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("Организация", ДопустимыеТипы);

   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка.ПодразделенияОрганизаций"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("ПодразделениеОрганизации", ДопустимыеТипы);

   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка.ОсновныеСредства"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("ОсновноеСредство", ДопустимыеТипы);
   
   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка.Номенклатура"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("Номенклатура", ДопустимыеТипы);
   
   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка.НоменклатурныеГруппы"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("НоменклатурнаяГруппа", ДопустимыеТипы);
       
   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка._СпецификацииОС"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("Спецификация", ДопустимыеТипы);

   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("СправочникСсылка.ХарактеристикиНоменклатуры"));
   ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
   тзДанные.Колонки.Добавить("ХарактеристикаНоменклатуры", ДопустимыеТипы);
   
   КЧ = Новый КвалификаторыЧисла(15,3);
   МассивТипов.Очистить();
   МассивТипов.Добавить(Тип("Число"));
   ОписаниеТиповЧ = Новый ОписаниеТипов(МассивТипов, , КЧ);

   тзДанные.Колонки.Добавить("КоличествоНоменклатураИзСпец", ОписаниеТиповЧ);
   тзДанные.Колонки.Добавить("КоличествоНоменклатураИзВыпусков", ОписаниеТиповЧ);
   тзДанные.Колонки.Добавить("КоличествоРасчет", ОписаниеТиповЧ);

   
Вырезать не стал, ибо влом)))
16 tolok_d
 
20.02.13
16:31
(12) ТабЗнач из запроса выгружаю. В отладчике таблица значений нормально идет с типами
17 tolok_d
 
20.02.13
16:33
(15) предлагаете создавать все колонки вручную? правильно?
18 Maxus43
 
20.02.13
16:33
(16) не верю, что редактируется как текст тогда. После запроса типы определены. Весь код в студию
19 Xatori
 
20.02.13
16:34
Вот, Выгружаешь из Запроса, Сделай по другому
1. Создай ТЗ.
2. Создай типизированные колонки
3. Перепиши значения из выборки запроса в свою ТЗ
4. Скопируй в Значение ТЗ на форме

или

1. Типизируй выгруженную таблицу
2. Скопируй в Значение ТЗ на форме

выбирай что нравится
20 tolok_d
 
20.02.13
16:35
(18) ну ладно вы мне не верите, но в отладчике четко написано:
код-строка
Наименование-строка
Ссылка-СправочникСсылка.Контрагенты
21 Xatori
 
20.02.13
16:36
(18) Хз как у него там, Предлагаю как точно будет работать
Если в ТЗ всё нормально, тогда Табл поле на форме и его свойства.
Хотя я не помню что бы что то настраивал (обычно результат запроса выгружаю что бы видеть данные на форме, в отладчике ломает каждый раз смотреть результат)
22 Xatori
 
20.02.13
16:37
Выбери колонку из ТЗ и там есть ТИП вот что там у тебя?
23 tolok_d
 
20.02.13
16:39
(22) СправочникСсылка.Контрагенты
24 Maxus43
 
20.02.13
16:40
(20) на Табличном поле руками колонки завёл? удали всё, в пустое поле делай (0)
25 Xatori
 
20.02.13
16:43
ТвояТЗ.Колонки.ТвояКолонка.ТипЗначения - Вот тут просто Справочник ссылка ну никак не может стоять, как минимум ещё есть NULL)
26 tolok_d
 
20.02.13
16:44
(24) та же ситуация, редактируется как строка, а не как ссылка.
27 Xatori
 
20.02.13
16:44
(24) Правильно чел говорит, Табличное поле должно быть пустое
28 Xatori
 
20.02.13
16:46
Ещё раз говорю, при таком раскладе как у тебя, возможно только одно, отсутствует ТИП в ТЗ, выше я написал тебе как исправить.
29 tolok_d
 
20.02.13
16:49
(28) я не спорю что отсутствует, но вопрос. Если в отладчике пишет тип, то это не тот тип?
30 Maxus43
 
20.02.13
16:49
не, фигня какая то. щас попробую сам
31 Xatori
 
20.02.13
16:51
Если у тебя фиксированное количество колонок то сделай табличном поле колонки и сделай им тип

и примерно такой код

Процедура ЗаполнитьОсновныеСредства(тзОС)
   ВыработкаОС.Очистить(); //// = ЭлементыФормы.ТабличноеПоле.Значение (как то так)
   Для каждого Строка Из тзОС Цикл
       НоваяСтрока = ВыработкаОС.Добавить();
       НоваяСтрока.ПредпологаемаяВыработка = Строка.ПредпологаемаяВыработка;
       НоваяСтрока.ВыработкаКоличество = Строка.ВыработкаКоличество;
       НоваяСтрока.ВыработкаСтоимость = Строка.ВыработкаСтоимость;
       НоваяСтрока.ОсновноеСредство = Строка.ОсновноеСредство;
       НоваяСтрока.СтоимостьОдногоЦикла = Строка.СтоимостьОдногоЦикла;    
       НоваяСтрока.Организация = Строка.Организация;    
   КонецЦикла;    
КонецПроцедуры
32 salvator
 
20.02.13
16:52
(26) 1. Рисуешь на форме ПУСТОЕ табличное поле без колонок с именем "Таб"
2. В коде запрос, выгрузка этого запроса в таблицу значений
3. ЭлементыФормы.Таб.Значение = РезультатЗапросаТЗ;
ЭлементыФормы.Таб.СоздатьКолонки();

Так именно делал?
33 Maxus43
 
20.02.13
16:53
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    Валюты.Ссылка,
|    Валюты.ВерсияДанных,
|    Валюты.ПометкаУдаления,
|    Валюты.Предопределенный,
|    Валюты.Код,
|    Валюты.Наименование,
|    Валюты.НаименованиеПолное,
|    Валюты.ПараметрыПрописиНаРусском
|ИЗ
|    Справочник.Валюты КАК Валюты";

Результат = Запрос.Выполнить().Выгрузить();

ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

всё идеально работает
34 Xatori
 
20.02.13
16:53
Вариант с чистым таб полем

Процедура ОтобразитьНаФорме(тзОС  == Твоя ТЗ)
   Результат = ЭлементыФормы.тзДопВыработкаОС;
   Результат.Значение = тзОС.Скопировать(); ///// Вот в этой строчке возможно собака порылась)
   Результат.СоздатьКолонки();
КонецПроцедуры
35 tolok_d
 
20.02.13
17:01
*(32) да
36 tolok_d
 
20.02.13
17:07
(34) Работает, но та же проблема((
37 tolok_d
 
20.02.13
17:08
(33) а может это быть из-за того что это внешняя обработка?
38 salvator
 
20.02.13
17:09
(35) Код полностью можешь дать?
39 tolok_d
 
20.02.13
17:12
(38) могу пустьить через тим вьювер или амми админ.
40 tolok_d
 
20.02.13
17:42
(38) ???
41 salvator
 
20.02.13
17:44
(40) Не могу.
42 tolok_d
 
20.02.13
17:45
(41) попробую построчно заполнить.
43 tolok_d
 
20.02.13
17:50
не, то же самое.
44 hhhh
 
20.02.13
18:11
(43) ну запрос-то покажи
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс