Такой вот вопрос, делал печатную форму, и столкнулся с такой проблемой что когда использую группировку запроса, то появляються пробелы. Можно ли это как-то исправить или только делать каждый запрос отдельно?
И может сможет кто-нибудь напомнить почему при сложении столбцов они ещё и умножаются? Вроде когда языки программирования помнил что там какой-то прикол был, но сейчас окончательно из головы вылетело
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| NULL КАК ВидОперации,
| НачислениеЗПСотрудникаНачисленияЗП.Отделение.Наименование КАК Отделение,
| НачислениеЗПСотрудникаНачисленияЗП.Должность.Наименование КАК Должность,
| НачислениеЗПСотрудникаНачисленияЗП.СуммаН КАК Сумма,
| NULL КАК СуммаУ,
| NULL КАК ОтделениеУ,
| NULL КАК ДолжностьУ
|ИЗ
| Документ.НачислениеЗПСотрудника.НачисленияЗП КАК НачислениеЗПСотрудникаНачисленияЗП
|ГДЕ
| НачислениеЗПСотрудникаНачисленияЗП.Ссылка.Ссылка = &СсылкаНаДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НачислениеЗПСотрудникаНачисленияДополнительные.Начисление.Наименование,
| NULL,
| NULL,
| NULL,
| НачислениеЗПСотрудникаНачисленияДополнительные.СуммаН,
| НачислениеЗПСотрудникаНачисленияДополнительные.Отделение.Наименование,
| НачислениеЗПСотрудникаНачисленияДополнительные.Должность.Наименование
|ИЗ
| Документ.НачислениеЗПСотрудника.НачисленияДополнительные КАК НачислениеЗПСотрудникаНачисленияДополнительные
|ГДЕ
| НачислениеЗПСотрудникаНачисленияДополнительные.Ссылка.Ссылка = &СсылкаНаДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НачислениеЗПСотрудникаУдержания.Удержание,
| NULL,
| NULL,
| NULL,
| НачислениеЗПСотрудникаУдержания.СуммаУ,
| НачислениеЗПСотрудникаУдержания.Отделение.Наименование,
| НачислениеЗПСотрудникаУдержания.Должность.Наименование
|ИЗ
| Документ.НачислениеЗПСотрудника.Удержания КАК НачислениеЗПСотрудникаУдержания
|ГДЕ
| НачислениеЗПСотрудникаУдержания.Ссылка.Ссылка = &СсылкаНаДокумент";
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьСтрокаТаблицы.Параметры.Отделение = ВыборкаДетальныеЗаписи.Отделение;
ОбластьСтрокаТаблицы.Параметры.Должность = ВыборкаДетальныеЗаписи.Должность;
ОбластьСтрокаТаблицы.Параметры.ОтделениеУ = ВыборкаДетальныеЗаписи.ОтделениеУ;
ОбластьСтрокаТаблицы.Параметры.ДолжностьУ = ВыборкаДетальныеЗаписи.ДолжностьУ;
ОбластьСтрокаТаблицы.Параметры.ВидОперации = ВыборкаДетальныеЗаписи.ВидОперации;
ОбластьСтрокаТаблицы.Параметры.СуммаНачисления = ВыборкаДетальныеЗаписи.Сумма;
ОбластьСтрокаТаблицы.Параметры.СуммаУдержания = ВыборкаДетальныеЗаписи.СуммаУ;
//
ТабДок.Вывести(ОбластьСтрокаТаблицы);
КонецЦикла;
ПоказатьИ может сможет кто-нибудь напомнить почему при сложении столбцов они ещё и умножаются? Вроде когда языки программирования помнил что там какой-то прикол был, но сейчас окончательно из головы вылетело
Код сложения |
---|
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(НачислениеЗПСотрудникаУдержания.СуммаУ + НачислениеЗПСотрудникаНачисленияДополнительные.СуммаН) КАК СальдоКонецУ
|ИЗ
| Документ.НачислениеЗПСотрудника.Удержания КАК НачислениеЗПСотрудникаУдержания,
| Документ.НачислениеЗПСотрудника.НачисленияДополнительные КАК НачислениеЗПСотрудникаНачисленияДополнительные
|ГДЕ
| НачислениеЗПСотрудникаУдержания.Ссылка = &СсылкаНаДокумент";
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьПодвал.Параметры.СальдоКонецУ = ВыборкаДетальныеЗаписи.СальдоКонецУ;
ТабДок.Вывести(ОбластьПодвал);
КонецЦикла; Показать |
Прикрепленные файлы:
По теме из базы знаний
- Использование отчета как печатной формы документа
- Внешние печатные формы по кадровым документам и зарплате в БП 3.0
- Печатная форма М-15 для документа Реализация услуг по переработке для конфигурации (БП 3.0)
- Счет-фактура выданный (внешняя печатная форма) с выбором подписантов и с печатью с грузополучателем или без.
- Внешняя печатная форма в формате Word (.docx, .doc) с помощью средств БСП
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) https://uc1.1c.ru/course/zaprosy-v-1s-predpriyatie-8-dlya-programmistov-i-razrabotchikov/
когда языки программирования помнил что там какой-то прикол был,
Начни, пожалуй, с
3.
Гость
16.12.23 08:47
Не получится вторым способом сделать, таблицы через запятую (декартово произведение) в секции ИЗ, поэтому и умножаются.
Думаю, следует сделать выбор 0 ей, вместо NULL
Поместить во временную таблицу ВТДанные
Группировку делать уже во втором запросе пакета
Думаю, следует сделать выбор 0 ей, вместо NULL
Поместить во временную таблицу ВТДанные
Группировку делать уже во втором запросе пакета
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| NULL КАК ВидОперации,
| НачислениеЗПСотрудникаНачисленияЗП.Отделение.Наименование КАК Отделение,
| НачислениеЗПСотрудникаНачисленияЗП.Должность.Наименование КАК Должность,
| НачислениеЗПСотрудникаНачисленияЗП.СуммаН КАК Сумма,
| 0 КАК СуммаУ,
| 0 КАК ОтделениеУ,
| 0 КАК ДолжностьУ
|ПОМЕСТИТЬ ВТДанные
|ИЗ
| Документ.НачислениеЗПСотрудника.НачисленияЗП КАК НачислениеЗПСотрудникаНачисленияЗП
|ГДЕ
| НачислениеЗПСотрудникаНачисленияЗП.Ссылка.Ссылка = &СсылкаНаДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НачислениеЗПСотрудникаНачисленияДополнительные.Начисление.Наименование,
| NULL,
| NULL,
| 0,
| НачислениеЗПСотрудникаНачисленияДополнительные.СуммаН,
| НачислениеЗПСотрудникаНачисленияДополнительные.Отделение.Наименование,
| НачислениеЗПСотрудникаНачисленияДополнительные.Должность.Наименование
|ИЗ
| Документ.НачислениеЗПСотрудника.НачисленияДополнительные КАК НачислениеЗПСотрудникаНачисленияДополнительные
|ГДЕ
| НачислениеЗПСотрудникаНачисленияДополнительные.Ссылка.Ссылка = &СсылкаНаДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НачислениеЗПСотрудникаУдержания.Удержание,
| NULL,
| NULL,
| 0,
| - НачислениеЗПСотрудникаУдержания.СуммаУ,
| НачислениеЗПСотрудникаУдержания.Отделение.Наименование,
| НачислениеЗПСотрудникаУдержания.Должность.Наименование
|ИЗ
| Документ.НачислениеЗПСотрудника.Удержания КАК НачислениеЗПСотрудникаУдержания
|ГДЕ
| НачислениеЗПСотрудникаУдержания.Ссылка.Ссылка = &СсылкаНаДокумент;
| ВЫБРАТЬ * ИЗ ВТДанные;
";
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьСтрокаТаблицы.Параметры.Отделение = ВыборкаДетальныеЗаписи.Отделение;
ОбластьСтрокаТаблицы.Параметры.Должность = ВыборкаДетальныеЗаписи.Должность;
ОбластьСтрокаТаблицы.Параметры.ОтделениеУ = ВыборкаДетальныеЗаписи.ОтделениеУ;
ОбластьСтрокаТаблицы.Параметры.ДолжностьУ = ВыборкаДетальныеЗаписи.ДолжностьУ;
ОбластьСтрокаТаблицы.Параметры.ВидОперации = ВыборкаДетальныеЗаписи.ВидОперации;
ОбластьСтрокаТаблицы.Параметры.СуммаНачисления = ВыборкаДетальныеЗаписи.Сумма;
ОбластьСтрокаТаблицы.Параметры.СуммаУдержания = ВыборкаДетальныеЗаписи.СуммаУ;
//
ТабДок.Вывести(ОбластьСтрокаТаблицы);
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот