|   |   | 
| 
 | Запрос, сложить и вычесть суммы в строчках | ☑ | ||
|---|---|---|---|---|
| 0
    
        bfss-732 24.06.21✎ 10:01 | 
        Всем привет!
 Есть результат запроса в виде таблицы: Столб1 Столб2 Столб3 Строка1 Номенклатура1 СчетДТ Сумма1 Строка2 Номенклатура2 СчетДТ Сумма2 Строка3 Номенклатура3 СчетДТ Сумма3 Строку4 NULL NULL Сумма4 Нужно получить Строку4, где Сумма4=Сумма1=Сумма2-Сумма3 Как? | |||
| 1
    
        bfss-732 24.06.21✎ 10:02 | 
        Сумма4=Сумма1+Сумма2-Сумма3     | |||
| 2
    
        bfss-732 24.06.21✎ 10:03 | 
        ВЫБРАТЬ
 ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт, ХозрасчетныйДвиженияССубконто.СубконтоДт2 КАК СубконтоДт2, ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1, ХозрасчетныйДвиженияССубконто.ПодразделениеДт КАК ПодразделениеДт, СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, // ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор, ХозрасчетныйДвиженияССубконто.Период КАК Период ИЗ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( &НП, &КП, СчетДт В (&СчетДт) И ПодразделениеДт В (&ПодразделениеДт), , ) КАК ХозрасчетныйДвиженияССубконто СГРУППИРОВАТЬ ПО ХозрасчетныйДвиженияССубконто.СчетКт, ХозрасчетныйДвиженияССубконто.СубконтоДт2, ХозрасчетныйДвиженияССубконто.СубконтоКт1, ХозрасчетныйДвиженияССубконто.ПодразделениеДт, // ХозрасчетныйДвиженияССубконто.Регистратор, ХозрасчетныйДвиженияССубконто.Период | |||
| 3
    
        Bigbro 24.06.21✎ 10:04 | 
        Сумма3 = - Сумма3
 Сумма4 = Итог(Сумма) | |||
| 4
    
        ДенисЧ 24.06.21✎ 10:06 | 
        Надеюсь, ты понимаешь 2 вещи
 1. что порядок строк зависит от сортировки 2. что разность, в отличие от суммы, некоммутативна ? | |||
| 5
    
        Михаил Козлов 24.06.21✎ 10:06 | 
        А чем 3-я строка (которую нужно вычесть) отличается от 1 и 2? В результате запроса всегда 3 строки? Если не всегда, что тогда нужно складывать и вычитать?     | |||
| 6
    
        bfss-732 24.06.21✎ 10:11 | 
        (4) да там никак не сделать, если не вычесть     | |||
| 7
    
        bfss-732 24.06.21✎ 10:12 | 
        (5) бухгалтер  сказала, что нужна ХозрасчетныйДвиженияССубконто.Сумма, которая рассчитывается по формуле     | |||
| 8
    
        bfss-732 24.06.21✎ 10:14 | 
        а отчет должен быть в виде:
 ВИД 01.01.2021 01.02.2021 Итого Подразделение Дт Сумма Сумма Сумма Прочие выплаты | |||
| 9
    
        ДенисЧ 24.06.21✎ 10:14 | 
        Начни с простого - ответь на (5).
 Как определяется, что эта строчка именно Сумма3, а не сумма2? | |||
| 10
    
        bfss-732 24.06.21✎ 10:14 | 
        Уже делал подобный, но там я мог просто зять необходимы суммы по условию. А тут так нельзя     | |||
| 11
    
        bfss-732 24.06.21✎ 10:16 | 
        (9) разные СубконтоДт2 и СубконтоКт1     | |||
| 12
    
        bfss-732 24.06.21✎ 10:16 | 
        и СчетКт тоже другой     | |||
| 13
    
        bfss-732 24.06.21✎ 10:17 | 
        (9)  разные СубконтоДт2, СубконтоКт1  и СчетКт     | |||
| 14
    
        ДенисЧ 24.06.21✎ 10:17 | 
        (11) ну тогда делай не Сумма(ХозрасчетныйДвиженияССубконто.Сумма)
 а ВЫБОР КОГДА Субконтодт1 = &скдт1 и Субконтодт2 = &скадт2 тогда -сумма иначе сумма конец КАК сумма и просто суммируй. | |||
