Недопустимый путь к реквизиту путь изменить реквизиты

   lanc2233

10.01.11 — 16:16

Пытаюсь сформировать таблицу и вывести ее на форму.

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   
   ТЗ = Новый ТаблицаЗначений;

   ТЗ.Колонки.Добавить(«Тест», Новый ОписаниеТипов(«Строка»));

   
   МассивДобавляемыеРеквизиты = Новый Массив;

   
   Для каждого КолонкаРезультата из ТЗ.Колонки Цикл

       НовРек = Новый РеквизитФормы(КолонкаРезультата.Имя, КолонкаРезультата.ТипЗначения, «Реквизит1»);

       МассивДобавляемыеРеквизиты.Добавить(НовРек);

   КонецЦикла;

   
   ИзменитьРеквизиты(МассивДобавляемыеРеквизиты);

   
   ЗначениеВРеквизитФормы(ТЗ, «Реквизит1»);

   
КонецПроцедуры

Ошибка при вызове метода контекста (ИзменитьРеквизиты)

   ИзменитьРеквизиты(МассивДобавляемыеРеквизиты);

по причине:

Недопустимый путь к реквизиту. Путь: «Реквизит1»

Как ее таки вывести на форму?

Попутно вопрос, для такой таблицы можно будет задать обработчики?

  

Партнерская программа EFSOL Oblako

   aleknek

1 — 10.01.11 — 17:17

   lanc2233

2 — 10.01.11 — 17:24

Спасибо. Вот этот код у меня тоже заработал.

МассивРеквизитов = Новый Массив;
   МассивТипаВыбора = Новый Массив;
   МассивТипаВыбора.Добавить(Тип(«ТаблицаЗначений»));
   ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
   МассивРеквизитов.Добавить(Новый РеквизитФормы(«МойРеквизит», ОписаниеТипаВыбора, «», «Моя таблица»));

       Для Каждого Колонка Из ТЗ.Колонки Цикл
        МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, «МойРеквизит»));
   КонецЦикла;

   ИзменитьРеквизиты(МассивРеквизитов);

       ТаблицаПолейВыбора                          = Элементы.Добавить(«МояТаблица», Тип(«ТаблицаФормы»),Родитель);
   ТаблицаПолейВыбора.ПутьКДанным              = «МойРеквизит»;
   ТаблицаПолейВыбора.Отображение              = ОтображениеТаблицы.Список;
   Для Каждого Колонка Из ТЗ.Колонки Цикл
       НовыйЭлемент = Элементы.Добавить(«Дерево_» + Колонка.Имя, Тип(«ПолеФормы»), ТаблицаПолейВыбора);
       НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
       НовыйЭлемент.ПутьКДанным = «МойРеквизит.» + Колонка.Имя;
   КонецЦикла;    
   ЗначениеВРеквизитФормы(ТЗ,»МойРеквизит»);

Скажите как к этой таблице добавить обработчик события?
Интересует ПриНачалеПеретаскивания()

   lanc2233

3 — 11.01.11 — 00:43

up

   lanc2233

4 — 11.01.11 — 11:28

up.
Тоесть вопрос можно переформулировать так : можно-ли эту созданную таблицу, связать с реквизитом на форме, созданным в конфигураторе (которому в свою очередь пропишу обработчики)?

   Dem1urg

5 — 11.01.11 — 13:12

(4) Вопрос не понял. Если ты в конфигураторе создал реквизит формы, а элемент формы для него хочешь создать программно, то да, такое можно сделать.

   lanc2233

6 — 11.01.11 — 13:53

(5) да, именно так.
но элемент созданный в (2) почему-то получается ни как не связанным с реквизитом.

   Dem1urg

7 — 11.01.11 — 17:11

(6) Так ты сам себе противоречишь. Ты в (2) как раз реквизит программно создаешь. А потом на него элемент цепляешь.

   lanc2233

8 — 11.01.11 — 19:58

Ок. Тогда можете мне подсказать, что поменять в коде, чтобы реквизит создать у конфигураторе, добавить ему событий, а саму ТЗ на форме нарисовать программно.

   Defender aka LINN

9 — 11.01.11 — 20:08

(8) События — у элементов формы.
А как добавить обработчик — написано в СП. У тебя ж его не украли, надуюсь?

   Defender aka LINN

10 — 11.01.11 — 20:09

+(9) Ну и, какбе, если уж ты реквизиты создал в конфигураторе, то что мешает и элементы формы там же создать?

   lanc2233

11 — 11.01.11 — 20:18

(10) я не знаю наперед сколько у таблицы будет колонок и строк

(8) если реквизит программно создан, ему обработчик, насколько я понимаю, добавить нельзя?

   AndreyLan

12 — 11.01.11 — 21:05

(11) Обработчик назначается для элемента формы. Для программно созданного элемента можно программно назначить обработчик.

   Dem1urg

13 — 12.01.11 — 09:20

