Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/365: Рейтинг темы: голосов - 365, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 10.08.2016
Сообщений: 18
1C 8.x (тонкий)

Ошибка при указании ПутьКДанным в программно созданной таблице

10.08.2016, 13:34. Показов 74138. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переделываю форму документа КорректировкаЗаписейРегистров под управляемое приложение. Если вручную из реквизитов на форму документа перетащить нужное движение по регистру никаких проблем не возникает: создается таблица, добавляются колонки. Для таблицы регистра бухгалтерии Хозрасчетный свойство ПутьКДанным заполняется значением "Объект.Движения.Хозрасчетный". Но если я программно создаю таблицу и пытаюсь присвоить этому свойству это же значение,
1C
1
2
НоваяТЧ = Элементы.Добавить("Таблица"+СтрокаТаблицыРегистров.Имя,Тип("ТаблицаФормы"), НоваяСтраница); //НоваяСтраница - элем. формы на котором создаю таблицу
НоваяТЧ.ПутьКДанным = "Объект.Движения.Хозрасчетный";
то выскакивает "ошибка при установке значения атрибута контекста (ПутьКДанным)" по причине Недопустимое значение. Из-за чего тут ошибка?

Пробовал привязывать к созданной таблице табличную часть документа ТаблицаРегистровНакопления - свойству ПутьКДанным присвоил значение "Объект.ТаблицаРегистровНакопления", потом программно же создал колонки таблице, указал ПутьКДанным для них и все отработало без нареканий.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2016, 13:34
Ответы с готовыми решениями:

Вывод картинок в программно созданной таблице
Есть форма документа. В зависимости от выбранных регистров на форме программно создаются вкладки, а на них помещаются таблицы. В некоторых...

Ошибка при создании поля таблицы и указании расположения поля в таблице
Пытаюсь создать поле с указанием его расположения в таблице. Пока безрезультатно ALTER TABLE AAA ADD COLUMN 12 VARCHAR(100) AFTER 11

Как обратиться к программно созданной кнопке, на программно созданной форме?
Ребят, я новичек в программировании, все время создавал кнопки вручную, но тут стало интересно научиться программно. Мне нужно чтобы по...

7
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
11.08.2016, 01:57
По моему Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента

Добавлено через 13 минут
И программно получить доступ на форме к свойству движения не получиться ибо они ни где не хранятся.

Добавлено через 1 минуту
Нужно создавать свой НаборЗаписей (реквизит формы) устанавливать отбор и к нему привязывать ТаблицуФормы

Добавлено через 58 секунд
Примерчик
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
&НаСервере
Процедура СоздатьРеквизитыФормыНаборовЗаписейРегистров()
 
    ДобавляемыеРеквизиты = Новый Массив;
    УдаляемыеРеквизиты   = Новый Массив;
    
    Для каждого СтрокаРегистра Из СписокРегистров Цикл
        
        ИмяРеквизита = СтрокаРегистра.ИмяРегистра + "НаборЗаписей";
        ТипРеквизита  = Новый ОписаниеТипов(СтрокаРегистра.ВидРегистра + "НаборЗаписей." + СтрокаРегистра.ИмяРегистра);
        НовыйРеквизит = Новый РеквизитФормы(ИмяРеквизита, ТипРеквизита, , , Истина);
        ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
        
    КонецЦикла;
    
    Если ДобавляемыеРеквизиты.Количество() > 0 Тогда
        ИзменитьРеквизиты(ДобавляемыеРеквизиты, УдаляемыеРеквизиты);
    КонецЕсли;
 
КонецПроцедуры
 
&НаСервере
Процедура АктивироватьНаборыЗаписей()
    Для Каждого СтрокаРегистра Из СписокРегистров Цикл 
        ИмяРеквизита = СтрокаРегистра.ИмяРегистра + "НаборЗаписей";
        НаборЗаписей = РеквизитФормыВЗначение(ИмяРеквизита);
        НаборЗаписей.Отбор.Регистратор.Установить(Документ);
        НаборЗаписей.Прочитать();
        ЗначениеВРеквизитФормы(НаборЗаписей, ИмяРеквизита);
    КонецЦикла;
