Вывод ТЗ на форму

1. user1089020 24.03.21 09:28 Сейчас в теме
Добрый день, маги 1С!

Никак не могу решить простую задачу: нужно передать таблицу значений на форму. Помогите, кто может, вывести ТЗ на форму, пожалуйста. УФ, 8.2.

Настройка формы: см. прикрепленный файл.

Код в модуле формы:
 
Таб = Новый ТаблицаЗначений;  

Таб.Колонки.Добавить("Модель");
Таб.Колонки.Добавить("Цвет");
Таб.Колонки.Добавить("Производитель");

Стр = Таб.Добавить();
Стр.Телефон = "1";
Стр.Цвет = "Зелёный";
Стр.Производитель = "Tures";

Стр.Телефон = "2";
Стр.Цвет = "Красный";
Стр.Производитель = "Metros";

Стр.Телефон = "3";
Стр.Цвет = "Синий";
Стр.Производитель = "Gunoce";

ЗначениеВРеквизитФормы(Таб, ТабРеквизит);
Показать


Возникает ошибка: {Обработка.Обработка1.Форма.Форма.Форма(3,13)}: Тип не определен (ТаблицаЗначений)
Таб = Новый <<?>>ТаблицаЗначений; (Проверка: Тонкий клиент)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
17. user654091_qweqweqwe123777 24.03.21 09:42 Сейчас в теме +0.2 $m
Вот пример:
Таб = Новый ТаблицаЗначений;  
	
	Таб.Колонки.Добавить("Телефон");
	Таб.Колонки.Добавить("Цвет");
	Таб.Колонки.Добавить("Производитель");
	
	Стр = Таб.Добавить();
	Стр.Телефон = "1";
	Стр.Цвет = "Зелёный";
	Стр.Производитель = "Tures";
	
	Стр.Телефон = "2";
	Стр.Цвет = "Красный";
	Стр.Производитель = "Metros";
	
	Стр.Телефон = "3";
	Стр.Цвет = "Синий";
	Стр.Производитель = "Gunoce";
	
	ЗначениеВРеквизитФормы(Таб, "ТабРеквизит");
Показать
Прикрепленные файлы:
ВнешняяОбработка1_ТЗ_НаФорму.epf
29. SagittariusA 24.03.21 09:56 Сейчас в теме +0.2 $m
(28)
Вот еще пример.
Прикрепленные файлы:
Example for Infostart.epf
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
6. spacecraft 24.03.21 09:35 Сейчас в теме
(1) ТаблицаЗначений нет на клиенте. Можно создать и заполнить на сервере и сделать загрузку в реквизит формы. А в таком виде, как в коде, можно сразу в реквизит формы добавлять записи, в том числе и на клиенте.
И в коде нужно для каждой новой записи добавлять строку ТЗ, иначе просто перезатираются записи одной единственной строки ТЗ.
7. succub1_5 88 24.03.21 09:36 Сейчас в теме
(1)На форме нужно ТЧ, на сервере ее заполнить.
Или именно как ТЗ нужно на клиенте (на форме обработать)?
11. user1089020 24.03.21 09:38 Сейчас в теме
(7) ТЗ есть на сервере, её нужно поместить в ТЧ на клиенте, получается.
14. FatPanzer 24.03.21 09:41 Сейчас в теме +0.1 $m
(11) Ну так и пишите её на сервер, зачем вы её на клиенте пишете?
19. user1089020 24.03.21 09:43 Сейчас в теме
(14) Поправил код:

&НаСервере

Процедура ПолучитьТЗ(Таб, ТабРеквизит);
	
Таб = Новый ТаблицаЗначений;  

Таб.Колонки.Добавить("Модель");
Таб.Колонки.Добавить("Цвет");
Таб.Колонки.Добавить("Производитель");

Стр = Таб.Добавить();
Стр.Телефон = "1";
Стр.Цвет = "Зелёный";
Стр.Производитель = "Tures";

Стр.Телефон = "2";
Стр.Цвет = "Красный";
Стр.Производитель = "Metros";

Стр.Телефон = "3";
Стр.Цвет = "Синий";
Стр.Производитель = "Gunoce";

ЗначениеВРеквизитФормы(Таб, ТабРеквизит);

КонецПроцедуры
Показать



Запускается, но форма пуста (см.файл)
Прикрепленные файлы:
21. FatPanzer 24.03.21 09:44 Сейчас в теме
(19) А вот теперь читай (15)
И еще - а где и как вызывается данная процедура? Сама по себе она выполняться не будет!
22. SagittariusA 24.03.21 09:47 Сейчас в теме
(19)
У вас колонка "Модель", а Вы заполняете "Телефон".
И в ЗначениеВРеквизитФормы(), вторым параметром нужно передать строковый тип.
Смотрите описание в синтакс-помощнике: выделяете слово ЗначениеВРеквизитФормы и нажимаете Ctrl+F1
2. user1089020 24.03.21 09:29 Сейчас в теме
См. прикрепленный файл с настройками формы.
Прикрепленные файлы:
3. FatPanzer 24.03.21 09:30 Сейчас в теме
Напомните мне, в каком контексте доступна ТЗ? В серверном? В клиентском?
PS. Гони бабки.
succub1_5; +1 Ответить
4. user1089020 24.03.21 09:32 Сейчас в теме
(3) В серверном, насколько я понимаю.
9. FatPanzer 24.03.21 09:38 Сейчас в теме
(4) Тогда зачем пишете в клиентском?
5. SagittariusA 24.03.21 09:35 Сейчас в теме
Код, который вначале вы описали, он просто в разделе описания программы добавлен?! Или в каком-то обработчике?
8. user1089020 24.03.21 09:37 Сейчас в теме
(5) просто в модуле формы - все что есть
20. SagittariusA 24.03.21 09:44 Сейчас в теме
(8)
&НаСервере
Функция МояТаблица()
	
	Таблица = Новый ТаблицаЗначений;  
	
	Таблица.Колонки.Добавить("Телефон");
	Таблица.Колонки.Добавить("Цвет");
	Таблица.Колонки.Добавить("Производитель");
	
	Стр = Таблица.Добавить();
	Стр.Телефон = "1";
	Стр.Цвет = "Зелёный";
	Стр.Производитель = "Tures";
	
	Стр = Таблица.Добавить();
	Стр.Телефон = "2";
	Стр.Цвет = "Красный";
	Стр.Производитель = "Metros";
	
	Стр = Таблица.Добавить();
	Стр.Телефон = "3";
	Стр.Цвет = "Синий";
	Стр.Производитель = "Gunoce";
	
	Возврат Таблица;
	
КонецФункции

Таблица = МояТаблица();
ЗначениеВРеквизитФормы(Таблица, "ТабРеквизит");
Показать
12. FatPanzer 24.03.21 09:39 Сейчас в теме
(5) Судя по ошибке - это третья строка модуля (первые две пустые). Никаких процедур и обработчиков нет, сразу вот так вот код он пишет.
10. SlavaKron 24.03.21 09:38 Сейчас в теме
Ну забыл человек директиву прописать.
13. FatPanzer 24.03.21 09:40 Сейчас в теме
(10) Ниче не знаю, он цену назначил сам )))
15. user654091_qweqweqwe123777 24.03.21 09:41 Сейчас в теме
Привет всем

Тут надо в кавычках Имя реквизита формы писать: ЗначениеВРеквизитФормы(Таб, "ТабРеквизит");

И в Таблице значений не то имя колонки указано: Таб.Колонки.Добавить("Модель")
Должно быть так: Таб.Колонки.Добавить("Телефон");
18. FatPanzer 24.03.21 09:43 Сейчас в теме
(15) Ошибка не про это. До этого он еще не добрался, он на первой же строке споткнулся.
23. user1089020 24.03.21 09:47 Сейчас в теме
(15)
(Таб, "ТабРеквизит")


Спасибо, за указание на косяки. Исправил, но пока выводится пустая таблица (
Прикрепленные файлы:
26. FatPanzer 24.03.21 09:51 Сейчас в теме
16. spacecraft 24.03.21 09:41 Сейчас в теме
Ну, в качестве плохого, но работающего примера:
Стр = ТабРеквизит.Добавить();
Стр.Телефон = "1";
Стр.Цвет = "Зелёный";
Стр.Производитель = "Tures";

Стр = ТабРеквизит.Добавить();
Стр.Телефон = "2";
Стр.Цвет = "Красный";
Стр.Производитель = "Metros";

Стр = ТабРеквизит.Добавить();
Стр.Телефон = "3";
Стр.Цвет = "Синий";
Стр.Производитель = "Gunoce";
Показать

:)
24. user1089020 24.03.21 09:49 Сейчас в теме
(16) Пустая форма (
Прикрепленные файлы:
25. FatPanzer 24.03.21 09:50 Сейчас в теме
27. spacecraft 24.03.21 09:54 Сейчас в теме
(24) Обработчики не просто так придумали. Если данные нужно чтоб отображались сразу при открытии формы, то оптимальное место это обработчик ПриСозданииНаСервере. Вот в нем и нужно этот код применить.
17. user654091_qweqweqwe123777 24.03.21 09:42 Сейчас в теме +0.2 $m
Вот пример:
Таб = Новый ТаблицаЗначений;  
	
	Таб.Колонки.Добавить("Телефон");
	Таб.Колонки.Добавить("Цвет");
	Таб.Колонки.Добавить("Производитель");
	
	Стр = Таб.Добавить();
	Стр.Телефон = "1";
	Стр.Цвет = "Зелёный";
	Стр.Производитель = "Tures";
	
	Стр.Телефон = "2";
	Стр.Цвет = "Красный";
	Стр.Производитель = "Metros";
	
	Стр.Телефон = "3";
	Стр.Цвет = "Синий";
	Стр.Производитель = "Gunoce";
	
	ЗначениеВРеквизитФормы(Таб, "ТабРеквизит");
Показать
Прикрепленные файлы:
ВнешняяОбработка1_ТЗ_НаФорму.epf
28. user1089020 24.03.21 09:55 Сейчас в теме
(17) Спасибо. Это сработало как надо. Осталось понять почему ) Разбираюсь.
29. SagittariusA 24.03.21 09:56 Сейчас в теме +0.2 $m
(28)
Вот еще пример.
Прикрепленные файлы:
Example for Infostart.epf
30. user1089020 24.03.21 09:56 Сейчас в теме
Спасибо всем! Сейчас переварю ваши полезные сообщения и рассчитаюсь )
31. user654091_qweqweqwe123777 24.03.21 09:57 Сейчас в теме
Не за что) Взял в кавычки 2-й параметр фун-ии ЗначениеВРеквизитФормы. ТабРеквизит заменил на "ТабРеквизит" и имя колонки "Модель" заменил на "Телефон"
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)