![]() |
![]() |
![]() |
|
Добавление реквизита в табличную часть Михаил Козлов, Ильф, youalex, Jackman, sikuda, СвинТуз, RVN, АгентБезопаснойНацио, Волшебник, nick86, Расим, BalBess, viraboy, arsik, cyberandr, Лирик, 2S, Уран Ренгенович, formista2000, Дмитрий, Guk, reg0303, pv94384, Timon1405, Aleksey, Мультук, ndrv, Hawk_1c, phabeZ, banco, DimR_71, Gennady, Prog_man, ДобрыйПутник, Nder, dmt, DemonShinji2, Шурик71, PLUT, butterbean, Fedor-1971, vicof, okmail, Vstur, segn, shuhard, maxab72, backfire, VaganovSP, Fregat
| ☑ | ||
---|---|---|---|---|
0
cyberandr
26.06.25
✎
11:27
|
Всем привет! Мне нужно в табличную часть добавить список неких складов в виде колонок.
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Объект.Регион = Справочники.Регионы.НайтиПоНаименованию("Москва"); СписокСкладов = ПолучитьСписокСпециальныхСкладов(); ТабЧастьСводная = Элементы.ТабличнаяЧастьСводная; для Каждого склад из СписокСкладов Цикл НовыйЭлемент= ЭтаФорма.Элементы.Добавить(склад.представление,Тип("ПолеФормы"),ТабЧастьСводная); НовыйЭлемент.вид = ВидПоляФормы.ПолеВвода; //НовыйЭлемент.ПутьКДанным = НовыйЭлемент.Видимость = истина; КонецЦикла; КонецПроцедуры Но вывести не удается. Путь к данным заполнить не могу, так как в метаданных у меня этих складов нет. |
|||
2
Мультук
гуру
26.06.25
✎
11:27
|
(0)
НовыйЭлемент= ЭтаФорма.Элементы.Добавить(склад.представление,Тип("ПолеФормы"),ТабЧастьСводная); Вот тут (выделено) могут быть пробелы? Например "Самый главный склад" или "Склад №" ? Если - "да", то на этом можно и закончить. |
|||
3
Ильф
26.06.25
✎
11:41
|
(0) надо еще и реквизиты в ТЧ на форме добавить
|
|||
4
cyberandr
26.06.25
✎
11:56
|
(2) нет с этим я первым делом разобрался. Там пока складов благо немного и все наименования типа "Склад1_Москва", "Склад2_Москва".
(3) Какие реквизиты? |
|||
5
youalex
26.06.25
✎
12:02
|
(4) В реквизит формы Объект.ТабличнаяЧастьСводная - добавить колонки программно, через ИзменитьРеквизиты()
Ты пишешь "Путь к данным заполнить не могу, так как в метаданных у меня этих складов нет". Можно просто в форме эти реквизиты (колонки) добавить, и у элементов соответственно путь проставить |
|||
6
Ильф
26.06.25
✎
12:02
|
Объект.ТабличнаяЧастьСводная.(сюда добавить реквизит)
[склад.представление] естественно кодом |
|||
7
Ильф
26.06.25
✎
12:04
|
(4) ключевое слово "пока"
и сломать твою поделку любой пользователь сможет добавив не уникальное представление, или пробелы, или символы нехорошие в начало |
|||
8
cyberandr
26.06.25
✎
12:14
|
(7) там склады просто так не добавишь, плюс придется реквизит наверное добавлять, поэтому да- не хорошо, но пока терпит.
|
|||
9
Ильф
26.06.25
✎
12:15
|
(8) так пиши сразу имя элемента и реквизита "Склад_" + Склад.УникальныйИдентификатор()
|
|||
10
Волшебник
26.06.25
✎
12:25
|
(9) черточки помешают
|
|||
11
cyberandr
26.06.25
✎
12:49
|
(5),(6) Таким образом?
НовыеРеквизиты = Новый Массив; для Каждого склад из СписокСкладов Цикл НовыйЭлемент= Новый РеквизитФормы("ТабличнаяЧастьСводная"+Склад.представление,Новый ОписаниеТипов("ПолеФормы"),"Объект.ТабличнаяЧастьСводная"); НовыеРеквизиты.Добавить(НовыйЭлемент); КонецЦикла; ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты); |
|||
12
youalex
26.06.25
✎
12:50
|
(11) >Новый ОписаниеТипов("ПолеФормы")
какой у тебя тип данных |
|||
13
cyberandr
26.06.25
✎
12:51
|
Справочник.склады
|
|||
14
cyberandr
26.06.25
✎
12:56
|
как понимаю
НовыйЭлемент= Новый РеквизитФормы(Склад.представление,Новый ОписаниеТипов("Справочник.Склады"),"Объект.ТабличнаяЧастьСводная"); ? |
|||
15
Волшебник
26.06.25
✎
13:00
|
(14) Вы гадаете что ли?
Новый ОписаниеТипов("СправочникСсылка.Склады") |
|||
16
youalex
26.06.25
✎
13:02
|
(13) Чем ты будешь эти программно добавленные колонки заполнять?
|
|||
17
СвинТуз
26.06.25
✎
13:08
|
(0)
Выглядит все странно. Огласите пожалуйста весь список (С) Зачем это все? |
|||
18
СвинТуз
26.06.25
✎
13:10
|
Есть табличная часть, которая видимо не хранит
ничего о специальных складах. Зачем то добавляются инородные тела в виде колонок. Киборг взломал аккаунт на 21-м году программирования? )) |
|||
19
СвинТуз
26.06.25
✎
13:11
|
Если "ПутьКДанным" не заполнять, то колонка должна присутствовать.
Зачем эти танцы если в колонки нечего положить? Оставьте пустой. |
|||
20
СвинТуз
26.06.25
✎
13:13
|
НовыйЭлемент.Заголовок = склад.представление;
Живите спокойно с пустыми полями. |
|||
21
cyberandr
26.06.25
✎
13:16
|
(19) Я тоже так думаю, но
для Каждого склад из СписокСкладов Цикл НовыйЭлемент= ЭтаФорма.Элементы.Добавить(склад.представление,Тип("ПолеФормы"),ТабЧастьСводная); НовыйЭлемент.вид = ВидПоляФормы.ПолеВвода; // НовыйЭлемент.ПутьКДанным =ЭтотОбъект.Элементы[склад.представление]; НовыйЭлемент.Видимость = истина; КонецЦикла; в таком варианте складов на форме я не вижу. |
|||
22
СвинТуз
26.06.25
✎
13:18
|
(21)
Только видно не будет, а так нормально ))) |
|||
23
СвинТуз
26.06.25
✎
13:19
|
Вам надо реквизит какой-то добавить в ТЧ.
Потом его указать в пути к данным. |
|||
24
СвинТуз
26.06.25
✎
13:20
|
#Область ДобавлениеРеквизитовФормы
ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("АВ_ДатаУведомления", Новый ОписаниеТипов("Дата",,Новый КвалификаторыДаты(ЧастиДаты.Дата)), "Объект.ТаблицаСуществующая", "Дата уведомления заголовок")); ЭтотОбъект.ИзменитьРеквизиты(ДобавляемыеРеквизиты); #КонецОбласти #Область ДобавлениеЭлементовФормы ЭлементФормы = ЭтотОбъект.Элементы.Добавить("ДатаУведомления", Тип("ПолеФормы"), ЭтотОбъект.Элементы.ТаблицаСуществующая); ЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка; ЭлементФормы.ПутьКДанным = "Объект.ТаблицаСуществующая.АВ_ДатаУведомления"; #КонецОбласти |
|||
25
Ильф
26.06.25
✎
13:21
|
там должно быть булево... есть склад для строки или нет
наверное так |
|||
26
СвинТуз
26.06.25
✎
13:21
|
Поле появится, но будет пустым.
|
|||
27
Ильф
26.06.25
✎
13:23
|
или число - количество на складе?
|
|||
28
cyberandr
26.06.25
✎
13:29
|
у меня сейчас такой код получается
СписокСкладов = ПолучитьСписокСпециальныхСкладов(); ТабЧастьСводная = Элементы.ТабличнаяЧастьСводная; НовыеРеквизиты = Новый Массив; для Каждого склад из СписокСкладов Цикл НовыйЭлемент= Новый РеквизитФормы(Склад.представление,ПолучитьОписаниеТиповЧисла(15,2),"Объект.ТабличнаяЧастьСводная"); НовыеРеквизиты.Добавить(НовыйЭлемент); КонецЦикла; ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты); для Каждого склад из СписокСкладов Цикл НовыйЭлемент= ЭтаФорма.Элементы.Добавить(склад.представление,Тип("ПолеФормы"),ТабЧастьСводная); НовыйЭлемент.вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.Заголовок = склад.Представление; // НовыйЭлемент.ПутьКДанным =ЭтотОбъект.Объект.ТабличнаяЧастьСводная[склад.представление]; НовыйЭлемент.Видимость = истина; КонецЦикла; ////////////////////////////////////////////////////////// на НовыйЭлемент.ПутьКДанным =ЭтотОбъект.Объект.ТабличнаяЧастьСводная[склад.представление]; - выдает ошибку поле объекта не обнаружено. может путь реквизита не верный "Объект.ТабличнаяЧастьСводная"? Хотя какой тогда? |
|||
29
Ильф
26.06.25
✎
13:34
|
ЭтотОбъект.Объект.ТабличнаяЧастьСводная[склад.представление]
"Объект.ТабличнаяЧастьСводная." + [склад.представление] |
|||
30
youalex
26.06.25
✎
13:33
|
"Объект.ТабличнаяЧастьСводная." + склад.представление
|
|||
31
СвинТуз
26.06.25
✎
13:34
|
НовыйЭлемент.ПутьКДанным ="Объект.ТабличнаяЧастьСводная." + склад.представление;
|
|||
32
cyberandr
26.06.25
✎
13:55
|
(29),(30),(31) - супер! спасибо большое
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |