Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 03:59
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Скопировать элемент формы  (Прочитано 6727 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Добрый день!
Никак не могу осилить одну задачку.
На форме необходимо разместить несколько одинаковых элементов формы. Форма не управляемая и количество этих одинаковых элементов не известен заранее.
Вот как раз дублированием элемента у меня не получается.
Можно ли вообще это осуществить программно?
Поле табличного документа не предлагать.


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
	Кнопка = ЭлементыФормы.Добавить(Тип("Кнопка"),"МоеУникальноеИмяКнопки");
Кнопка.Заголовок = "Какая то кнопка";
Не забываем устанавливать размер и положение кнопки, а то вы ее не увидете
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Не забываем устанавливать размер и положение кнопки, а то вы ее не увидете

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

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Процедура КнопкаВыполнитьНажатие(Кнопка)

Перем СтарКнопка;

СколькоЯХочуКнопок = 10;
СколькоВКолонку = 4;
СтарКнопка = Неопределено;
ВысотаКн = 40;
ОбработкаНажатия = Новый Действие("ДействиеКнопкиТест");

Для Сч=0 По СколькоЯХочуКнопок-1 Цикл

старКнопка = ДобавитьКнопкуНаФормуЭлементов(СтарКнопка,ВысотаКн,Сч,ОбработкаНажатия,((сч%СколькоВКолонку) = 0));
ЭтаФорма.Обновить();

КонецЦикла;




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

Процедура ДействиеКнопкиТест(Элемент)

Сообщить(ТекущийЭлемент.Имя);

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

Функция ДобавитьКнопкуНаФормуЭлементов(СтарКнопка,ВысотаКн,знач Сч,ДействиеКн,НужнаСледКолонка)

ИмяКн = "СуперКнопка"+сч;
ИскКн = ЭлементыФормы.Найти(ИмяКн);
Если НЕ ИскКн = Неопределено Тогда
Возврат ИскКн;
КонецЕсли;

Кнопка = ЭлементыФормы.Добавить(Тип("Кнопка"),ИмяКн,Истина);
Кнопка.Заголовок = "Какая то кнопка"+Сч;

Если СтарКнопка = Неопределено Тогда
Кнопка.Верх = ВысотаКн;
Кнопка.Ширина = 50;
Кнопка.Лево = 20;
Кнопка.Высота = 40;
ИначеЕсли НужнаСледКолонка Тогда
Кнопка.Верх = ВысотаКн;
Кнопка.Ширина = 50;
Кнопка.Лево = (СтарКнопка.Лево+СтарКнопка.Ширина)+15;
Кнопка.Высота = 40;
Иначе
Кнопка.Верх = (СтарКнопка.Верх+СтарКнопка.Высота)+20;
Кнопка.Ширина = 50;
Кнопка.Лево = СтарКнопка.Лево;
Кнопка.Высота = 40;
КонецЕсли;

Кнопка.УстановитьДействие("Нажатие", ДействиеКн);

Возврат Кнопка;

КонецФункции

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Смирился я с тем, что надо каждый реквизит перебирать вручную.
У меня ситуация посложней чем просто кнопка. Необходимо скопировасть табличное поле (дерево значений). Все бы ничего но загвоздка с Данными. Как задать типы для колонок?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Новый ОписаниеТипов("Тип" или МассивТипов)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
С этим разобрался. У Табличного поля реквизит Значение работает как на чтение, так и на запись.
Теперь остался вопрос с установкой обработчика событий. Как назначить процедуру на событие ПриАктивизацииСтроки?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
ОбработкаСобытия = Новый Действие("ДействиеКнопкиТест");
ЭлементУправления.УстановитьДействие("ПриАктивизацииСтроки", ОбработкаСобытия);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
ОбработкаСобытия = Новый Действие("ДействиеКнопкиТест");ЭлементУправления.УстановитьДействие("ПриАктивизацииСтроки", ОбработкаСобытия);

Спасибо.

Оффлайн Msoul

  • **
  • Сообщений: 74
  • РЕПУТАЦИЯ: 6
  • КПД: 8%
  • Регистрация: 2010-04-19
  • Сайт: 
Добрый день!

Дабы не плодить темы продолжу в уже существующей.
Возникла новая проблема с копированием элементов формы.
Задача: На форме есть панель, на ней расположены табличное поле и поле ввода. В зависимости от ситуации необходимо скопировать эту панель и ее содержимое в низ формы, количество копий заранее не извесно. Между панелями вставить разделитель.
Проблемка: Копирование совершается успешно, границы привязываются и разделитель меняет размер панелей и элементов на ней, но так происходит только при первом открытии формы. При повторном открытии формы разделитель уже не работает должным образом.
Я так понимаю форма пытается запомнить положение и при последущем открытии восстановить, но где-то что-то не срабатывает. Подскажите где копать? Можно ли отменить попытку формы самой настроить элементы?

Последний раз редактировалось: Msoul; 30 Ноя 2012, 14:22


Теги:
 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 301
Последний ответ 21 Сен 2017, 10:33
от Insider
Редактирование формы "Настройки пользователя".

Автор t955938Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4828
Последний ответ 03 Авг 2011, 11:45
от t955938
получаю значение реквизита формы, дает значение 0

Автор mikel10Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3421
Последний ответ 12 Июл 2013, 15:35
от mikel10
Как обратиться к функции модуля формы из модуля Менеджера?

Автор TreeDogNightРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 5010
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz
Настройка формы "Заполнение товаров"

Автор ЖаннаРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 594
Последний ответ 10 Мар 2017, 21:00
от Жанна

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
62 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 151
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal