ПостроительОтчета.Отбор.Добавить("Счет"); Ругается на эту строку, говорит что "Недопустимое значение параметра (параметр номер '1')", что делать, как быть?
Вообще по отчету, есть запрос который выберает данные, так же у отчета есть форма настроек, в которой пользователь может указать ОТБОР, при открытии этой формы выполняется выше приведенный код.
Как добавить поле в отбор у построителя?
Вроде добавилось, как я понимаю, поля должны быть в "Условия" ?
Группа: Местный
Сообщений: 2909
Из: Київ, Україна
Спасибо сказали: 1162 раз
Рейтинг: 1248.1
У вас "Счет" поставлен параметром в основном запросе, "Валюта" - в условии ВТ построителя, в общих условиях построителя ничего нет. Если вы ставите условия к ВТ, нет смысла ставить общие условия к таким же полям. Если вы ставите любые условия в основном запросе, нет смысла ставить условия к таким же полям в построителе.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0
Цитата(Petre @ 13.05.15, 15:13)
У вас "Счет" поставлен параметром в основном запросе, "Валюта" - в условии ВТ построителя, в общих условиях построителя ничего нет. Если вы ставите условия к ВТ, нет смысла ставить общие условия к таким же полям. Если вы ставите любые условия в основном запросе, нет смысла ставить условия к таким же полям в построителе.
Вот что у меня есть, если не добавляю в "Построитель"-"Условия" поле счет, то тогда вылетает ошибка на строке "ПостроительОтчета.Отбор.Добавить("Счет");". Что делаю не так?
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0
Цитата(Petre @ 13.05.15, 15:46)
Вы пытаетесь добавить элемент несуществующего отбора. Конечно будет ругаться.
Заработало!
Но отбор так и не отберает....
У меня есть отчет, и форма настройки где указываю значение отбора, а потом при закрытии формы по идеи должден отработать запрос с построителем + отбор, но отбор не работает...
Если ПостроительОтчета.Отбор.Количество() = 0 Тогда ПостроительОтчета.Отбор.Добавить("Валюта"); ПостроительОтчета.Отбор.Добавить("СчетУчета"); КонецЕсли;
Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Хозрасчетный.СчетДт КАК Счет |ПОМЕСТИТЬ СчетаУчета |ИЗ | (ВЫБРАТЬ | Хозрасчетный.СчетДт КАК СчетДт | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств) | И Хозрасчетный.Период = &Период | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | Хозрасчетный.СчетКт | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств) | И Хозрасчетный.Период = &Период) КАК Хозрасчетный |ГДЕ | НЕ Хозрасчетный.СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеДоходыИРасходы)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РасчетПереоценкиВалютныхСредств.Период КАК Период, | РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо, 0) КАК СуммаВВалюте, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаВЕвро, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК СуммаВРублях, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаЕвро, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК Сумма, | ВЫБОР | КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) = 0 | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) | КОНЕЦ КАК КурсПереоценкиЕвро, | ВЫБОР | КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) = 0 | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) | КОНЕЦ КАК КурсПереоценки |{ВЫБРАТЬ | СчетУчета.*, | Валюта.*} |ИЗ | (ВЫБРАТЬ | РасчетПереоценкиВалютныхСредств.Период КАК Период, | РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3, | СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо) КАК ВалютнаяСуммаОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо) КАК СуммаУпрОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо) КАК СуммаОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле) КАК ВалютнаяСуммаОстатокПосле, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле) КАК СуммаУпрОстатокПосле, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле) КАК СуммаОстатокПосле | ИЗ | (ВЫБРАТЬ | &Период КАК Период, | ХозрасчетныйОстатки.Счет КАК СчетУчета, | ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета) КАК Валюта, | ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2) КАК Субконто1, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ТОГДА ХозрасчетныйОстатки.Субконто3 | ИНАЧЕ ХозрасчетныйОстатки.Субконто2 | КОНЕЦ КАК Субконто2, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL | ТОГДА NULL | ИНАЧЕ ХозрасчетныйОстатки.Субконто3 | КОНЕЦ КАК Субконто3, | ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК ВалютнаяСуммаОстатокДо, | ХозрасчетныйОстатки.СуммаУпрОстаток КАК СуммаУпрОстатокДо, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстатокДо, | 0 КАК ВалютнаяСуммаОстатокПосле, | 0 КАК СуммаУпрОстатокПосле, | 0 КАК СуммаОстатокПосле | ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ПериодИскл, | Счет В | (ВЫБРАТЬ | СчетаУчета.Счет | ИЗ | СчетаУчета КАК СчетаУчета), | , | ) КАК ХозрасчетныйОстатки, | Константы КАК Константы | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | &Период, | ХозрасчетныйОстатки.Счет, | ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета), | ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2), | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ТОГДА ХозрасчетныйОстатки.Субконто3 | ИНАЧЕ ХозрасчетныйОстатки.Субконто2 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL | ТОГДА NULL | ИНАЧЕ ХозрасчетныйОстатки.Субконто3 | КОНЕЦ, | 0, | 0, | 0, | ХозрасчетныйОстатки.ВалютнаяСуммаОстаток, | ХозрасчетныйОстатки.СуммаУпрОстаток, | ХозрасчетныйОстатки.СуммаОстаток | ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ПериодВкл, | Счет В | (ВЫБРАТЬ | СчетаУчета.Счет | ИЗ | СчетаУчета КАК СчетаУчета), | , | ) КАК ХозрасчетныйОстатки, | Константы КАК Константы) КАК РасчетПереоценкиВалютныхСредств | | СГРУППИРОВАТЬ ПО | РасчетПереоценкиВалютныхСредств.Период, | РасчетПереоценкиВалютныхСредств.СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3) КАК РасчетПереоценкиВалютныхСредств |{ГДЕ | РасчетПереоценкиВалютныхСредств.СчетУчета.*, | РасчетПереоценкиВалютныхСредств.Валюта.*} |ИТОГИ | СУММА(СуммаВВалюте), | СУММА(СуммаВЕвро), | СУММА(СуммаВРублях), | СУММА(СуммаЕвро), | СУММА(Сумма) |ПО | Период, | СчетУчета, | Валюта, | Субконто1";
Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Хозрасчетный.СчетДт КАК Счет |ПОМЕСТИТЬ СчетаУчета |{ВЫБРАТЬ | Хозрасчетный.СчетДт.*} |ИЗ | (ВЫБРАТЬ | Хозрасчетный.СчетДт КАК СчетДт | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств) | И Хозрасчетный.Период = &Период | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | Хозрасчетный.СчетКт | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ПереоценкаВалютныхСредств) | И Хозрасчетный.Период = &Период) КАК Хозрасчетный |ГДЕ | НЕ Хозрасчетный.СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеДоходыИРасходы)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РасчетПереоценкиВалютныхСредств.Период КАК Период, | РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо, 0) КАК СуммаВВалюте, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаВЕвро, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК СуммаВРублях, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо, 0) КАК СуммаЕвро, | ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) - ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо, 0) КАК Сумма, | ВЫБОР | КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) = 0 | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле, 0) | КОНЕЦ КАК КурсПереоценкиЕвро, | ВЫБОР | КОГДА ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) = 0 | ТОГДА 0 | ИНАЧЕ ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле, 0) / ЕСТЬNULL(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле, 0) | КОНЕЦ КАК КурсПереоценки |{ВЫБРАТЬ | Период, | СчетУчета.*, | Валюта.*, | Субконто1.*, | Субконто2.*, | Субконто3.*, | СуммаВВалюте, | СуммаВЕвро, | СуммаВРублях, | СуммаЕвро, | Сумма, | КурсПереоценкиЕвро, | КурсПереоценки} |ИЗ | (ВЫБРАТЬ | РасчетПереоценкиВалютныхСредств.Период КАК Период, | РасчетПереоценкиВалютныхСредств.СчетУчета КАК СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта КАК Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1 КАК Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2 КАК Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3 КАК Субконто3, | СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокДо) КАК ВалютнаяСуммаОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокДо) КАК СуммаУпрОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокДо) КАК СуммаОстатокДо, | СУММА(РасчетПереоценкиВалютныхСредств.ВалютнаяСуммаОстатокПосле) КАК ВалютнаяСуммаОстатокПосле, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаУпрОстатокПосле) КАК СуммаУпрОстатокПосле, | СУММА(РасчетПереоценкиВалютныхСредств.СуммаОстатокПосле) КАК СуммаОстатокПосле | ИЗ | (ВЫБРАТЬ | &Период КАК Период, | ХозрасчетныйОстатки.Счет КАК СчетУчета, | ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета) КАК Валюта, | ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2) КАК Субконто1, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ТОГДА ХозрасчетныйОстатки.Субконто3 | ИНАЧЕ ХозрасчетныйОстатки.Субконто2 | КОНЕЦ КАК Субконто2, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL | ТОГДА NULL | ИНАЧЕ ХозрасчетныйОстатки.Субконто3 | КОНЕЦ КАК Субконто3, | ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК ВалютнаяСуммаОстатокДо, | ХозрасчетныйОстатки.СуммаУпрОстаток КАК СуммаУпрОстатокДо, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстатокДо, | 0 КАК ВалютнаяСуммаОстатокПосле, | 0 КАК СуммаУпрОстатокПосле, | 0 КАК СуммаОстатокПосле | ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ПериодИскл, | Счет В | (ВЫБРАТЬ | СчетаУчета.Счет | ИЗ | СчетаУчета КАК СчетаУчета), | , | ) КАК ХозрасчетныйОстатки, | Константы КАК Константы | {ГДЕ | ХозрасчетныйОстатки.Счет.*, | ХозрасчетныйОстатки.Валюта.*} | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | &Период, | ХозрасчетныйОстатки.Счет, | ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, Константы.ВалютаРегламентированногоУчета), | ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2), | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ТОГДА ХозрасчетныйОстатки.Субконто3 | ИНАЧЕ ХозрасчетныйОстатки.Субконто2 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстатки.Субконто1 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто2 = NULL | ИЛИ ХозрасчетныйОстатки.Субконто3 = NULL | ТОГДА NULL | ИНАЧЕ ХозрасчетныйОстатки.Субконто3 | КОНЕЦ, | 0, | 0, | 0, | ХозрасчетныйОстатки.ВалютнаяСуммаОстаток, | ХозрасчетныйОстатки.СуммаУпрОстаток, | ХозрасчетныйОстатки.СуммаОстаток | ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ПериодВкл, | Счет В | (ВЫБРАТЬ | СчетаУчета.Счет | ИЗ | СчетаУчета КАК СчетаУчета), | , | ) КАК ХозрасчетныйОстатки, | Константы КАК Константы | {ГДЕ | ХозрасчетныйОстатки.Счет.*, | ХозрасчетныйОстатки.Валюта.*}) КАК РасчетПереоценкиВалютныхСредств | | СГРУППИРОВАТЬ ПО | РасчетПереоценкиВалютныхСредств.Период, | РасчетПереоценкиВалютныхСредств.СчетУчета, | РасчетПереоценкиВалютныхСредств.Валюта, | РасчетПереоценкиВалютныхСредств.Субконто1, | РасчетПереоценкиВалютныхСредств.Субконто2, | РасчетПереоценкиВалютныхСредств.Субконто3) КАК РасчетПереоценкиВалютныхСредств |ИТОГИ | СУММА(СуммаВВалюте), | СУММА(СуммаВЕвро), | СУММА(СуммаВРублях), | СУММА(СуммаЕвро), | СУММА(Сумма) |ПО | Период, | СчетУчета, | Валюта, | Субконто1";
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!