Программное заполнение колонок таблицы на форме 1С
Доброе утро,уважаемые форумчане!
В общем создал таблицу на форме, добавил колонки( Наименование(номенклатуры),Артикул,Группа,Размер,Цвет(Это две характеристики номенклатуры)). Могу ли я как то программно заполнить свою таблице всей номенклатурой из базы? В колонках "Наименование" и "Артикул", "Группа" добавлены ссылки на соответствующие им значения) Нужно ли мне как то в запросе,если я хочу сделать программное заполнение таблицы снова получать значения всех артикулов,имен и групп номенклатуры?Может кто подскажет?Заранее спасибо!
В общем создал таблицу на форме, добавил колонки( Наименование(номенклатуры),Артикул,Группа,Размер,Цвет(Это две характеристики номенклатуры)). Могу ли я как то программно заполнить свою таблице всей номенклатурой из базы? В колонках "Наименование" и "Артикул", "Группа" добавлены ссылки на соответствующие им значения) Нужно ли мне как то в запросе,если я хочу сделать программное заполнение таблицы снова получать значения всех артикулов,имен и групп номенклатуры?Может кто подскажет?Заранее спасибо!
По теме из базы знаний
- Управляемая форма 1С 8.2 (8.3) – работа с деревом значений и таблицей значений. Часть I (Основы)
- Программное создание реквизита управляемой формы заданной точности
- Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы
- Консоль запросов для управляемых форм
- 1С:Свод отчетов 8
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
А изначально они от куда заполняются?
Вообще
1. Если таблица пустая, то что-то типа такого:
Далее
2. Если таблица не пустая, то запихать ее в запрос, и сделать связь по ней.
Нужно ли мне как то в запросе,если я хочу сделать программное заполнение таблицы снова получать значения всех артикулов,имен и групп номенклатуры
А изначально они от куда заполняются?
Вообще
1. Если таблица пустая, то что-то типа такого:
ВЫБРАТЬ
Номенклатура.Наименование,
.......
.......
Номенклатура.Артикул
ИЗ
Справочник.Номенклатура КАК Номенклатура
Далее
ВашаТаблица = Запрос.Выполнить.Выгрузить();
2. Если таблица не пустая, то запихать ее в запрос, и сделать связь по ней.
(3))
Крч получаю значения номенклатуры,артикула и группы номенклатуры,вопрос...Я просто еще начинающий)Как мне получить ссылку на номенклатуры?Ведь запрос то с ней по идее работает
&НаСервере
Процедура ЗаполнитьТаблицуНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Родитель.Ссылка КАК РодительСсылка
|ПОМЕСТИТЬ ВТНоменклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ХарактеристикиНоменклатуры.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВТХарактеристики
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
|ГДЕ
| ХарактеристикиНоменклатуры.Владелец.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВТНоменклатура.Ссылка КАК Ссылка,
| ВТНоменклатура.Артикул КАК Артикул,
| ВТНоменклатура.РодительСсылка КАК РодительСсылка
|ИЗ
| ВТНоменклатура КАК ВТНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ВТХарактеристики КАК ВТХарактеристики
| ПО ВТНоменклатура.Ссылка = ВТХарактеристики.Ссылка.Владелец.Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ПоказатьКрч получаю значения номенклатуры,артикула и группы номенклатуры,вопрос...Я просто еще начинающий)Как мне получить ссылку на номенклатуры?Ведь запрос то с ней по идее работает
(4)
Что это значит?
У вас в результате запроса будут ссылка на номенклатуру (Ссылка), ссылка на родитель (РодительСсылка), ну и собственно артикул номенклатуры.
Потом в обходке результата запроса можно и выдернуть ссылку на номенклатуру.
Как мне получить ссылку на номенклатуры?
Что это значит?
У вас в результате запроса будут ссылка на номенклатуру (Ссылка), ссылка на родитель (РодительСсылка), ну и собственно артикул номенклатуры.
Потом в обходке результата запроса можно и выдернуть ссылку на номенклатуру.
Просто результатом запроса у меня будет таблица,но не пойму с каким параметром,где Запрос установить параметр, пробовал указывать там Запрос.УстановитьПараметр("Ссылка", &Ссылка);
Потом писал конструкцию что то типо...РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Но по кнопке ничего не заполняется(
Потом писал конструкцию что то типо...РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Но по кнопке ничего не заполняется(
(7)Спасибо,разобрался)
[1C-CODE][/Таблица = РезультатЗапроса.Выгрузить();
Для каждого СтрокаТЧ из КаталогНСИ цикл
НоваяСтрока = КаталогНСИ.Добавить();
ЗаполнитьЗначения(НоваяСтрока, СтрокаТЧ);
КонецЦикла
CODE]
Почему у меня конфигуратор не находит функцию ЗаполнитьЗначения?Она же вроде встроенная в конфигураторе или я что-то путаю?
[1C-CODE][/Таблица = РезультатЗапроса.Выгрузить();
Для каждого СтрокаТЧ из КаталогНСИ цикл
НоваяСтрока = КаталогНСИ.Добавить();
ЗаполнитьЗначения(НоваяСтрока, СтрокаТЧ);
КонецЦикла
CODE]
Почему у меня конфигуратор не находит функцию ЗаполнитьЗначения?Она же вроде встроенная в конфигураторе или я что-то путаю?
Для каждого Строка Из Объект.Товары Цикл
неоСпецЦена = УправлениеСвойствами.ЗначениеСвойства(СсылкаНоменклатура, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Спец.Цена_d078077753ff4044b46b0f07861294b3"));
Строка.неоСпецЦена = неоСпецЦена;
КонецЦикла;
Как мне заполнить именно текущую строку значением ТЧ,а не все строки как в моем примере?
неоСпецЦена = УправлениеСвойствами.ЗначениеСвойства(СсылкаНоменклатура, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Спец.Цена_d078077753ff4044b46b0f07861294b3"));
Элементы.Товары.ТекущиеДанные.неоСпецЦена = неоСпецЦена;
(13)
Все бы хорошо... но мне надо как то передать это на сервер,у меня значения в колонке не меняются(
неоСпецЦена = УправлениеСвойствами.ЗначениеСвойства(СсылкаНоменклатура, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Спец.Цена_d078077753ff4044b46b0f07861294b3"));
Элементы.Товары.ТекущиеДанные.неоСпецЦена = неоСпецЦена;
Элементы.Товары.ТекущиеДанные.неоСпецЦена = неоСпецЦена;
Все бы хорошо... но мне надо как то передать это на сервер,у меня значения в колонке не меняются(
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот