Информация такая: 1С 8.3.8.2027, Конфигурация "Учёт в ОСМД. Расчет квартплаты в Украине" редакция 1.0.5.7
Столкнулся с такой проблемой.
в одном из глобальных модулей есть пакет запросов. к нему обращаются разные документы для получения различных данных. Создал новый документ и тоже обращаюсь к этому пакету запросов, НО получаю результат запроса весь "Ошибка чтения значения". в запрос передаётся в качестве параметра 2 значения: ЛицевойСчет и ПериодНачисления (берутся из полей на форме документа).
Естественно, все документы из конфигурации, запрос обрабатывает нормально, а из моего нет. К запросу обращался и через общий модуль и копировал его в модуль моего документа и результата нет. Понимаю что дело в параметрах, которые я передаю в запрос, т.к. ни локально ни глобально он не отрабатывает. НО параметры проверил - такие же как и от других документов, такие же и из моего передаются в него, НО УВЫ....
вкратце немного кода:
1. в общем модуле ПечатьКвитанцииНаОплату: необходимо зарегистрироваться для просмотра ссылки
Функция ПолучитьОбщуюСтруктуруКвитанции(ЛицевыеСчета, МесяцНачисления) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РасчетыПоЛицевымСчетамОстатки.ЛицевойСчет КАК ЛицевойСчет,
| РасчетыПоЛицевымСчетамОстатки.Услуга КАК Услуга,
| РасчетыПоЛицевымСчетамОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрНакопления.РасчетыПоЛицевымСчетам.Остатки(КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ), ЛицевойСчет В (&ЛицевыеСчета)) КАК РасчетыПоЛицевымСчетамОстатки
|ГДЕ
| РасчетыПоЛицевымСчетамОстатки.Услуга <> ЗНАЧЕНИЕ(Справочник.Услуги.РеструктуризацияДолга)
|
|СГРУППИРОВАТЬ ПО
| РасчетыПоЛицевымСчетамОстатки.ЛицевойСчет,
| РасчетыПоЛицевымСчетамОстатки.Услуга,
| РасчетыПоЛицевымСчетамОстатки.СуммаОстаток
|ИТОГИ
| СУММА(СуммаОстаток)
|ПО
| ЛицевойСчет,
| Услуга
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| УстановленныеПриборыУчетаСрезПоследних.ОбъектУстановки,
| УстановленныеПриборыУчетаСрезПоследних.ПриборУчета,
| СУММА(ЕСТЬNULL(ПоказанияПрибораУчета.ТекущиеПоказания, 0)) КАК ТекущиеПоказания,
| СУММА(ЕСТЬNULL(ПоказанияПрибораУчета.ПредыдущиеПоказания, 0)) КАК ПредыдущиеПоказания,
| ПоказанияПрибораУчета.ПриборУчета.Коэффициент,
| КОЛИЧЕСТВО(УстановленныеПриборыУчетаСрезПоследних.ПриборУчета) КАК КоличествоПиборовНаУслуге,
| ПоказанияПрибораУчета.ПриборУчета.Услуга КАК Услуга,
| ПоказанияПрибораУчета.ПриборУчета.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| РегистрСведений.УстановленныеПриборыУчета.СрезПоследних(КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ), ОбъектУстановки В (&ЛицевыеСчета)) КАК УстановленныеПриборыУчетаСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоказанияПриборовУчетаСрезПоследних.ПриборУчета КАК ПриборУчета,
| СУММА(ПоказанияПриборовУчетаСрезПоследних.Значение) КАК ТекущиеПоказания,
| СУММА(0) КАК ПредыдущиеПоказания,
| ПоказанияПриборовУчетаСрезПоследних.ВидТарифа КАК ВидТарифа
| ИЗ
| РегистрСведений.ПоказанияПриборовУчета.СрезПоследних(КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ), ) КАК ПоказанияПриборовУчетаСрезПоследних
|
| СГРУППИРОВАТЬ ПО
| ПоказанияПриборовУчетаСрезПоследних.ПриборУчета,
| ПоказанияПриборовУчетаСрезПоследних.ВидТарифа
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПоказанияПриборовУчетаСрезПоследних.ПриборУчета,
| СУММА(0),
| СУММА(ПоказанияПриборовУчетаСрезПоследних.Значение),
| ПоказанияПриборовУчетаСрезПоследних.ВидТарифа
| ИЗ
| РегистрСведений.ПоказанияПриборовУчета.СрезПоследних(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ), ДЕНЬ, -1), ) КАК ПоказанияПриборовУчетаСрезПоследних
| ГДЕ
| ПоказанияПриборовУчетаСрезПоследних.Период < КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ)
|
| СГРУППИРОВАТЬ ПО
| ПоказанияПриборовУчетаСрезПоследних.ПриборУчета,
| ПоказанияПриборовУчетаСрезПоследних.ВидТарифа) КАК ПоказанияПрибораУчета
| ПО УстановленныеПриборыУчетаСрезПоследних.ПриборУчета = ПоказанияПрибораУчета.ПриборУчета
|ГДЕ
| УстановленныеПриборыУчетаСрезПоследних.Действует = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
| УстановленныеПриборыУчетаСрезПоследних.ОбъектУстановки,
| УстановленныеПриборыУчетаСрезПоследних.ПриборУчета,
| ПоказанияПрибораУчета.ПриборУчета.Коэффициент,
| ПоказанияПрибораУчета.ПриборУчета.Услуга,
| ПоказанияПрибораУчета.ПриборУчета.ЕдиницаИзмерения
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗаменыПриборовУчета.ОбъектУстановки,
| ЗаменыПриборовУчета.ПриборУчета,
| ЗаменыПриборовУчета.Показание,
| ЗаменыПриборовУчета.ПоказаниеПредыдущее,
| ЗаменыПриборовУчета.ПриборУчета.Коэффициент,
| 0,
| ЗаменыПриборовУчета.Услуга,
| ЗаменыПриборовУчета.ПриборУчета.ЕдиницаИзмерения
|ИЗ
| РегистрНакопления.ЗаменыПриборовУчета КАК ЗаменыПриборовУчета
|ГДЕ
| ЗаменыПриборовУчета.Период МЕЖДУ НАЧАЛОПЕРИОДА(&МесяцНачисления, МЕСЯЦ) И КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ)
|
|УПОРЯДОЧИТЬ ПО
| Услуга УБЫВ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыПоЛицевымСчетам.ЛицевойСчет.Владелец КАК Здание,
| РасчетыПоЛицевымСчетам.ЛицевойСчет КАК ЛицевойСчет,
| РасчетыПоЛицевымСчетам.Услуга КАК Услуга,
| РасчетыПоЛицевымСчетам.Услуга.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РасчетыПоЛицевымСчетам.Тариф КАК Тариф,
| РасчетыПоЛицевымСчетам.ДнейНачислено КАК ДнейНачислено,
| СУММА(ЕСТЬNULL(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Начисление)
| ТОГДА РасчетыПоЛицевымСчетам.Количество
| КОНЕЦ, 0)) КАК КоличествоЕдИзм,
| СУММА(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Начисление)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Начисление,
| СУММА(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Субсидия)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Субсидия,
| СУММА(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Льгота)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Льгота,
| СУММА(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Перерасчет)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Перерасчет,
| СУММА(ВЫБОР
| КОГДА РасчетыПоЛицевымСчетам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И ТИПЗНАЧЕНИЯ(РасчетыПоЛицевымСчетам.Регистратор) <> ТИП(Документ.ДоговорРеструктуризацииДолга)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Оплата,
| СУММА(ВЫБОР
| КОГДА НЕ РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Начисление)
| И НЕ РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Льгота)
| И НЕ РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Субсидия)
| И НЕ РасчетыПоЛицевымСчетам.ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.Перерасчет)
| И РасчетыПоЛицевымСчетам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И ТИПЗНАЧЕНИЯ(РасчетыПоЛицевымСчетам.Регистратор) <> ТИП(Документ.ДоговорРеструктуризацииДолга)
| ТОГДА РасчетыПоЛицевымСчетам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Корректировка,
| РасчетыПоЛицевымСчетам.ЛицевойСчет.ОбъектЛицевогоСчета КАК Квартира,
| ЕСТЬNULL(РасчетыПоЛицевымСчетам.Порог, """") КАК Порог
|ИЗ
| РегистрНакопления.РасчетыПоЛицевымСчетам КАК РасчетыПоЛицевымСчетам
|ГДЕ
| РасчетыПоЛицевымСчетам.ЛицевойСчет В(&ЛицевыеСчета)
| И РасчетыПоЛицевымСчетам.Период МЕЖДУ НАЧАЛОПЕРИОДА(&МесяцНачисления, МЕСЯЦ) И КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ)
| И РасчетыПоЛицевымСчетам.Услуга <> ЗНАЧЕНИЕ(Справочник.Услуги.РеструктуризацияДолга)
|
|СГРУППИРОВАТЬ ПО
| РасчетыПоЛицевымСчетам.ЛицевойСчет,
| РасчетыПоЛицевымСчетам.Услуга,
| РасчетыПоЛицевымСчетам.ЛицевойСчет.Владелец,
| РасчетыПоЛицевымСчетам.Услуга.ЕдиницаИзмерения,
| РасчетыПоЛицевымСчетам.Тариф,
| РасчетыПоЛицевымСчетам.ДнейНачислено,
| РасчетыПоЛицевымСчетам.ЛицевойСчет.ОбъектЛицевогоСчета,
| ЕСТЬNULL(РасчетыПоЛицевымСчетам.Порог, """")
|
|УПОРЯДОЧИТЬ ПО
| Услуга УБЫВ
|ИТОГИ
| СУММА(КоличествоЕдИзм),
| СУММА(Начисление),
| СУММА(Субсидия),
| СУММА(Льгота),
| СУММА(Перерасчет),
| СУММА(Оплата),
| СУММА(Корректировка)
|ПО
| ЛицевойСчет,
| Услуга
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПланированиеАвансовЛицевыеСчета.ЛицевойСчет,
| ПланированиеАвансовЛицевыеСчета.СуммаНачислено КАК СуммаАванса,
| ПланированиеАвансовЛицевыеСчета.Ссылка.Услуга
|ИЗ
| Документ.ПланированиеАвансов.ЛицевыеСчета КАК ПланированиеАвансовЛицевыеСчета
|ГДЕ
| НАЧАЛОПЕРИОДА(ПланированиеАвансовЛицевыеСчета.Ссылка.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&МесяцНачисления, МЕСЯЦ, 1), МЕСЯЦ)
| И ПланированиеАвансовЛицевыеСчета.ЛицевойСчет В(&ЛицевыеСчета)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПлатежиПоРеструктуризацииДолга.ЛицевойСчет КАК ЛицевойСчет,
| ПлатежиПоРеструктуризацииДолга.СуммаПлатежа КАК СуммаПлатежа,
| ПлатежиПоРеструктуризацииДолга.ОбщаяСумма КАК ОбщаяСумма,
| ПлатежиПоРеструктуризацииДолга.Регистратор КАК ДокументРеструктуризации,
| ЕСТЬNULL(РасчетыПоЛицевымСчетамОстаткиИОбороты.СуммаРасход, 0) КАК Оплаты,
| ПлатежиПоРеструктуризацииДолга.ОбщаяСумма - ЕСТЬNULL(РасчетыПоЛицевымСчетамОстаткиИОбороты.СуммаРасход, 0) КАК ОстатокРеструктуризации
|ИЗ
| РегистрСведений.ПлатежиПоРеструктуризацииДолга КАК ПлатежиПоРеструктуризацииДолга
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыПоЛицевымСчетам.ОстаткиИОбороты(, КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ), , , Услуга = ЗНАЧЕНИЕ(Справочник.Услуги.РеструктуризацияДолга)) КАК РасчетыПоЛицевымСчетамОстаткиИОбороты
| ПО ПлатежиПоРеструктуризацииДолга.ЛицевойСчет = РасчетыПоЛицевымСчетамОстаткиИОбороты.ЛицевойСчет
|ГДЕ
| ПлатежиПоРеструктуризацииДолга.Период >= КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ)
| И ПлатежиПоРеструктуризацииДолга.ЛицевойСчет В(&ЛицевыеСчета)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыПоЛицевымСчетамОстатки.ЛицевойСчет КАК ЛицевойСчет,
| РасчетыПоЛицевымСчетамОстатки.Услуга КАК Услуга,
| РасчетыПоЛицевымСчетамОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрНакопления.РасчетыПоЛицевымСчетам.Остатки(НАЧАЛОПЕРИОДА(&МесяцНачисления, МЕСЯЦ), ЛицевойСчет В (&ЛицевыеСчета)) КАК РасчетыПоЛицевымСчетамОстатки
|ГДЕ
| РасчетыПоЛицевымСчетамОстатки.Услуга <> ЗНАЧЕНИЕ(Справочник.Услуги.РеструктуризацияДолга)
|
|СГРУППИРОВАТЬ ПО
| РасчетыПоЛицевымСчетамОстатки.ЛицевойСчет,
| РасчетыПоЛицевымСчетамОстатки.Услуга,
| РасчетыПоЛицевымСчетамОстатки.СуммаОстаток
|ИТОГИ
| СУММА(СуммаОстаток)
|ПО
| ЛицевойСчет
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДоговорРеструктуризацииДолга.Ссылка
|ИЗ
| Документ.ДоговорРеструктуризацииДолга КАК ДоговорРеструктуризацииДолга
|ГДЕ
| ДоговорРеструктуризацииДолга.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&МесяцНачисления, МЕСЯЦ) И КОНЕЦПЕРИОДА(&МесяцНачисления, МЕСЯЦ)
| И ДоговорРеструктуризацииДолга.Проведен = ИСТИНА";
Запрос.УстановитьПараметр("ЛицевыеСчета", ЛицевыеСчета);
Запрос.УстановитьПараметр("МесяцНачисления", МесяцНачисления);
Результат = Запрос.ВыполнитьПакет();
Возврат Результат;
КонецФункции
и в модуле формы у меня так:
Процедура ПолучитьУслугиИНачисления(ЛицевойСчет,МесяцНачисления)
//Обращаемся к функции ПолучитьОбщуюСтруктуруКвитанции(ЛицевыеСчета, МесяцНачисления) в общем модуле ПечатьКвитанцииНаОплату
ГлобальнаяВыборка = ПечатьКвитанцииНаОплату.ПолучитьОбщуюСтруктуруКвитанции(ЛицевойСчет,МесяцНачисления);
ВыборкаЛицевойСчет = ГлобальнаяВыборка[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаУслуга = ВыборкаЛицевойСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаОстатокПоУслугам = ГлобальнаяВыборка[5].Выгрузить();
Пока ВыборкаУслуга.Следующий() Цикл
СтрокаТЧ = Объект.РазмерыПлатежей.Добавить();
СтрокаТЧ.ВидУслуги = ВыборкаУслуга.Услуга.КраткоеНаименование;
СтрокаТЧ.РазмерОплатыСУчетомЛьгот = ВыборкаУслуга.Начисление - ВыборкаУслуга.Льгота;
СтрокаТЧ.РазмерОплатыВПределахНормативов = ВыборкаУслуга.Начисление;
КонецЦикла;
КонецПроцедуры
этот фрагмент тоже взят из модуля ПечатьКвитанцииНаОплату, только в цикле обхода выборки в оригинале заполняются параметры макета, а я заполняю табличную часть РазмерыПлатежей формы.
Обращаюсь к процедуре так:
ПолучитьУслугиИНачисления(Объект.ЛицевойСчет, Объект.ПериодНачисления);
где Объект.ЛицевойСчет и Объект.ПериодНачисления поля на форме. В общем грешу на параметры но после 2-х дней танцев с бубнами уже не вижу где ошибка. Подскажите где я ошибся. Заранее спасибо