(11) СП все-таки украли. А жаль.

  

5 Элемент

14 — 12.01.11 — 09:33

(2) ТаблицаПолейВыбора.УстановитьДействие(«ПриНачалеПеретаскивания», «ТаблицаПолейВыбораПриНачалеПеретаскивания»)

Код 1C v 8.3

 // Реквизиты
ДобавляемыеРеквизиты = Новый Массив;

ИмяТаблицы = "КомандыДополнительныхОбработок";
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяТаблицы, Новый ОписаниеТипов("ТаблицаЗначений")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Ссылка", Новый ОписаниеТипов("СправочникСсылка.ДополнительныеОтчетыИОбработки"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ВариантЗапуска", Новый ОписаниеТипов("ПеречислениеСсылка.СпособыВызоваДополнительныхОбработок"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ИмяЭлемента", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Представление", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Идентификатор", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ЭтоОтчет", Новый ОписаниеТипов("Булево"), ИмяТаблицы));

Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);

//реквизит
ИмяЭлемента = "Добавлен" + ИндексЭлемента;
Реквизит = Новый РеквизитФормы(ИмяЭлемента, ОписаниеТипов);
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);

//команда печать
ИмяКомандыПечать = "ДобавленПечать" + ИндексЭлемента;
КомандаПечать = Команды.Добавить(ИмяКомандыПечать);
КомандаПечать.Действие = "ПечатьДокумента";
КомандаПечать.Подсказка = НСтр("ru = 'Печать документа...'");

//элемент формы
//Родитель                     = Элементы.ГруппаСформированныеДокументы;
Элемент                      = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ЭлементГруппа);
Элемент.Вид                  = ВидПоляФормы.ПолеНадписи;
Элемент.ПутьКДанным          = ИмяЭлемента;
Элемент.Гиперссылка          = Истина;
Элемент.ПоложениеЗаголовка   = ПоложениеЗаголовкаЭлементаФормы.Нет;

ЭтаФорма[ИмяЭлемента] = Документ;

//кнопка печать
ИмяЭлементаПечать = "ДобавленПечать" + ИндексЭлемента;
ЭлементПечать = Элементы.Добавить(ИмяЭлементаПечать, Тип("КнопкаФормы"), ЭлементГруппа);
ЭлементПечать.Картинка = БиблиотекаКартинок.Печать;
ЭлементПечать.Отображение = ОтображениеКнопки.Картинка;
ЭлементПечать.ИмяКоманды = ИмяКомандыПечать;

Добрый день!
Возникла проблема с добавлением реквизитаФорму на Саму Форму.
Сама процедура:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&НаСервере
Процедура ДобаватьТаблицуНаФорму(Таблица) 
    
    ДобавитьРеквизиты = Новый Массив;
    РеквизитТаблицы = Новый РеквизитФормы("ТаблицаНаФорме", Новый ОписаниеТипов("ТаблицаЗначений"));
    ДобавитьРеквизиты.Добавить(РеквизитТаблицы);
    Для каждого Ст из Таблица.Колонки Цикл 
        ДобавитьРеквизиты.Добавить(Новый РеквизитФормы(Ст.Имя, Ст.ТипЗначения, РеквизитТаблицы));   
    КонецЦикла;
//На  Этой строчке происходит вызов ошибки
    ЭтаФорма.ИзменитьРеквизиты(ДобавитьРеквизиты);
    Таб = Элементы.Добавить("Таблица", Тип("ТаблицаФормы"), "ТаблицаНаФорме");
    Таб.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
    Для Каждого Ст ИЗ Таблица.Колонки Цикл
        Рек = Элементы.Добавить("Колонка" + Ст.Имя, Тип("ПолеФормы"), Таб);
        Рек.Вид = ВидПоляФормы.ПолеНадписи;
        Рек.ПутьКДанным = "ТаблицаНаФорме" + "." + Ст.Имя;
        Рек.Заголовок = Ст.Имя;
    КонецЦикла;
КонецПроцедуры

Ошибка типа Недопустимый путь к реквизиту. Путь: «РеквизитФормы»

Здравствуйте Уважаемые! В 1С я дилетант, могу конечно резерв баз сделать, обмен по инструкции настроить возможно, что то еще. 
На работе установлена 1С: Предприятие 8.3 (8.3.8.1964)/Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.43.263).
Сегодня обнаружилась ошибка (Недопустимый путь к реквизиту. Путь: «Объект. Физические лица»), при попытке изменить, или просто зайти в карточку контрагента, при проведении документов ругается на не установленный склад, хотя склад один основной и он прописан.
Что было сделано, с конфигуратора проверил базу, так же проверил базу через утилиту chdbfl, ошибки были, они были исправлены, но результата не дало.
До этого дня была обновлена конфигурация, сама оболочка, сделан плановый обмен (выгружен и загружен период порядка 2-х месяцев) с УТ 10.3 (базовая) редакция (10.3.37.4).
Бэкап до обмена работает прекрасно, впрочем, как и все остальное, это уже при том, что до обмена все было обновлено до свежих релизов.
Вопрос, что ей нужно? И как это исправить чтобы на бэкап не переходить, уж больно много она сегодня в этой базе работы выполнила!
ps Понимаю, что, что то прилетело с обменом, но как? Обмен работал всегда прекрасно. Бухгалтер в панике, я в печали, жду ваших мыслей.
С Уважением!   

