Версия для печати темы (http://pro1c.org.ua/index.php?s=179773752a77560ab48c5bb6711ada0c&showtopic=40990)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Собрать реквизиты в Таб значения и вставить туда нужные данные

Автор: Gigi 12.10.17, 14:25

Всем привет!
Никто не подскажет почему не работает ниже указанный код.
Цель простая.
Собрать все реквизиты указанного Справочника/Документа и вставить нужные значения в ТЗ. .. для того что бы все это записать на сервер.
заполнив одну строку ... т.е. все реквизиты одной строки ..
Вроде задаче не сильно сложная но блииин ... опять .. барьеры ... опять ... так нельзя ..сьяк нельзя..
Вот набросок:

 &НаСервере
Процедура ТЗ_СобратьРеквизиты(МетаДанныеГруппа,МетаДанныеИмя)
//========================================================
Попытка
    Если МетаДанныеГруппа="Справочники" тогда    
    МетаданныеИсточника=Метаданные.Справочники[МетаДанныеИмя];
    ИначеЕсли МетаДанныеГруппа="Документы" тогда
    МетаданныеИсточника=Метаданные.Документы[МетаДанныеИмя];
    Иначе
    Возврат;
    КонецЕсли;
Исключение
    Сообщить("Не коректные параметры метаданных!");
    Возврат;
КонецПопытки;

ТЗ_Реквизиты = новый ТаблицаЗначений();
Для Каждого Реквизит Из МетаданныеИсточника.Реквизиты Цикл
РеквизитИмя=""+Реквизит;
ТЗ_Реквизиты.Колонки.Добавить(РеквизитИмя);
НоваяСтрока=ТЗ_Реквизиты.Добавить();
КонецЦикла;

Для Каждого Колонка Из ТЗ_Реквизиты.Колонки Цикл
КолонкаИмя=Колонка.Имя;
Сообщить(КолонкаИмя);
НоваяСтрока=ТЗ_Реквизиты.Добавить();
НоваяСтрока.КолонкаИмя="ЗначениеЗаписи"; // ВЫДАЕТ ПОЛЕ НЕ НАЙДЕНО -- С...А    
КонецЦикла;
КонецПроцедуры


Пожалуйста подскажите ... почему на линии
НоваяСтрока.КолонкаИмя="ЗначениеЗаписи"

выдает ошибку.
Или опять так нельзя .. сьяк нельзя ... едак вообще .. и т.д.
Т.е. почему нельяз запеременить ..
Неужели можно только в таком неудобном стиле как в учебнике:
ТЗ_Реквизиты = новый ТаблицаЗначений();
ТЗ_Реквизиты.Колонки.Добавить("РеквизитыИмена");
ТЗ_Реквизиты.Колонки.Добавить("Значения");
Для Каждого РеквизитИмя Из МетаданныеИсточника.Реквизиты Цикл
НоваяСтрока=ТЗ_Реквизиты.Добавить();
НоваяСтрока.РеквизитыИмена=РеквизитИмя;    
КонецЦикла;
// и т.д.

Пожалуйста ... помогите ... smile.gifsmile.gif
И жду ответа smile.gifsmile.gif
Буду признателен!

Автор: Flexy 12.10.17, 14:31

Gigi @ Сегодня, 14:25 * ,

НоваяСтрока=ТЗ_Реквизиты.Добавить();
Для Каждого РеквизитИмя Из МетаданныеИсточника.Реквизиты Цикл
НоваяСтрока[КолонкаИмя]="ЗначениеЗаписи";
КонецЦикла;

Автор: Gigi 12.10.17, 14:52

Flexy @ Сегодня, 15:31 * ,
Спасибо!
Блиин ... как сам не догнал ... ведь знал, что можно и так...
Короче ... хоть и не люблю выходить на форум... но не получается без него.
Роешь в поисковике ... целыми часами ... натыкаешься в основном на шаблоны по учебнику..
А тут за две минуты получил, что было нужно
Ладно спасибо!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
http://pro1c.org.ua