Не совсем так, а по другому. При нажатии кнопку отменить выполнение кода не останавливается и всплывает второй список значений. И только с нажатием на отмену во втором списке выполнение кода прерывается.
Ну тогда вот так))
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда Для Каждого знВыбор Из спЗначений Цикл Если знВыбор.Пометка Тогда ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина); Иначе ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь); КонецЕсли; КонецЦикла; КонецЕсли;
ствГоды=Новый Соответствие(); ствГодыВсе=МесяцГодДата_серв.ОтчетныеГоды_ств(); спЗначенийГодыВсе = Новый СписокЗначений(); //--------------------------- Для Каждого Эл Из ствГодыВсе Цикл спЗначенийГодыВсе.Добавить(Эл.Ключ,Строка(Эл.Ключ)); КонецЦикла; спЗначенийГодыВсе.ЗаполнитьПометки(Истина); //--------------------------- Если спЗначенийГодыВсе.ОтметитьЭлементы("Выводить") Тогда Для Каждого знГодыВыбор Из спЗначенийГодыВсе Цикл Если знГодыВыбор.Пометка Тогда ствГоды.Вставить(знГодыВыбор.Значение,Истина); КонецЕсли; КонецЦикла; Иначе Возврат; КонецЕсли;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
Если спЗначений.ОтметитьЭлементы("Выводить") Тогда Для Каждого знВыбор Из спЗначений Цикл Если знВыбор.Пометка Тогда ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина); Иначе ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь); КонецЕсли; КонецЦикла; Иначе Возврат; КонецЕсли;
ствГоды=Новый Соответствие(); ствГодыВсе=МесяцГодДата_серв.ОтчетныеГоды_ств(); спЗначенийГодыВсе = Новый СписокЗначений(); //--------------------------- Для Каждого Эл Из ствГодыВсе Цикл спЗначенийГодыВсе.Добавить(Эл.Ключ,Строка(Эл.Ключ)); КонецЦикла; спЗначенийГодыВсе.ЗаполнитьПометки(Истина); //--------------------------- Если спЗначенийГодыВсе.ОтметитьЭлементы("Выводить") Тогда Для Каждого знГодыВыбор Из спЗначенийГодыВсе Цикл Если знГодыВыбор.Пометка Тогда ствГоды.Вставить(знГодыВыбор.Значение,Истина); КонецЕсли; КонецЦикла; Иначе Возврат; КонецЕсли;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
//----------------------------------------------- Если спЗначений.ОтметитьЭлементы("Выводить") Тогда Для Каждого знВыбор Из спЗначений Цикл Если знВыбор.Пометка Тогда ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Истина); Иначе ствВыбрНеВыбрЗначения.Вставить(знВыбор.Значение,Ложь); КонецЕсли; КонецЦикла;
Если Вопрос("Создать отчет данных энергосистемы в формате Excel?",РежимДиалогаВопрос.ДаНет,,,"Отчет в формате Эксель")=КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; КонецЕсли; //==========================
eror2008 @ Сегодня, 16:32
, За скрин отчета спасибо. Кажется я понял.... Попробуйте сделать группировки в виртуальных таблицах не по полю Объект, а по полю Контрагент. И соединения соответственно тоже...
ВЫБРАТЬ Договора.Объект КАК Объект, МАКСИМУМ(Договора.Период) КАК Период, МАКСИМУМ(Договора.Договор.Дата) КАК ДоговорДата ПОМЕСТИТЬ ТаблицаДоговоров ИЗ РегистрСведений.Договора КАК Договора ГДЕ Договора.Активность = ИСТИНА И Договора.Регистратор ССЫЛКА Документ.Договор
СГРУППИРОВАТЬ ПО Договора.Объект ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект КАК Объект, МАКСИМУМ(Договора.Период) КАК Период, МАКСИМУМ(Договора.Договор.Дата) КАК ДоговорДата ПОМЕСТИТЬ ТаблицаДопСоглашений ИЗ РегистрСведений.Договора КАК Договора ГДЕ Договора.Активность = ИСТИНА И Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение
СГРУППИРОВАТЬ ПО Договора.Объект ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект, Договора.Период, ДопСоглашения.Объект КАК ОбъектСДопСоглашением ПОМЕСТИТЬ ТаблицаДоговоровБезДопСоглашений ИЗ ТаблицаДоговоров КАК Договора ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДопСоглашений КАК ДопСоглашения ПО Договора.Объект = ДопСоглашения.Объект ГДЕ ВЫБОР КОГДА ДопСоглашения.Объект ЕСТЬ NULL ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ
;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект КАК Объект, Договора.Период КАК Период ПОМЕСТИТЬ Договорчики ИЗ ТаблицаДоговоровБезДопСоглашений КАК Договора
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ТаблицаДопСоглашений.Объект, ТаблицаДопСоглашений.Период ИЗ ТаблицаДопСоглашений КАК ТаблицаДопСоглашений
;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект КАК Объект, Договора.Объект.ПлощадьОбщая КАК ОбъектПлощадьОбщая, СУММА(Договора.СуммаПолнаяUSD) КАК СтоимостьОбъекта, Договора.Объект.Комплекс КАК Комплекс, Договора.Объект.Секция КАК Секция, Договора.Объект.Этаж КАК Этаж, СУММА(Договора.Договор.СуммаПервогоВзноса) КАК СуммаПервогоВзноса, Договора.Договор.Контрагенты КАК Контрагент ИЗ Договорчики КАК Договорчики ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Договора КАК Договора ПО Договора.Период = Договорчики.Период И Договора.Объект = Договорчики.Объект ГДЕ Договора.Договор.Дата >= &НачалоПериода И Договора.Договор.Дата <= &КонецПериода И ВЫБОР КОГДА Договора.Регистратор ССЫЛКА Документ.Договор ТОГДА ИСТИНА КОГДА Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ
СГРУППИРОВАТЬ ПО Договора.Объект, Договора.Объект.Комплекс, Договора.Объект.Секция, Договора.Объект.Этаж, Договора.Договор.Контрагенты, Договора.Объект.ПлощадьОбщая
eror2008 @ Сегодня, 15:59
, Замените внутреннее соединение на левое. Просмотрел.
ВЫБРАТЬ Договора.Объект КАК Объект, МАКСИМУМ(Договора.Период) КАК Период, МАКСИМУМ(Договора.Договор.Дата) КАК ДоговорДата ПОМЕСТИТЬ Договорчики ИЗ РегистрСведений.Договора КАК Договора ГДЕ Договора.Активность = ИСТИНА И (Договора.Регистратор ССЫЛКА Документ.Договор ИЛИ Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение)
СГРУППИРОВАТЬ ПО Договора.Объект ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект КАК Объект, Договора.Объект.ПлощадьОбщая КАК ОбъектПлощадьОбщая, СУММА(Договора.СуммаПолнаяUSD) КАК СтоимостьОбъекта, Договора.Объект.Комплекс КАК Комплекс, Договора.Объект.Секция КАК Секция, Договора.Объект.Этаж КАК Этаж, СУММА(Договора.Договор.СуммаПервогоВзноса) КАК СуммаПервогоВзноса, Договора.Договор.Контрагенты КАК Контрагент ИЗ Договорчики КАК Договорчики ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Договора КАК Договора ПО Договора.Период = Договорчики.Период И Договора.Объект = Договорчики.Объект ГДЕ Договора.Договор.Дата >= &НачалоПериода И Договора.Договор.Дата <= &КонецПериода И ВЫБОР КОГДА Договора.Регистратор ССЫЛКА Документ.Договор ТОГДА ИСТИНА КОГДА Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ
СГРУППИРОВАТЬ ПО Договора.Объект, Договора.Объект.Комплекс, Договора.Объект.Секция, Договора.Объект.Этаж, Договора.Договор.Контрагенты, Договора.Объект.ПлощадьОбщая
eror2008 @ Сегодня, 15:49
, Получайте таблицу "Договорчики" вот так
ВЫБРАТЬ Договора.Объект КАК Объект, МАКСИМУМ(Договора.Период) КАК Период, МАКСИМУМ(Договора.Договор.Дата) КАК ДоговорДата ПОМЕСТИТЬ Договорчики ИЗ РегистрСведений.Договора КАК Договора ГДЕ Договора.Активность = ИСТИНА И (Договора.Регистратор ССЫЛКА Документ.Договор ИЛИ Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение)
ВЫБРАТЬ Договора.Объект КАК Объект, МАКСИМУМ(Договора.Период) КАК Период, МАКСИМУМ(Договора.Договор.Дата) КАК ДоговорДата ПОМЕСТИТЬ Договорчики ИЗ РегистрСведений.Договора КАК Договора ГДЕ Договора.Активность = ИСТИНА И Договора.Регистратор ССЫЛКА Документ.Договор
СГРУППИРОВАТЬ ПО Договора.Объект ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договора.Объект КАК Объект, Договора.Объект.ПлощадьОбщая КАК ОбъектПлощадьОбщая, СУММА(Договора.СуммаПолнаяUSD) КАК СтоимостьОбъекта, Договора.Объект.Комплекс КАК Комплекс, Договора.Объект.Секция КАК Секция, Договора.Объект.Этаж КАК Этаж, СУММА(Договора.Договор.СуммаПервогоВзноса) КАК СуммаПервогоВзноса, Договора.Договор.Контрагенты КАК Контрагент ИЗ РегистрСведений.Договора КАК Договора ВНУТРЕННЕЕ СОЕДИНЕНИЕ Договорчики КАК Договорчики ПО Договора.Период = Договорчики.Период И Договора.Объект = Договорчики.Объект ГДЕ Договора.Договор.Дата >= &НачалоПериода И Договора.Договор.Дата <= &КонецПериода И ВЫБОР КОГДА Договора.Регистратор ССЫЛКА Документ.Договор ТОГДА ИСТИНА КОГДА Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ
СГРУППИРОВАТЬ ПО Договора.Объект, Договора.Объект.Комплекс, Договора.Объект.Секция, Договора.Объект.Этаж, Договора.Договор.Контрагенты, Договора.Объект.ПлощадьОбщая
ВЫБОР КОГДА ДопДоговор <> ЗНАЧЕНИЕ(Справочник.Договора.ПустаяСсылка) ТОГДА Договора.Регистратор ССЫЛКА Документ.ДополнительноеСоглашение ИНАЧЕ Договора.Регистратор ССЫЛКА Документ.Договор КОНЕЦ
ВЫБРАТЬ ДенежныеСредстваНаличные.Заказ КАК Заказ, ДенежныеСредстваНаличные.Регистратор.Ссылка КАК Платеж ПОМЕСТИТЬ Платежи ИЗ РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные ГДЕ ДенежныеСредстваНаличные.СтатьяДвиженияДенежныхСредств = &СтатьяДвиженияДенежныхСредств И ДенежныеСредстваНаличные.Период >= &Период
ОБЪЕДИНИТЬ
ВЫБРАТЬ ДенежныеСредстваКПоступлениюБезналичные.Заказ, ДенежныеСредстваКПоступлениюБезналичные.Регистратор.Ссылка ИЗ РегистрНакопления.ДенежныеСредстваКПоступлениюБезналичные КАК ДенежныеСредстваКПоступлениюБезналичные ГДЕ ДенежныеСредстваКПоступлениюБезналичные.Период >= &Период
ВЫБРАТЬ ПервыеПлатежи.Заказ.Контрагент КАК Контрагент, ПервыеПлатежи.Заказ.Номер КАК НомерСчета, ПервыеПлатежи.Платеж.Ссылка, ПервыеПлатежи.Платеж.Дата КАК Дата, ЕСТЬNULL(ДенежныеСредстваНаличные.Сумма, ДенежныеСредстваКПоступлениюБезналичные.Сумма) КАК СуммаПоСчету ИЗ ПервыеПлатежи КАК ПервыеПлатежи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные ПО ПервыеПлатежи.Заказ = ДенежныеСредстваНаличные.Заказ И ПервыеПлатежи.Платеж = ДенежныеСредстваНаличные.Регистратор ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКПоступлениюБезналичные КАК ДенежныеСредстваКПоступлениюБезналичные ПО ПервыеПлатежи.Заказ = ДенежныеСредстваКПоступлениюБезналичные.Заказ И ПервыеПлатежи.Платеж = ДенежныеСредстваКПоступлениюБезналичные.Регистратор
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!