| 15
    
        Михаил Козлов 24.06.21✎ 10:18 | 
        (11) Значит Вам нужен признак прибавлять или вычитать в зависимости от набора (СубконтоДт2, СубконтоКт1, СчетКт).     | |||
| 16
    
        bfss-732 24.06.21✎ 10:18 | 
        (15) да     | |||
| 17
    
        bfss-732 24.06.21✎ 10:19 | 
        (14) такой способ делал, он только прибавляет. Последний пост у меня, там весь запрос, но потом выяснилось, что бухгалтер дал не правильное ТЗ     | |||
| 18
    
        bfss-732 24.06.21✎ 10:20 | 
        (15) в идеале если это будет с ВЫБОР КОГДА, почитал в интернете, но такое не получится     | |||
| 19
    
        ДенисЧ 24.06.21✎ 10:24 | 
        (17) "такой способ делал, он только прибавляет"
 Если ты отдаёшь минус-сумма, она не может прибавляться Значит, что-то не то делаешь | |||
| 20
    
        ДенисЧ 24.06.21✎ 10:24 | 
        А ещё нам придётся сейчас телепать правильное тз от бухгалтера...     | |||
| 21
    
        Михаил Козлов 24.06.21✎ 10:25 | 
        (18) Почему? Вы можете сформировать, скажем, 2 таблицы с наборами (СубконтоДт2, СубконтоКт1, СчетКт) для сложения и вычитания? Или, хотя бы одну такую таблицу?
 Поместите ее во временную таблицу и потом левым соединением с ней определите, нужно прибавлять или вычитать. | |||
| 22
    
        bfss-732 24.06.21✎ 10:25 | 
        (19) Ааааа, ты имеешь ввиду поставить "-" ?     | |||
| 23
    
        acht 24.06.21✎ 10:27 | 
        (22) Браво     | |||
| 24
    
        bfss-732 24.06.21✎ 10:27 | 
        (21) "потом левым соединением с ней определите, нужно прибавлять или вычитать." это как     | |||
| 25
    
        ДенисЧ 24.06.21✎ 10:28 | 
        (22) В (14) написано "тогда -сумма иначе сумма"
 если это не означает "поставить минус", то я не знаю, что это может означать... | |||
| 26
    
        bfss-732 24.06.21✎ 10:32 | 
        (14) (25) не катит, у меня после ТОГДА идет название строки.     | |||
| 27
    
        bfss-732 24.06.21✎ 10:32 | 
        ВЫБОР
 КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2ОсновнаяЗаработнаяПлата) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт70) ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96012) ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2РезервыОтпускаВознаграждения) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96011) ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96013) И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В (&СубконтоКт1Квар) ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96013) И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В (&СубконтоКт1Год) ТОГДА "ОКЛАД" КОНЕЦ | |||
| 28
    
        ДенисЧ 24.06.21✎ 10:33 | 
        (тут смайлик, бьщийся головой о стенку)
 Может, 1с - это не твоё? | |||
| 29
    
        bfss-732 24.06.21✎ 10:34 | 
        Для примера, вычесть например последние два:
 ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96013) И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В (&СубконтоКт1Квар) ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) И ХозрасчетныйДвиженияССубконто.СчетКт В (&СчетКт96013) И ХозрасчетныйДвиженияССубконто.СубконтоКт1 В (&СубконтоКт1Год) | |||
| 30
    
        bfss-732 24.06.21✎ 10:34 | 
        (28) Может ты ни разу вопросы не писал на форумы? Все сам да сам, книжки кругом)))     | |||
| 31
    
        bfss-732 24.06.21✎ 10:36 | 
        (28) ну вот 27 и 28 пост, давай покажи класс     | |||
| 32
    
        bfss-732 24.06.21✎ 10:36 | 
        27 и 29     | |||
| 33
    
        Ёпрст гуру 24.06.21✎ 10:39 | 
        Тогда //"оклад"
 -Сумма(хреньчтосчитаешь) Иначе Сумма(хреньчтосчитаешь) Конец как суммахреньдлябуха | |||
| 34
    
        Ёпрст гуру 24.06.21✎ 10:40 | 
        Ну, если с арифметикой плохо, то так:
 Тогда (-1)*Сумма(хрень) иначе Сумма(хрень) конец как суммаХрень | |||
| 35
    
        Ёпрст гуру 24.06.21✎ 10:41 | 
        Это, если со знаком минус проблемы     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |