СообЧа > База Знаний > Программы > Бухгалтерские системы >

Вопрос

Как поставить на форму свою кнопку, при нажатии на которую, например, вызывается Справочник Сотрудники?

Ответ

Есть несколько вариантов (смотря для чего это надо):

* Если просто выбрать один элемент из справочника то проще создать «реквизит диалога» (кнопка — ab|), в свойствах указать: тип — Справочник.Сотрудники, иметь кнопку выбора -да.
* Если Необходимо выбирать несколько элементов, то создаем «список» (пусть идентификатор — ВыбСотр), рядом 4 «кнопки», в свойствах которых пишем (кнопки обзывай как хочешь, например 1,2,3,4):
1 — ВыбратьСотрудника(0),
2 — ВыбратьСотрудника(1),
3 — ВыбСклад.УдалитьЗначение(ВыбСклад.ТекущаяСтрока()),
4 — ВыбСклад.УдалитьВсе().

Что выполняется при нажатии:

кнопка 1 — выбор одного элемента из справочника.
кнопка 2 — выбор нескольких элементов за один раз.
кнопка 3 — удаление одного элемента
кнопка 4 — удаление всех

Текст Модуля:

Процедура ВыбратьСотрудника(Реж)
Перем Фрм;
Перем Тек;
Если ВыбСотр.РазмерСписка()>0 Тогда
Тек=ВыбСотр.ПолучитьЗначение(ВыбСотр.ТекущаяСтрока());
КонецЕсли;
ОткрытьПодбор("Справочник.Сотрудники",,Фрм,Реж,Тек);
Фрм.ВыборГруппы(1);
КонецПроцедуры

Функция ПроверкаСовпадения(Элем, Спис)
Совпадение = "Нет";
Для а = 1 по Спис.РазмерСписка() Цикл
Если Элем = Спис.ПолучитьЗначение(а) тогда
Совпадение = "Да";
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Совпадение;
КонецФункции

Процедура ОбработкаПодбора(ЗначПод)
// Проверка на повтор в списке
Если ЗначПод.Уровень() = 1 тогда
Совпал = ПроверкаСовпадения(ЗначПод, ВыбТовар);
// Проверка на нахождение в списке группы этого товара
ИначеЕсли ЗначПод.Уровень() = 2 тогда
Совпал = ПроверкаСовпадения(ЗначПод.родитель, ВыбТовар);
Если Совпал= "Нет" тогда
Совпал = ПроверкаСовпадения(ЗначПод, ВыбТовар);
КонецЕсли;
ИначеЕсли ЗначПод.Уровень() = 3 тогда
Совпал = ПроверкаСовпадения(ЗначПод.родитель.родитель, ВыбТовар);
Если Совпал= "Нет" тогда
Совпал = ПроверкаСовпадения(ЗначПод.родитель, ВыбТовар);
ИначеЕсли Совпал= "Нет" тогда
Совпал = ПроверкаСовпадения(ЗначПод, ВыбТовар);
КонецЕсли;
КонецЕсли;
// проверка Если Это группа просмотреть элементы принадл. этой группе
Если ЗначПод.ЭтоГруппа() = 1 тогда

КонецЕсли;
Если Совпал = "Нет" тогда
ВыбТовар.ДобавитьЗначение(ЗначПод);
ВыбТовар.ТекущаяСтрока(ВыбТовар.РазмерСписка());
КонецЕсли;
КонецПроцедуры



Copyright © 2000-2004 Сообщество Чайников
Контактная информация