![]() |
![]() |
![]() |
|
Добавление реквизита в табличную часть | ☑ | ||
---|---|---|---|---|
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) - супер! спасибо большое
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |