1. user1202776 10.07.19 17:51 Сейчас в теме

Вывод таблицы значений на форму(обычная форма)

На форме разместил таблицу значений(картинка 2). Передаю туда таблицу значений(на картинке отладчик).И эта таблица значений не выводится на форме.Что делаю не так?
ТекущиеДанные = ЭлементыФормы.Товары.ТекущиеДанные;
	Отбор = Новый Структура("ИдентификаторСтроки", ТекущиеДанные.ИдентификаторСтроки);
	МассивСтрок = ПервоначальныеДанные.НайтиСтроки(Отбор);
	Если МассивСтрок.Количество() > 0 И МассивСтрок[0].Количество <> ТекущиеДанные.Количество Тогда
		Форма = ПолучитьФорму("ОбщаяФорма.ФормаИзмененияКоличества", , ЭлементыФормы.Товары);
		Форма.КлючУникальности = ТекущиеДанные.ИдентификаторСтроки;
		Форма.КоличествоБыло = МассивСтрок[0].Количество;
		Форма.КоличествоСтало = ТекущиеДанные.Количество;
		Форма.ТабТовары =ИзмененияКоличества.Колонки.ИдентификаторСтроки;
		СтрокиИзменений = ИзмененияКоличества.НайтиСтроки(Отбор);
		Если СтрокиИзменений.Количество() = 1 Тогда
			Форма.ПричинаИзменения = СтрокиИзменений[0].ПричинаИзменения;
			Форма.Комментарий = СтрокиИзменений[0].Комментарий;	
		КонецЕсли;		

		Форма.Открыть();
Показать
Прикрепленные файлы:
Ответы
Избранное Подписка Сортировка: Древо
2. independ 510 10.07.19 18:52 Сейчас в теме
(1)
Форма.ЭлементыФормы.ВашаТаблицаЗначений.СоздатьКолонки();
3. user1202776 10.07.19 20:45 Сейчас в теме
(2) сначала сформировать колонки, а потом уже передавать в таблицу значений?или как?
5. catena 100 11.07.19 05:31 Сейчас в теме
(3)После заполнения таблицы, элемнту формы нужно сказать, чтобы он привел себя в соответствии с источником.

ТабличноеПоле (TableBox)
СоздатьКолонки (CreateColumns)
Синтаксис:

СоздатьКолонки()
Описание:

Удаляет старые колонки и загружает новые колонки из источника данных.

Доступность:

Толстый клиент.
Пример:

ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Показать
8. user1202776 11.07.19 10:36 Сейчас в теме
(5)создал нужные колонки.Теперь как туда передасть данные этих колонок?)
9. catena 100 11.07.19 10:41 Сейчас в теме
(8)Не понимаю, о чем вы. Что такое "данные колонок" и как были созданы нужные колонки.
10. user1202776 11.07.19 10:49 Сейчас в теме
(9) вот так было создано:

Процедура ПриОткрытии(ИзмененияКоличества)
	Таблица=Новый ТаблицаЗначений;

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

