Имя: Пароль:
1C
 
Правильное написание "ПутьКДанным" для программно созданной колонки на форме
,
0 Dragonofdwarfs
 
25.07.24
09:12
Доброго времени суток, коллеги! Во вложении то - каким образом я создаю новую колонку. У объекта есть табличная часть товары, у неё есть колонка номенклатуры, а у самой номенклатуры есть реквизит, который мне надо поместить в создаваемую колонку. Можно ли как-то это воспроизвести чтобы не делать дополнительного реквизита табличной части(что тупо, т.к эти данные уже есть в номенклатуре)?
1 Dragonofdwarfs
 
25.07.24
09:15
С этим кодом выдаёт такую ошибку:
Ошибка при установке значения атрибута контекста (ПутьКДанным)
{Документ.ЗаказКлиента.Форма.ик_ФормаДокумента.Форма(281)}:НоваяКолонка.ПутьКДанным = "Объект.Товары.Номенклатура.ик_ДатаРУ";
{Документ.ЗаказКлиента.Форма.ик_ФормаДокумента.Форма(1641)}:СформироватьОтображениеТабличнойЧасти ("СтрТовары");

по причине:
Недопустимое значение
2 Буковка
 
25.07.24
09:20
(0) а почему Вы просто на форму не вытащите этот реквизит? без создания колонки программно?
3 Dragonofdwarfs
 
25.07.24
09:23
(2) У нас в этом плане проблема...Вся форма создаётся программно))) Знаю, что это не нормально, нихрена не читаемо, но как есть. Когда я пришёл это уже было)
4 Garykom
 
гуру
25.07.24
10:09
У тебя Товары точно внутри Объект?
5 Dragonofdwarfs
 
25.07.24
10:11
(4) да
6 Garykom
 
гуру
25.07.24
10:23
Хз у меня работает
7 Dragonofdwarfs
 
25.07.24
10:27
(6) Так вот и я в шоке)
8 Garykom
 
гуру
25.07.24
10:30
(3) Разверни Товары.Номенклатура, убедись что там видит ик_ДатаРУ
И что совпадает имя у реквизита номенклатуры и в ПутьКДанным
9 Garykom
 
гуру
25.07.24
10:29
(8)+ Галочка "Использовать всегда" стоит
10 Dragonofdwarfs
 
25.07.24
10:32
(8) Да, всё вроде в порядке
11 Мультук
 
гуру
25.07.24
10:41
(10)

P.S.
Не думая головой пару строк.

ик_ДатаРУ -- реквизит из расширения?

Шаманские действия вроде очистки кэша?
12 Dragonofdwarfs
 
25.07.24
10:43
(11) нет, реквизит самой номенклатуры
13 Dragonofdwarfs
 
25.07.24
10:45
(11) У базы есть только одно расширение, и там номенклатуры нет
14 Garykom
 
гуру
25.07.24
10:57
Создай новую форму (не копированием), проверь что пашет
15 Dragonofdwarfs
 
25.07.24
11:32
Кстати, может это приоткроет завесу тайны... Сначала я пытался изменить запрос, который писали до меня шибко умные или не очень люди, для программного создания формы... И вот с чем столкнулся...в самом запросе (где параметр &Строки это:ЭтаФорма.Объект.Товары.Выгрузить()) я пытался получить это поле аля "Строки.Номенклатура.ик_ДатаРУ", и он ругался, типо не мог найди этого поля - я не понимал почему, поэтому решил сам программно создать колонку.
16 Dragonofdwarfs
 
25.07.24
11:34
(15) Может я конечно дундук и что-то не понимаю, но вроде как это - Строки.Номенклатура.ик_ДатаРУ должно работать
17 Garykom
 
гуру
25.07.24
11:38
(16) Эмм форма элемента с объектом и форма списка с динамическим списком это немного разное
18 Лирик
 
25.07.24
11:39
Может в "ик_ДатаРУ" закралась латиница, попробуйте скопировать в код из названия реквизита.
19 Dragonofdwarfs
 
25.07.24
11:44
(17) так это форма элемента с объектом
20 Dragonofdwarfs
 
25.07.24
11:44
(18) Хорошая мысль, ща проверим
21 Ненавижу 1С
 
гуру
25.07.24
11:45
Мне кажется для табличных частей и таблиц значений такое не сработает. Такое работает для динамических списков.
Посмотрите, например, как реализовано типовой реализации или в заказе клиента поле "Артикул"
22 Dragonofdwarfs
 
25.07.24
11:50
(18) к сожалению, нет
23 Dragonofdwarfs
 
25.07.24
11:55
Что ещё страннее, он ругается и на это...
24 Лирик
 
25.07.24
11:57
(22) В строке кода "НоваяКолонка = Элементы.Добавить....." остановитесь в отладчике, посмотрите ПутьКДанным у Элементы.Товары, должно быть "Объект.Товары".
В порядке бреда поменяйте местами:
НоваяКолонка.ПутьКДанным = ....
НоваяКолонка.Вид = ....
у (6) же работает.
25 Dragonofdwarfs
 
25.07.24
12:00
(24) просто "Товары", сейчас посмотрим,что будет, если объект опустить
26 Лирик
 
25.07.24
12:01
И вообще, если вы форму рисуете в коде, не плохо убедиться, что к моменту создания колонки уже есть Элемент "Товары".
27 Dragonofdwarfs
 
25.07.24
12:01
(26) есть, уже проверял)
28 Лирик
 
25.07.24
12:04
Ну вот все сложилось, программно создан реквизит формы  "Товары", тип и наполнение смотрите выше по коду. В зависимости от типа формируйте колонки.
29 Ненавижу 1С
 
гуру
25.07.24
12:07
Попробуйте конечно разное, а потом прочтите (21)
30 Лирик
 
25.07.24
12:09
(29) К (21) у (6) работает же
31 RomaH
 
naïve
25.07.24
12:11
У тебя Товары точно внутри Объект?
32 RomaH
 
naïve
25.07.24
12:11
(5) - вот не вижу
33 RomaH
 
naïve
25.07.24
12:12
потому как в (0) ты добавляешь срок действия в "Товары", а не в "Объект.Товары"
34 Ненавижу 1С
 
гуру
25.07.24
12:14
(30) внимательно читаем, в (6) динамический список
35 Лирик
 
25.07.24
12:27
(34) Путь к данным "Объект.проф_Расходы.проф_Контрагент", не похоже на ДС
36 Garykom
 
гуру
25.07.24
12:31
(34) в (6) у меня форма элемента и объект с ТЧ проф_Расходы
37 Garykom
 
гуру
25.07.24
12:33
(36)+ причем таблица проф_Расходы на форму элемента программно добавляется со всеми реквизитами
просто еще вытащил наименование контрагента через .
38 Лирик
 
25.07.24
12:35
(36) Все правильно, работает с ТЧ, без проблем, у ТС путь к данным таблицы формы "Товары" нужно смотреть, у него не путь до тч, там что то другое.
39 Ненавижу 1С
 
гуру
25.07.24
13:52
А тип не составной?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn