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