|
Не срабатывает условие при изменение состава полей в СКД | ☑ | ||
---|---|---|---|---|
0
DenYuliya
18.12.18
✎
11:00
|
День добрый.
Такой вопрос: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.64.48) 1С:Предприятие 8.3 (8.3.10.2667) Есть отчет, на СКД. Смысл отчета: сравнить суммы по оборотам Хозрасчетного регистра. и по оборотам Раздельного учета НДС. На итоговую таблицу накладывается условие:"Сумма обороты БУ <> Сумма раздельного учета НДС". Все хорошо, до того момента, пока пользователь не решает ручками (в настройках) изменить состав полей. При этом слетает группировка, и перестает работать условие. В Консоли запросов я могу это исправить. А как решить данную проблему на СКД? Попробовала отключить Автозаполнение и поковыряться в "Компоновке данных" - не помогло. Текст запроса: ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат КАК АналитикаУчетаЗатратСчетЗатрат ПОМЕСТИТЬ ВТ_Рег ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КлючиАналитикиУчетаЗатрат.СчетЗатрат КАК СчетЗатрат ПОМЕСТИТЬ ВТ_Счета ИЗ ВТ_Рег КАК ВТ_Рег ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаЗатрат КАК КлючиАналитикиУчетаЗатрат ПО ВТ_Рег.АналитикаУчетаЗатратСчетЗатрат = КлючиАналитикиУчетаЗатрат.СчетЗатрат СГРУППИРОВАТЬ ПО КлючиАналитикиУчетаЗатрат.СчетЗатрат ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОборотыДтКт.СчетДт КАК Счет, ХозрасчетныйОборотыДтКт.Организация КАК Организация, ХозрасчетныйОборотыДтКт.ПодразделениеДт КАК Подразделение, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт1, НЕОПРЕДЕЛЕНО) КАК Субконто1, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт2, НЕОПРЕДЕЛЕНО) КАК Субконто2, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт3, НЕОПРЕДЕЛЕНО) КАК Субконто3, 0 КАК СуммаРаздельногоУчетаНДС, ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборотДт ПОМЕСТИТЬ ВТ_Суммы ИЗ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( &НачалоПериода, &КонецПериода, День, СчетДт В (ВЫБРАТЬ ВТ_Счета.СчетЗатрат КАК СчетЗатрат ИЗ ВТ_Счета КАК ВТ_Счета), , , , ) КАК ХозрасчетныйОборотыДтКт ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Организация, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Подразделение, ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто1, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто2, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто3, НЕОПРЕДЕЛЕНО), НДСРаздельныйУчетОбороты.СуммаБезНДСПриход, 0 ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Суммы.Счет КАК Счет, ВТ_Суммы.Организация КАК Организация, ВТ_Суммы.Подразделение КАК Подразделение, ВТ_Суммы.Субконто1 КАК Субконто1, ВТ_Суммы.Субконто2 КАК Субконто2, ВТ_Суммы.Субконто3 КАК Субконто3, СУММА(ВТ_Суммы.СуммаОборотДт) КАК СуммаОборотДт, СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) КАК СуммаРаздельногоУчетаНДС ПОМЕСТИТЬ ВТ_Итог ИЗ ВТ_Суммы КАК ВТ_Суммы СГРУППИРОВАТЬ ПО ВТ_Суммы.Организация, ВТ_Суммы.Подразделение, ВТ_Суммы.Субконто1, ВТ_Суммы.Субконто2, ВТ_Суммы.Субконто3, ВТ_Суммы.Счет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Итог.Счет КАК Счет, ВТ_Итог.Организация КАК Организация, ВТ_Итог.Подразделение КАК Подразделение, ВТ_Итог.Субконто1 КАК Субконто1, ВТ_Итог.Субконто2 КАК Субконто2, ВТ_Итог.Субконто3 КАК Субконто3, ВТ_Итог.СуммаОборотДт КАК СуммаОборотДт, ВТ_Итог.СуммаРаздельногоУчетаНДС КАК СуммаРаздельногоУчетаНДС {ВЫБРАТЬ Счет.*, Организация.*, Подразделение.*, Субконто1.*, Субконто2.*, Субконто3.*, СуммаОборотДт, СуммаРаздельногоУчетаНДС} ИЗ ВТ_Итог КАК ВТ_Итог ГДЕ ВТ_Итог.СуммаОборотДт <> ВТ_Итог.СуммаРаздельногоУчетаНДС {ГДЕ ВТ_Итог.Счет.*, ВТ_Итог.Организация.*, ВТ_Итог.Подразделение.*, ВТ_Итог.Субконто1.*, ВТ_Итог.Субконто2.*, ВТ_Итог.Субконто3.*, (ВТ_Итог.СуммаРаздельногоУчетаНДС <> ВТ_Итог.СуммаОборотДт) КАК ОтборПоСумме} |
|||
1
IvanGorbunov
18.12.18
✎
11:03
|
Это чистый СКД, либо в форме или в модуле есть какой-то код?
|
|||
2
toypaul
гуру
18.12.18
✎
11:06
|
не надо заключать это условие в фигурные скобки
|
|||
3
toypaul
гуру
18.12.18
✎
11:07
|
если условие в скобках {}, то при невыбранном поле (хотя бы одном) из условия, условия срабатывать не будет. считается, что такое условие не является обязательным. отбор по периоду например так делается.
|
|||
4
DenYuliya
18.12.18
✎
11:18
|
Вот так выглядит результат отчета, если отчет формируется со всеми полями, группировками по всем полям. Условие работает. Результат правильный.
https://a.radikal.ru/a42/1812/9c/0e4db132007e.png Настройки при этом такие: https://d.radikal.ru/d27/1812/a6/2b8d8ec6708f.png Когда меняешь состав выбранных полей вот на такие: https://d.radikal.ru/d39/1812/ee/f4d938fafebd.png меняется состав полей группировки и перестает работать условие: |
|||
5
DenYuliya
18.12.18
✎
11:19
|
||||
6
DenYuliya
18.12.18
✎
11:20
|
(1) чистый СКД
(3) спасибо, сейчас попробую. Но через ГДЕ, а не через ИМЕЮЩИЕ не работало точно |
|||
7
DenYuliya
18.12.18
✎
11:24
|
(3) Условие:
ИМЕЮЩИЕ СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) <> СУММА(ВТ_Суммы.СуммаОборотДт) Поля "ВТ_Суммы.СуммаРаздельногоУчетаНДС" и "ВТ_Суммы.СуммаОборотДт" из выборки я не убираю, они не меняются. Меняется состав полей: ВТ_Суммы.Счет КАК Счет, ВТ_Суммы.Организация КАК Организация, ВТ_Суммы.Подразделение КАК Подразделение, ВТ_Суммы.Субконто1 КАК Субконто1, ВТ_Суммы.Субконто2 КАК Субконто2, ВТ_Суммы.Субконто3 КАК Субконто3, например, я оставляю только: ВТ_Суммы.Счет КАК Счет, ВТ_Суммы.СуммаРаздельногоУчетаНДС, ВТ_Суммы.СуммаОборотДт А поля "ВТ_Суммы.Счет КАК Счет" в условии ведь нет. Или я неправильно поняла фразу ""то при невыбранном поле (хотя бы одном) из условия"? |
|||
8
DenYuliya
18.12.18
✎
11:27
|
(3)
Изначально код запроса был таким: ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат КАК АналитикаУчетаЗатратСчетЗатрат ПОМЕСТИТЬ ВТ_Рег ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КлючиАналитикиУчетаЗатрат.СчетЗатрат КАК СчетЗатрат ПОМЕСТИТЬ ВТ_Счета ИЗ ВТ_Рег КАК ВТ_Рег ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаЗатрат КАК КлючиАналитикиУчетаЗатрат ПО ВТ_Рег.АналитикаУчетаЗатратСчетЗатрат = КлючиАналитикиУчетаЗатрат.СчетЗатрат СГРУППИРОВАТЬ ПО КлючиАналитикиУчетаЗатрат.СчетЗатрат ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОборотыДтКт.СчетДт КАК Счет, ХозрасчетныйОборотыДтКт.Организация КАК Организация, ХозрасчетныйОборотыДтКт.ПодразделениеДт КАК Подразделение, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт1, НЕОПРЕДЕЛЕНО) КАК Субконто1, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт2, НЕОПРЕДЕЛЕНО) КАК Субконто2, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт3, НЕОПРЕДЕЛЕНО) КАК Субконто3, 0 КАК СуммаРаздельногоУчетаНДС, ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборотДт ПОМЕСТИТЬ ВТ_Суммы ИЗ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( &НачалоПериода, &КонецПериода, День, СчетДт В (ВЫБРАТЬ ВТ_Счета.СчетЗатрат КАК СчетЗатрат ИЗ ВТ_Счета КАК ВТ_Счета), , , , ) КАК ХозрасчетныйОборотыДтКт ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Организация, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Подразделение, ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто1, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто2, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто3, НЕОПРЕДЕЛЕНО), НДСРаздельныйУчетОбороты.СуммаБезНДСПриход, 0 ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Суммы.Счет КАК Счет, ВТ_Суммы.Организация КАК Организация, ВТ_Суммы.Подразделение КАК Подразделение, ВТ_Суммы.Субконто1 КАК Субконто1, ВТ_Суммы.Субконто2 КАК Субконто2, ВТ_Суммы.Субконто3 КАК Субконто3, СУММА(ВТ_Суммы.СуммаОборотДт) КАК СуммаОборотДт, СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) КАК СуммаРаздельногоУчетаНДС ИЗ ВТ_Суммы КАК ВТ_Суммы СГРУППИРОВАТЬ ПО ВТ_Суммы.Организация, ВТ_Суммы.Подразделение, ВТ_Суммы.Субконто1, ВТ_Суммы.Субконто2, ВТ_Суммы.Субконто3, ВТ_Суммы.Счет ИМЕЮЩИЕ СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) <> СУММА(ВТ_Суммы.СуммаОборотДт) Условие не в фигурных скобках. Это вы имеете в виду? Ну вот оно не работает. После этого я начала извращаться с автозаполнением и пиханием условий и полей в компоновку. |
|||
9
DenYuliya
18.12.18
✎
11:30
|
(1) я бы даже сказала "Собранное и оттестированное в консоли, а потом запихнутое в СКД" ))))
|
|||
10
toypaul
гуру
18.12.18
✎
11:31
|
для начала убрать из условий все фигурные скобки. а почему условие не работает это уже совершенно другой разговор.
|
|||
11
toypaul
гуру
18.12.18
✎
11:33
|
суммы заключить в ЕСТЬNULL(
почему-то для субконто это сделано, а для сумм нет. может тогда и условие заработает как надо |
|||
12
DenYuliya
18.12.18
✎
11:34
|
(10) в (8) (это изначальная "редакция") без фигурных скобок...
|
|||
13
DenYuliya
18.12.18
✎
11:46
|
(11) Не помогло...
ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат КАК АналитикаУчетаЗатратСчетЗатрат ПОМЕСТИТЬ ВТ_Рег ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КлючиАналитикиУчетаЗатрат.СчетЗатрат КАК СчетЗатрат ПОМЕСТИТЬ ВТ_Счета ИЗ ВТ_Рег КАК ВТ_Рег ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаЗатрат КАК КлючиАналитикиУчетаЗатрат ПО ВТ_Рег.АналитикаУчетаЗатратСчетЗатрат = КлючиАналитикиУчетаЗатрат.СчетЗатрат СГРУППИРОВАТЬ ПО КлючиАналитикиУчетаЗатрат.СчетЗатрат ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОборотыДтКт.СчетДт КАК Счет, ХозрасчетныйОборотыДтКт.Организация КАК Организация, ХозрасчетныйОборотыДтКт.ПодразделениеДт КАК Подразделение, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт1, НЕОПРЕДЕЛЕНО) КАК Субконто1, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт2, НЕОПРЕДЕЛЕНО) КАК Субконто2, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СубконтоДт3, НЕОПРЕДЕЛЕНО) КАК Субконто3, 0 КАК СуммаРаздельногоУчетаНДС, ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) КАК СуммаОборотДт ПОМЕСТИТЬ ВТ_Суммы ИЗ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( &НачалоПериода, &КонецПериода, День, СчетДт В (ВЫБРАТЬ ВТ_Счета.СчетЗатрат КАК СчетЗатрат ИЗ ВТ_Счета КАК ВТ_Счета), , , , ) КАК ХозрасчетныйОборотыДтКт ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.СчетЗатрат, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Организация, НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Подразделение, ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто1, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто2, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.АналитикаУчетаЗатрат.Субконто3, НЕОПРЕДЕЛЕНО), ЕСТЬNULL(НДСРаздельныйУчетОбороты.СуммаБезНДСПриход, 0), 0 ИЗ РегистрНакопления.НДСРаздельныйУчет.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК НДСРаздельныйУчетОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Суммы.Счет КАК Счет, ВТ_Суммы.Организация КАК Организация, ВТ_Суммы.Подразделение КАК Подразделение, ВТ_Суммы.Субконто1 КАК Субконто1, ВТ_Суммы.Субконто2 КАК Субконто2, ВТ_Суммы.Субконто3 КАК Субконто3, СУММА(ВТ_Суммы.СуммаОборотДт) КАК СуммаОборотДт, СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) КАК СуммаРаздельногоУчетаНДС ИЗ ВТ_Суммы КАК ВТ_Суммы СГРУППИРОВАТЬ ПО ВТ_Суммы.Организация, ВТ_Суммы.Подразделение, ВТ_Суммы.Субконто1, ВТ_Суммы.Субконто2, ВТ_Суммы.Субконто3, ВТ_Суммы.Счет ИМЕЮЩИЕ СУММА(ВТ_Суммы.СуммаРаздельногоУчетаНДС) <> СУММА(ВТ_Суммы.СуммаОборотДт) |
|||
14
DenYuliya
18.12.18
✎
11:47
|
(11) потому что для субконто криво группировалось без ЕСТЬNULL, для Сумм такой проблемы не было.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |