Всем привет!
Гууу ... Не на что уже нет настроения... Просто нет ... все ПУСТО ВОКРУГ.
Ладно пардон ... не обращайте внимание ...
Вот код простого типа:
спЗначений = Новый СписокЗначений();
спЗначений.Добавить("Значение1","Представление1");
спЗначений.Добавить("Значение2","Представление2");
ВыбранныйЭлементСписка = спЗначений .ВыбратьЭлемент();
Если ВыбранныйЭлементСписка = Неопределено Тогда Возврат; КонецЕсли;
//==========================
ствПеречень=Новый Соответствие();
ствПеречень.Вставить("Значение1","Представление1");
ствПеречень.Вставить("Значение2","Представление2");
ствПеречень.Вставить("Значение3","Представление3");
ствПеречень.Вставить("Значение4","Представление4");
//-----------------------------------------------
ствВыбрНеВыбрЗначения=Новый Соответствие();
спЗначений = Новый СписокЗначений();
Для Каждого Эл Из ствПеречень Цикл
спЗначений.Добавить(Эл.Ключ,Эл.Значение);
КонецЦикла;
спЗначений.ЗаполнитьПометки(Истина);
//-----------------------------------------------
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знВыбор Из спЗначений Цикл
Если знВыбор.Пометка Тогда
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина);
Иначе
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь);
КонецЕсли;
КонецЦикла;
КонецЕсли;
//==========================
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
Если ВыбранныйЭлементСписка = Неопределено Тогда Возврат; КонецЕсли;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
А если попробовать так?
//-----------------------------------------------
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знВыбор Из спЗначений Цикл
Если знВыбор.Пометка Тогда
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина);
Иначе
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь);
КонецЕсли;
КонецЦикла;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
КонецЕсли;
//==========================
ed.kharkov @ Сегодня, 12:43
,
Да можно и так но это если список значений один. А если их на пример два?
Т.е. что бы запустить процедуру до этого нужно отметить галки в двух списках всплывающих один за другим.
и в таком случае получиться так
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знВыбор Из спЗначений Цикл
Если знВыбор.Пометка Тогда
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина);
Иначе
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь);
КонецЕсли;
КонецЦикла;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
КонецЕсли;
ствГоды=Новый Соответствие();
ствГодыВсе=МесяцГодДата_серв.ОтчетныеГоды_ств();
спЗначенийГодыВсе = Новый СписокЗначений();
//---------------------------
Для Каждого Эл Из ствГодыВсе Цикл
спЗначенийГодыВсе.Добавить(Эл.Ключ,Строка(Эл.Ключ));
КонецЦикла;
спЗначенийГодыВсе.ЗаполнитьПометки(Истина);
//---------------------------
Если спЗначенийГодыВсе.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знГодыВыбор Из спЗначенийГодыВсе Цикл
Если знГодыВыбор.Пометка Тогда
ствГоды.Вставить(знГодыВыбор.Значение,Истина);
КонецЕсли;
КонецЦикла;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
КонецЕсли;
Тогда так
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знВыбор Из спЗначений Цикл
Если знВыбор.Пометка Тогда
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина);
Иначе
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь);
КонецЕсли;
КонецЦикла;
Иначе
Возврат;
КонецЕсли;
ствГоды=Новый Соответствие();
ствГодыВсе=МесяцГодДата_серв.ОтчетныеГоды_ств();
спЗначенийГодыВсе = Новый СписокЗначений();
//---------------------------
Для Каждого Эл Из ствГодыВсе Цикл
спЗначенийГодыВсе.Добавить(Эл.Ключ,Строка(Эл.Ключ));
КонецЦикла;
спЗначенийГодыВсе.ЗаполнитьПометки(Истина);
//---------------------------
Если спЗначенийГодыВсе.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знГодыВыбор Из спЗначенийГодыВсе Цикл
Если знГодыВыбор.Пометка Тогда
ствГоды.Вставить(знГодыВыбор.Значение,Истина);
КонецЕсли;
КонецЦикла;
Иначе
Возврат;
КонецЕсли;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
Gigi @ Сегодня, 13:27
,
Стоп ...
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знВыбор Из спЗначений Цикл
Если знВыбор.Пометка Тогда
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина);
Иначе
ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь);
КонецЕсли;
КонецЦикла;
КонецЕсли;
ствГоды=Новый Соответствие();
ствГодыВсе=МесяцГодДата_серв.ОтчетныеГоды_ств();
спЗначенийГодыВсе = Новый СписокЗначений();
//---------------------------
Для Каждого Эл Из ствГодыВсе Цикл
спЗначенийГодыВсе.Добавить(Эл.Ключ,Строка(Эл.Ключ));
КонецЦикла;
спЗначенийГодыВсе.ЗаполнитьПометки(Истина);
//---------------------------
Если спЗначенийГодыВсе.ОтметитьЭлементы("Выводить") Тогда
Для Каждого знГодыВыбор Из спЗначенийГодыВсе Цикл
Если знГодыВыбор.Пометка Тогда
ствГоды.Вставить(знГодыВыбор.Значение,Истина);
КонецЕсли;
КонецЦикла;
Иначе
Возврат;
КонецЕсли;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua