10.01.11 — 16:16
Пытаюсь сформировать таблицу и вывести ее на форму.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить(«Тест», Новый ОписаниеТипов(«Строка»));
МассивДобавляемыеРеквизиты = Новый Массив;
Для каждого КолонкаРезультата из ТЗ.Колонки Цикл
НовРек = Новый РеквизитФормы(КолонкаРезультата.Имя, КолонкаРезультата.ТипЗначения, «Реквизит1»);
МассивДобавляемыеРеквизиты.Добавить(НовРек);
КонецЦикла;
ИзменитьРеквизиты(МассивДобавляемыеРеквизиты);
ЗначениеВРеквизитФормы(ТЗ, «Реквизит1»);
КонецПроцедуры
Ошибка при вызове метода контекста (ИзменитьРеквизиты)
ИзменитьРеквизиты(МассивДобавляемыеРеквизиты);
по причине:
Недопустимый путь к реквизиту. Путь: «Реквизит1»
Как ее таки вывести на форму?
Попутно вопрос, для такой таблицы можно будет задать обработчики?
1 — 10.01.11 — 17:17
2 — 10.01.11 — 17:24
Спасибо. Вот этот код у меня тоже заработал.
МассивРеквизитов = Новый Массив;
МассивТипаВыбора = Новый Массив;
МассивТипаВыбора.Добавить(Тип(«ТаблицаЗначений»));
ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
МассивРеквизитов.Добавить(Новый РеквизитФормы(«МойРеквизит», ОписаниеТипаВыбора, «», «Моя таблица»));
Для Каждого Колонка Из ТЗ.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, «МойРеквизит»));
КонецЦикла;
ИзменитьРеквизиты(МассивРеквизитов);
ТаблицаПолейВыбора = Элементы.Добавить(«МояТаблица», Тип(«ТаблицаФормы»),Родитель);
ТаблицаПолейВыбора.ПутьКДанным = «МойРеквизит»;
ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список;
Для Каждого Колонка Из ТЗ.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(«Дерево_» + Колонка.Имя, Тип(«ПолеФормы»), ТаблицаПолейВыбора);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = «МойРеквизит.» + Колонка.Имя;
КонецЦикла;
ЗначениеВРеквизитФормы(ТЗ,»МойРеквизит»);
Скажите как к этой таблице добавить обработчик события?
Интересует ПриНачалеПеретаскивания()
3 — 11.01.11 — 00:43
up
4 — 11.01.11 — 11:28
up.
Тоесть вопрос можно переформулировать так : можно-ли эту созданную таблицу, связать с реквизитом на форме, созданным в конфигураторе (которому в свою очередь пропишу обработчики)?
5 — 11.01.11 — 13:12
(4) Вопрос не понял. Если ты в конфигураторе создал реквизит формы, а элемент формы для него хочешь создать программно, то да, такое можно сделать.
6 — 11.01.11 — 13:53
(5) да, именно так.
но элемент созданный в (2) почему-то получается ни как не связанным с реквизитом.
7 — 11.01.11 — 17:11
(6) Так ты сам себе противоречишь. Ты в (2) как раз реквизит программно создаешь. А потом на него элемент цепляешь.
8 — 11.01.11 — 19:58
Ок. Тогда можете мне подсказать, что поменять в коде, чтобы реквизит создать у конфигураторе, добавить ему событий, а саму ТЗ на форме нарисовать программно.
9 — 11.01.11 — 20:08
(8) События — у элементов формы.
А как добавить обработчик — написано в СП. У тебя ж его не украли, надуюсь?
10 — 11.01.11 — 20:09
+(9) Ну и, какбе, если уж ты реквизиты создал в конфигураторе, то что мешает и элементы формы там же создать?
11 — 11.01.11 — 20:18
(10) я не знаю наперед сколько у таблицы будет колонок и строк
(8) если реквизит программно создан, ему обработчик, насколько я понимаю, добавить нельзя?
12 — 11.01.11 — 21:05
(11) Обработчик назначается для элемента формы. Для программно созданного элемента можно программно назначить обработчик.
13 — 12.01.11 — 09:20
(11) СП все-таки украли. А жаль.
5 Элемент
14 — 12.01.11 — 09:33
(2) ТаблицаПолейВыбора.УстановитьДействие(«ПриНачалеПеретаскивания», «ТаблицаПолейВыбораПриНачалеПеретаскивания»)
// Реквизиты
ДобавляемыеРеквизиты = Новый Массив;
ИмяТаблицы = "КомандыДополнительныхОбработок";
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяТаблицы, Новый ОписаниеТипов("ТаблицаЗначений")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Ссылка", Новый ОписаниеТипов("СправочникСсылка.ДополнительныеОтчетыИОбработки"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ВариантЗапуска", Новый ОписаниеТипов("ПеречислениеСсылка.СпособыВызоваДополнительныхОбработок"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ИмяЭлемента", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Представление", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Идентификатор", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ЭтоОтчет", Новый ОписаниеТипов("Булево"), ИмяТаблицы));
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//реквизит
ИмяЭлемента = "Добавлен" + ИндексЭлемента;
Реквизит = Новый РеквизитФормы(ИмяЭлемента, ОписаниеТипов);
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//команда печать
ИмяКомандыПечать = "ДобавленПечать" + ИндексЭлемента;
КомандаПечать = Команды.Добавить(ИмяКомандыПечать);
КомандаПечать.Действие = "ПечатьДокумента";
КомандаПечать.Подсказка = НСтр("ru = 'Печать документа...'");
//элемент формы
//Родитель = Элементы.ГруппаСформированныеДокументы;
Элемент = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ЭлементГруппа);
Элемент.Вид = ВидПоляФормы.ПолеНадписи;
Элемент.ПутьКДанным = ИмяЭлемента;
Элемент.Гиперссылка = Истина;
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
ЭтаФорма[ИмяЭлемента] = Документ;
//кнопка печать
ИмяЭлементаПечать = "ДобавленПечать" + ИндексЭлемента;
ЭлементПечать = Элементы.Добавить(ИмяЭлементаПечать, Тип("КнопкаФормы"), ЭлементГруппа);
ЭлементПечать.Картинка = БиблиотекаКартинок.Печать;
ЭлементПечать.Отображение = ОтображениеКнопки.Картинка;
ЭлементПечать.ИмяКоманды = ИмяКомандыПечать;
Добрый день!
Возникла проблема с добавлением реквизитаФорму на Саму Форму.
Сама процедура:
1C | ||
|
Ошибка типа Недопустимый путь к реквизиту. Путь: «РеквизитФормы»
Здравствуйте Уважаемые! В 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
-
Offline
skv_79
Опытный в 1С- Регистрация:
- 10 июл 2013
- Сообщения:
- 379
- Симпатии:
- 6
- Баллы:
- 29
Добрый день!
Создаю реквизит, потом поле формы, а дальше пытаюсь установить значение реквизита через Выполнить() и выдается ошибка: «Недопустимый путь к реквизиту». Через табло тоже обращаюсь к созданному реквизиту: «Поле объекта недоступно для записи».Код:ДобавляемыеРеквизиты = Новый Массив; МассивТипов = новый Массив; МассивТипов.Добавить(Тип("Строка")); Реквизит = Новый РеквизитФормы("Картинка"+Строка(Итер),новый ОписаниеТипов(МассивТипов),, "Картинка"+Строка(Итер), Истина); ДобавляемыеРеквизиты.Добавить(Реквизит); ИзменитьРеквизиты(ДобавляемыеРеквизиты); ЭлементФормы = ЭтаФорма.Элементы.Добавить("Картинка"+Строка(Итер), Тип("ПолеФормы"), ЭтаФорма); ЭлементФормы.ПутьКДанным = "Картинка"+Строка(Итер); ЭлементФормы.Вид = ВидПоляФормы.ПолеКартинки; МояКартинка = Новый Картинка(ФайлНайденный.ПолноеИмя); Адрес = ПоместитьВоВременноеХранилище(МояКартинка); Выполнить("Картинка"+Строка(Итер)+" = Адрес"); Выполнить("Элементы.Картинка"+Строка(Итер)+".РазмерКартинки = РазмерКартинки.АвтоРазмер");
skv_79,
31 май 2017
#1 -
Offline
1cUserAndrew
Профессионал в 1С
Команда форума- Регистрация:
- 27 май 2010
- Сообщения:
- 5.156
- Симпатии:
- 217
- Баллы:
- 104
К программно добавленным реквизитам формы обращаться необходимо через ЭтаФорма (в последних версиях платформы ЭтотОбъект).
Код:ЭтотОбъект["Картинка" + Строка(Итер)] = Адрес;
Последнее редактирование: 31 май 2017
1cUserAndrew,
31 май 2017
#2
skv_79 нравится это.
-
Offline
skv_79
Опытный в 1С- Регистрация:
- 10 июл 2013
- Сообщения:
- 379
- Симпатии:
- 6
- Баллы:
- 29
Благодарю!
skv_79,
1 июн 2017
#3
- Похожие темы
-
7.7
как обратиться к периодическому реквизиту
She,
17 мар 2011, в разделе: Конфигурирование на платформе «1С:Предприятие 7.7»
- Ответов:
- 1
- Просмотров:
- 1.135
- Requin
- 17 мар 2011
-
8.х
Глюки при программном создании документов.
BuhTorZar,
27 апр 2012, в разделе: Установка платформы «1С:Предприятие 8»
- Ответов:
- 9
- Просмотров:
- 1.252
- uza
- 28 апр 2012
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…