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