КонецПроцедуры
11. user1202776 11.07.19 10:51 Сейчас в теме
(9)"ИзмененияКоличества" содержит данные колонок,например:
количество Комментарий
1 афааыыааа
2 вавававававав
56
12. user1202776 11.07.19 10:55 Сейчас в теме
(9)вот что подразумеваю под "данные колонок".Содержимое таблицы значений.Как передать это содержимое в таблицу?
Прикрепленные файлы:
13. catena 100 11.07.19 10:56 Сейчас в теме
(12)Заполняете таблицу-источник. После заполнения таблицы-источника к элементу формы, который связан с этой таблицей, применяете СоздатьКолонки.
14. user1202776 11.07.19 10:57 Сейчас в теме
(13)можно пример как заполнить таблицу источник?)
15. catena 100 11.07.19 11:00 Сейчас в теме
(14)А чем вариант (6)(7) вас не устроил?
7. user1202776 11.07.19 10:09 Сейчас в теме
(2)не тот код скинул
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	ИзмененияКоличества = Новый ТаблицаЗначений;
	ИзмененияКоличества.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
	ИзмененияКоличества.Колонки.Добавить("ИдентификаторСтроки", Новый ОписаниеТипов("УникальныйИдентификатор"));
	ИзмененияКоличества.Колонки.Добавить("ПричинаИзменения", Новый ОписаниеТипов("СправочникСсылка.ПричиныИзменения"));
	ИзмененияКоличества.Колонки.Добавить("КоличествоБыло", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
	ИзмененияКоличества.Колонки.Добавить("КоличествоСтало", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
	ИзмененияКоличества.Колонки.Добавить("Комментарий", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(200)));
	
	ПервоначальныеДанные = Товары.Выгрузить(, "ИдентификаторСтроки,Количество");
	
КонецПроцедуры
Показать
16. user1202776 11.07.19 11:04 Сейчас в теме
(15)этот вариант в форме документа находится.Я "ИзмененияКоличества " итак передаю в таблицу, но выводятся сами колонки, без их значений.
4. Alex_241 10.07.19 20:46 Сейчас в теме
У тебя, не видно создания колонок. Так же можешь посмотреть, может у тебя свойство видимости отключаешь в коде где-то ещё (например при открытии формы).
6. user1202776 11.07.19 10:07 Сейчас в теме
(4) я только сейчас увидел,что не тот код скинул.
вот что хотел скинуть:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	ИзмененияКоличества = Новый ТаблицаЗначений;
	ИзмененияКоличества.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
	ИзмененияКоличества.Колонки.Добавить("ИдентификаторСтроки", Новый ОписаниеТипов("УникальныйИдентификатор"));
	ИзмененияКоличества.Колонки.Добавить("ПричинаИзменения", Новый ОписаниеТипов("СправочникСсылка.ПричиныИзменения"));
	ИзмененияКоличества.Колонки.Добавить("КоличествоБыло", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
	ИзмененияКоличества.Колонки.Добавить("КоличествоСтало", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
	ИзмененияКоличества.Колонки.Добавить("Комментарий", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(200)));
	
	ПервоначальныеДанные = Товары.Выгрузить(, "ИдентификаторСтроки,Количество");
	
КонецПроцедуры
Показать
17. Alex_241 11.07.19 17:02 Сейчас в теме
(6)Как видно по твоему коду, ты создаешь новую таблицу, а должен заполнять ту что у тебя уже на форме лежит.

[ИмяТаблицыСформы].Колонки.Добавить("[НазваниеКолонки]")

А так у тебя происходит заполнение совершенно другой табличной части, которой нету на форме
18. user1202776 11.07.19 18:15 Сейчас в теме
(17) я создал колонки:
   Процедура ПриОткрытии(ИзмененияКоличества)
    Таблица=Новый ТаблицаЗначений;

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

КонецПроцедуры
 

Но теперь они пустые. Как их заполнить?
19. Alex_241 11.07.19 18:36 Сейчас в теме
(18)Все зависит от куда ты получаешь данные, можешь циклом заполнять данные в таблицу, можешь выгружать по колонкам, можешь запросом получить данные и заполнить с помощью "ЗаполнитьЗначенияСвойств()", это уже все от тебя зависит, как ты будешь заполнять.
20. user1202776 11.07.19 18:43 Сейчас в теме
(19) например из таблицы значений ТЗ. Таблица, которую нужно заполнить называется "Причина". Можете показать пример на заполнить?
21. Alex_241 11.07.19 18:55 Сейчас в теме
(20)Самое просто циклом
Для каждого Элем из ТЗ цикл
НовСтр = Причина.Добавить()
далее сопоставляем колонки, если колонки называются одиннаково, можете воспользоватся "ЗаполнитьЗначенияСвойств()"

конеццикла
22. user1202776 11.07.19 19:00 Сейчас в теме
23. user1202776 12.07.19 11:10 Сейчас в теме
(21)как вообще получить таблицу "товары" со всеми заполненными данными?
Смотрю в отладке,а там нету заполненных данных.
Пытаюсь получить по так:
Таб=ЭлементыФормы.Товары.Данные;

и так:
Таб=ЭлементыФормы.Товары;
24. Alex_241 12.07.19 15:31 Сейчас в теме
(23)Вам нужно получить данные, а не таблицу с формы, они могут называться по разному.

Например Элемент формы может называть ТабличноеПоле1, а данные данного ТП будут в Товары. Посмотрите в конфигураторе.

Если он в документе, то даже не надо приравнивать Ссылка.Товары - где ссылка - это ссылка на документ
25. user1202776 12.07.19 16:01 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

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

Программист 1С
Москва
Полный день