Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Список значений и интерфейсные приблуды          
Vofka Подменю пользователя
сообщение 06.06.13, 20:42
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

В данной статье речь пойдет об интерфейсных возможностях платформы, связанных с применением объектов типа СписокЗначений.

Приведу несколько кейсов применения (без лишних слов):

1. Функция Вопрос (Как в диалоге использовать свои кнопки?)

Актуален для платформ 1С, начиная с версии 8.2




СписокКнопок = Новый СписокЗначений;

СписокКнопок.Добавить(КодВозвратаДиалога.Да,        "Согласовать");
СписокКнопок.Добавить(КодВозвратаДиалога.Нет,       "Отклонить");
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена,    "Отмена");

Ответ = Вопрос(
     "Что необходимо сделать с заявкой?",    // текст вопроса
     СписокКнопок,                           // кнопки
     0,
     КодВозвратаДиалога.Да                   // кнопка "По умолчанию"
);

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

     // заявка согласована

ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда

     // заявка отклонена

КонецЕсли;


2. Функция ВыбратьИзМеню (Как сделать динамическое контекстное меню? Можно ли вызвать контекстное меню по нажатию левой кнопки мыши или повешать на обработку расшифровки?)



&НаКлиенте

Процедура ПлатежныйКалендарьОбработкаДополнительнойРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

     СтруктураПараметров = ПолучитьПараметрыРасшифровки(СтандартнаяОбработка, Расшифровка);
     КонтекстноеМеню = СформироватьКонтекстноеМеню(СтруктураПараметров);

     ОбработкаДействийПользователя(СтруктураПараметров, КонтекстноеМеню);

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

&НаКлиенте
Функция СформироватьКонтекстноеМеню(СписокПараметров)

     СписокЗначений = Новый СписокЗначений;

     Если СписокПараметров.Свойство("Значение")Тогда

         СписокЗначений.Добавить(
             "ЧастичнаяОплата",
             "Частичная оплата",
             ,
             БиблиотекаКартинок.ИТПлатежныйКалендарь_ЧастичнаяОплата
         );

         // etc...

     Иначе

         СписокЗначений.Добавить(
             "ЗапланироватьОплату",
             "Запланировать оплату",
             ,
             БиблиотекаКартинок.ИТПлатежныйКалендарь_ЧастичнаяОплата
         );

     КонецЕсли;

     Возврат СписокЗначений;

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

&НаКлиенте
Процедура ОбработкаДействийПользователя(СтруктураПараметров, КонтекстноеМеню);

     ПунктМеню   = ВыбратьИзМеню(КонтекстноеМеню, ПлатежныйКалендарь.ТекущаяОбласть);

     Если ПунктМеню = Неопределено Тогда
         Возврат
     КонецЕсли;

     Действие = ПунктМеню.Значение;

     Если Действие = "ЧастичнаяОплата" Тогда

         ДиалогЗапланироватьОплату(СтруктураПараметров, Истина);

     КонецЕсли;

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


3. Функция Выбрать из списка (Как сделать динамический выпадающий список?)



Код аналогичен п.2, за исключением строки:
ПунктМеню = ВыбратьИзСписка(КонтекстноеМеню, ПлатежныйКалендарь.ТекущаяОбласть);


4. Метод ОтметитьЭлементы() (Как сделать выбор нескольких элементов из списка?)



Если СписокЗначений.ОтметитьЭлементы("Отметить элементы") Тогда
     Для каждого Элемент Из СписокЗначений Цикл
         Если Элемент.Пометка Тогда
             СделатьДоброеДело();
         КонецЕсли;
     КонецЦикла;
Иначе
     // пользователь ничего не отметил
КонецЕсли;


5. Метод ВыбратьЭлемент() (Как сделать интерактивный выбор одного элемента из списка?)



ВыбранныйЭлемент = СписокЗначений.ВыбратьЭлемент("Что необходимо сделать?");

Если ВыбранныйЭлемент <> Неопределено Тогда
     СделатьДоброеДело();
Иначе
     // пользователь ничего не выбрал
КонецЕсли;


Коллеги, давайте не изобретать велосипедов wink.gif

[необходимо зарегистрироваться для просмотра ссылки]

Сообщение отредактировал Vofka - 06.06.13, 20:43


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 13:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!