MyTetra Share
Делитесь знаниями!
Как сделать кнопку множественного добавления к элементу справочника
Время создания: 01.11.2012 10:30
Текстовые метки: 1С, множественное добавление, кумулятивное добавление
Раздел: Компьютер - Windows - 1С - Готовые решения
Запись: xintrea/mytetra_syncro/master/base/1351751447v8dbjshxhz/text.html на raw.github.com

Пример кнопки, которую можно разместить на форме элемента иерархического справочника.


При ее нажатии открывается форма запроса строк.


Строки добавляются как подчиненные элементы для текущего элемента.


&НаКлиенте

Процедура ПриОткрытии(Отказ)

// Если запись редактируется (т. е. уже создана)

Если Не ЭтаФорма.Параметры.Ключ.Пустая() тогда

// Можно показать кнопку добавления строк элементов в этот элемент

ЭтаФорма.Элементы.КнопкаДобавитьСтроки.Видимость=Истина;

КонецЕсли;

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



&НаКлиенте

Процедура КомандаДобавитьСтроки(Команда)

// Показывается форма запроса добавляемых строк

Форма = ПолучитьФорму("Справочник.

РазделыПроектовРазработкиДокументации.

Форма.

ФормаЗапросСтрокНаДобавление");

Результат = Форма.ОткрытьМодально();

Если Результат = КодВозвратаДиалога.ОК Тогда

Текст=Форма.РеквизитДобавляемыеСтроки;

// Предупреждение("Будут добавлены строки: "+Символы.ПС+Текст);

ДобавитьСтроки(Текст);

КонецЕсли;

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



// Добавление строк из текста в виде элементов (одна строка - одна запись)

// к текущему элементу

&НаСервере

Процедура ДобавитьСтроки(Текст)


// Текущий элемент будет родителем для добавляемых строк

СсылкаНаТекущийЭлемент=ЭтаФорма.Объект.Ссылка;

СсылкаНаВладельца=СсылкаНаТекущийЭлемент.Владелец;

// Перебираются строки

Для Счетчик = 1 По СтрЧислоСтрок(Текст) Цикл

ТекстТекущейСтроки = СтрПолучитьСтроку(Текст, Счетчик);

Если( СтрДлина(СокрЛП(ТекстТекущейСтроки)) > 0) Тогда

НовыйЭлемент=Справочники.

РазделыПроектовРазработкиДокументации.

СоздатьЭлемент();

НовыйЭлемент.Наименование=ТекстТекущейСтроки;

НовыйЭлемент.Владелец=СсылкаНаВладельца;

НовыйЭлемент.Родитель=СсылкаНаТекущийЭлемент;

НовыйЭлемент.Записать();

КонецЕсли;

КонецЦикла; // Закончился перебор строк


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



Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования