powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / 1с 8.2 Динамическая табличная часть в документе
8 сообщений из 8, страница 1 из 1
1с 8.2 Динамическая табличная часть в документе
    #36431651
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак продолжение банкета :) ... в продолжении темы Динамическая табличная часть в документе ...хз ???
Спасибо товарищи идея принята .. в общем написал я эту муру за пару - тройку часов на платформе 1с 8.1 - благо там я могу чего то на калякать ...
теперь сабж .. надо тоже самое портировать на платформу 8.2

В 8.2 добавил на форму Таблицу - ТабличноеПоле.. теперь пробую повесить тот же код на
Код: plaintext
1.
2.
&НаСервере
ПриСозданииНаСервере
или
Код: plaintext
1.
2.
&НаКлиенте
ПриОткрытии
нифига не получается - пишет - Поле объекта не обнаружено ТабличноеПоле
----------------------------------------------------------------------------------------------
Суть решения ..в 8.1 кинул на форме
ТабличноеПоле - тип(ТаблицаЗначений)
далее на событие ПриОткрытии() кинул весь дурдом по перегону ТЧ документа в нужный мне матричный вид

Код: plaintext
1.
                            ссылка показатель 1, показатель 2,показатель 3...
 Ссылка контрагент          число                     число 


в МассивЭлементовСтолбцов лежат символьные коды добавляемых столбцов - по этой координате происходит потом запись и чтение из ТЧ документа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
	 //создаем ТД переменной структуры 
	МассивТипов = Новый Массив;
	МассивТипов.Добавить(Тип("СправочникСсылка.Подразделение"));
	ОписаниеТиповТО = Новый ОписаниеТипов(МассивТипов,,);
	МассивТипов.Очистить();
	МассивТипов.Добавить(Тип("Число"));
	ОписаниеТиповЧисло = Новый ОписаниеТипов(МассивТипов,,);
	
	ТаблицаЗначенийНовая = Новый ТаблицаЗначений;
	ТаблицаЗначенийНовая.Колонки.Добавить("сПодразделение",ОписаниеТиповТО,"Структурная единица", 10 );
	
	Для Каждого Элемент из МассивЭлементовСтолбцов Цикл 
		ТаблицаЗначенийНовая.Колонки.Добавить(,ОписаниеТиповЧисло,Элемент.Код, 10 );	
	КонецЦикла;
	
	ЭлементыФормы.ТабличноеПоле.Значение = ТаблицаЗначенийНовая;
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36432931
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начнем с того что таблицы значений в 8.2 на тонком клиенте нет...
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36433069
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖначнем с того что таблицы значений в 8.2 на тонком клиенте нет...
Господин ПЖ - как всегда блещет знаниями :) спасибо
а есть выход в моем случае? как мне самому сформировать табличную часть документа? по 8.2 еще достаточно мало на ИТС решения не нашел :(
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36433120
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может типа такого:

&НаСервере
Процедура

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

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

Для Каждого Элемент из МассивЭлементовСтолбцов Цикл
ТаблицаЗначенийНовая.Колонки.Добавить(,ОписаниеТиповЧисло,Элемент.Код,10);
КонецЦикла;

.................... заполнение тз
.................... вот насчет ширины и подписей колонок не уверен что так сработает

ЗначениеВРеквизитФормы(ТаблицаЗначенийНовая, ТабличноеПоле);
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36433328
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратился через:
Код: plaintext
ЗначениеВРеквизитФормы(ТаблицаЗначенийНовая,ЭтаФорма.Элементы.ТабличноеПоле);

Ошибка: Поле объекта не обнаружено (ТабличноеПоле)
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36471215
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня то-же 8.2 этим убивает..но нужно читать Доку и думать.

В данном случае как и во многих других спасают враперы ( 1С как обычно не могла придумать нормальный встроенный механизм )


например МодульФормы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
&НаКлиенте
Процедура Выбор(Команда)		
		УдалитьВсеДокументы();
.....
КонецПроцедуры

&НаСервере
Процедура УдалитьВсеДокументы()
	ДокументыВременный = Документы.ДокументВременный.Выбрать();
Пока ДокументыВременный.Следующий() Цикл
		ДокОбъект = ДокументыВременный.ПолучитьОбъект();
		ДокОбъект.Удалить();
	КонецЦикла;	
КонецПроцедуры

Кстати обнаружен 100500 баг 8.2 релиз 77 - с сервера на клиент например не
передается ссылка на новый документ и т.д.
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36478064
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йа уже немного начал перестраивать мосх на 8.2 ... мануала действительно мало ... лопачу в основном демо базы с ИТС ... в большей части интуитивно т.к. обьяснений нет ...
...
Рейтинг: 0 / 0
1с 8.2 Динамическая табличная часть в документе
    #36503156
KuzEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь http://odines.ru/thread1001.html в 49 посте описано решение - динамическое (программное) создание ТаблицыЗначений на Форме управляемого приложения.

Приведу код:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Реквизит формы "РеквизитФормы_Таблица" создан средствами интерфейса конфигуратора(можно и программно), программно создадим колонки
// Элемент формы "ЭлементФормы_Таблица" создан средствами интерфейса конфигуратора(можно и программно), программно создадим колонки

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

// создаем элементы
Элемент = Элементы.Добавить("КолонкаТовар",Тип("ПолеФормы"),Элементы.ЭлементФормы_Таблица);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "РеквизитФормы_Таблица.КолонкаНоменклатура";

Элемент = Элементы.Добавить("КолонкаКоличество",Тип("ПолеФормы"),Элементы.ЭлементФормы_Таблица);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "РеквизитФормы_Таблица.КолонкаКоличество";
КонецПроцедуры
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1с 8.2 Динамическая табличная часть в документе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]