Хочу удалить реквизиты на форме &НаКлиенте пишет {Документ.РобочийТабель.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)     ЭтаФорма.ИзменитьРеквизиты(, УдаляемыеРеквизитыТЗ); по причине: Недопустимый путь к реквизиту. Путь: «ПолеФормы» подскажите пожалуйста, что где ошибся?

УдаляемыеРеквизитыТЗ.Добавить(«СтрокиРабочийТабель.Активно»+ИмяКолонки) смысл в том что в этом массиве система ожидает получить СТРОКИ отсюда и «ПолеФормы» в сообщении об ошибке. это Строка(ЭтаФорма.Элементы[«СтрокиРабочийТабельАктивно»+ИмяКолонки]) что, свой табель пилишь, с преферансом и поэтессами? ))

точно, спасибо боьшое, я уже чуть матюки не вводил туда, а оно не работало и все, а сейчас все норм, благодарю!

если релиз позволяет, попробуй расширения

Тэги:

Комментарии доступны только авторизированным пользователям

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Войти или зарегистрироваться

8.х Не могу обратиться к реквизиту при программном создании

Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем skv_79, 31 май 2017.




0/5,
Голосов: 0
  1. TopicStarter Overlay

    skv_79

    Offline

    skv_79
    Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29

    Добрый день!
    Создаю реквизит, потом поле формы, а дальше пытаюсь установить значение реквизита через Выполнить() и выдается ошибка: «Недопустимый путь к реквизиту». Через табло тоже обращаюсь к созданному реквизиту: «Поле объекта недоступно для записи».

    Код:
                    ДобавляемыеРеквизиты = Новый Массив;
                    МассивТипов = новый Массив;
                    МассивТипов.Добавить(Тип("Строка"));
                    Реквизит = Новый РеквизитФормы("Картинка"+Строка(Итер),новый ОписаниеТипов(МассивТипов),, "Картинка"+Строка(Итер), Истина);
                    ДобавляемыеРеквизиты.Добавить(Реквизит);
                    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
                   
                    ЭлементФормы = ЭтаФорма.Элементы.Добавить("Картинка"+Строка(Итер), Тип("ПолеФормы"), ЭтаФорма);
                    ЭлементФормы.ПутьКДанным = "Картинка"+Строка(Итер);
                    ЭлементФормы.Вид         = ВидПоляФормы.ПолеКартинки;
                    МояКартинка = Новый Картинка(ФайлНайденный.ПолноеИмя);
                    Адрес = ПоместитьВоВременноеХранилище(МояКартинка);
                    Выполнить("Картинка"+Строка(Итер)+" = Адрес");
                    Выполнить("Элементы.Картинка"+Строка(Итер)+".РазмерКартинки = РазмерКартинки.АвтоРазмер");
    

    skv_79,
    31 май 2017
    #1

  2. 1cUserAndrew

    Offline

    1cUserAndrew
    Профессионал в 1С
    Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    5.156
    Симпатии:
    217
    Баллы:
    104

    К программно добавленным реквизитам формы обращаться необходимо через ЭтаФорма (в последних версиях платформы ЭтотОбъект).

    Код:
    ЭтотОбъект["Картинка" + Строка(Итер)] = Адрес;
    Последнее редактирование: 31 май 2017

    1cUserAndrew,
    31 май 2017
    #2

    skv_79 нравится это.
  3. TopicStarter Overlay

    skv_79

    Offline

    skv_79
    Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29

    Благодарю!


    skv_79,
    1 июн 2017
    #3
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Похожие темы

  1. She

    7.7
    как обратиться к периодическому реквизиту

    She,
    17 мар 2011
    , в разделе: Конфигурирование на платформе «1С:Предприятие 7.7»
    Ответов:
    1
    Просмотров:
    1.135
    Requin
    17 мар 2011

  2. BuhTorZar

    8.х
    Глюки при программном создании документов.

    BuhTorZar,
    27 апр 2012
    , в разделе: Установка платформы «1С:Предприятие 8»
    Ответов:
    9
    Просмотров:
    1.252
    uza
    28 апр 2012

Загрузка…
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

Понравилась статья? Поделить с друзьями:
  • Недорогие автомобили бизнес класса на вторичном рынке
  • Настольный планинг раскраска бизнес планер 480х340 мм
  • Недостатки доходного подхода оценки стоимости бизнеса
  • Настроить график работы по неполному времени в зуп 1с
  • Незаконное использование реквизитов юридического лица