КонецПроцедуры
0
0 / 0 / 0
Регистрация: 10.08.2016
Сообщений: 18
11.08.2016, 10:56  [ТС]
Цитата Сообщение от Dethmontt Посмотреть сообщение
Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента
Это так, но я же не с этим свойством связываю таблицу. Тип свойства Движения - КоллекцияДвижений. Содержит эта коллекция наборы записей регистров. С одним из таких наборов я и пытаюсь связать таблицу, ведь наборы вполне себе конвертируются на клиенте.

Добавлено через 7 минут
Цитата Сообщение от Dethmontt Посмотреть сообщение
Нужно создавать свой НаборЗаписей (реквизит формы) устанавливать отбор и к нему привязывать ТаблицуФормы
Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей. В обычном приложении именно напрямую к данным и идет привязка, вот и в управляемом надеялся сделать также.

Добавлено через 19 минут
Цитата Сообщение от Dethmontt Посмотреть сообщение
И программно получить доступ на форме к свойству движения не получиться ибо они ни где не хранятся.
Вот тут я может и не до конца понял вашу мысль, но движения по конкретной номенклатуре хранятся в документе, форму которого я и пытаюсь открыть.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
11.08.2016, 11:01
Gectar, форма и документ это разные сущности!

Добавлено через 2 минуты
Как появляется реквизит ОБЪЕКТ в форме документа

1. На сервере происходит чтение из БД документа (ДокументОбъект)
2. Свойства ДокументОбъект,а копируются в реквизит Объект формы
3. ДокументОбъект уничтожается

Добавлено через 49 секунд
Цитата Сообщение от Gectar Посмотреть сообщение
Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей.
Придется именно так и сохранение тоже придется делать самому
1
0 / 0 / 0
Регистрация: 10.08.2016
Сообщений: 18
11.08.2016, 11:11  [ТС]
Я может сейчас и ступлю с этим вопросом, но почему же тогда все работает при ручном перетаскивании того же самого набора записей регистра из движений на форму - таблица создается, колонки добавляются, ПутьКДанным прописывается, работет все чин чинарем и не нужно никаких промежуточных реквизитов?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
11.08.2016, 11:25
Цитата Сообщение от Gectar Посмотреть сообщение
работет все чин чинарем и не нужно никаких промежуточных реквизитов?
потому что платформа все делает за НАС многе оскрывая от наших глазок =)))
0
0 / 0 / 0
Регистрация: 10.08.2016
Сообщений: 18
25.08.2016, 17:38  [ТС]
Оказалось такие сложности совершенно ни к чему, как в общем-то с самого начала и думал. Нужно было просто в настройках реквизитов поставить галочку "Использовать всегда"
Миниатюры
Ошибка при указании ПутьКДанным в программно созданной таблице  
0
0 / 0 / 0
Регистрация: 10.08.2016
Сообщений: 18
25.08.2016, 17:40  [ТС]
Тогда приведенный в самом начале код работает без проблем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2016, 17:40
Помогаю со студенческими работами здесь

Переключать ПутьКДанным программно
Добрый день. Не пойму как реализовать динамическое отображение табличной части ТаблицыЗначений. Имеется ТЗ, один из реквизитов которой...

Выполнить функцию при нажатии программно созданной кнопки
Здрям! Из двух файлов считываю значения в лэйблы и в названия кнопок. Как теперь при нажатии на кнопку 1 очистить буфер и вставить в...

Ошибка при указании свойства
Помогите разобраться с переменной $this в классе а именно почему если в методе указать свойство то возникнет ошибка а если просто указать...

Ошибка при указании конкретного значения
Задача заключается в том, чтобы для всего, что обозначено булевым, как "Услуга" при попытке задать любое значение отличное от нужного...

Ошибка при указании точности для спецификатора %f в scanf
Почему указание точности для спецификации преобразования %f (к примеру %.2f) в строке управления форматом функции scanf (scanf_s) является...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru