8.х Суммирование в запросе не суммирует?!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем serikadze, 3 мар 2009.

  1. TopicStarter Overlay
    serikadze
    Offline

    serikadze Опытный в 1С

    Регистрация:
    5 авг 2008
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Товарищи профессионалы, прошу вас помогите разобраться... Не буду описывать способы которыми я пытался получить сумму, их было много и не один не помог... Дело значит вот в чем, в оборотно-сальдовой ведомости по счету в итогах на начальный и конечные периоды выходит сальдо между счетами кредитом и дебетом... а мне необходимо показать итог по начальным и конечным остаткам и кредита и дебета, без их разности (типа того что происходит в колонках оборота...)! пробовал через запрос посчитать сумму начальных и конечных остатков, а он почему то мне даже в запросе выводит сальдо! как быть?! прошу очень помочь... Заранее очень благодарен...
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Вам надо использовать Развернутое Сальдо, а не Сальдо.
    Выберите правильную таблицу в запросе, выбирайте правильные поля и методы при конструировании.
  3. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Виртуальная таблица - остатки и обороты.
    Ресурс - Развернутое сальдо.
    Но это для группы счетов, в которой есть и активный и пассивный счета.
    Либо для активно- пасивного счета.

    Дело в том, что на активном счете сальдо может быть только дебетовое, а на пассивном -кредитовое.
  4. TopicStarter Overlay
    serikadze
    Offline

    serikadze Опытный в 1С

    Регистрация:
    5 авг 2008
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Эмин и Федя Сумкин... развернутый остаток на начало и конец периода по Дт и Кт мне дает точно такие же цифры как и обычные остатки на начало и конец периода по Дт и Кт... счет используется 62, являеется А/П.... какие нибудь другие есть способы?(((
  5. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Вообще он дает другое значение. Счет 62 (как группа - активно-пассивный), но каждый субсчет или А или П. В результате ваш результат и совпадает с развернутым сальдо. Проверьте на 76 - он полноценно АП.

    Еще вариант, если уже никак - собрать дебетовый и кредитовый оборот за период, с начала ведения учета - это даст конечное сальдо, но это неправильный подход.

    В вашем случае отчет все дает верно - проверьте счета.
  6. TopicStarter Overlay
    serikadze
    Offline

    serikadze Опытный в 1С

    Регистрация:
    5 авг 2008
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Уважаемый Эмин... та же история и с 76 счетом!... я уже пробегался под субконто1... там бывают начальные и конечные остатки и на дебете и на кредите... я никак не могу понять почему он мне просто не может нормально суммировать по этим колонкам.... почему он мне выдает САЛЬДО!?... мне не нужно сальдо... мне нужна просто сумма начального остатка по кредиту, сумма начального остатка по дебету, сумма конечного остатка по кредиту и сумма конечного остатка по дебету... а в результате и в развернутом и обычном виде он мне выдает сальдо за период... а так по-моему быть не должно... я уже пробовал самым примитивным методом.... просто складывать цифры в цикле... но я хочу сделать запрос универсальным... чтобы не зависело от группировок и цифры не складывались по нескольку раз, как у меня получилось на начальном этапе примитивного метода... грубо выражаясь мой примитивизм работает только на одно субконто, а если нужен прогон по второму и третьему, то цифры не хотят правильно складываться... поймать сложно... но можно... просто не охото писать трех томный код, чтобы он в конце концов просто писал 4 цифры... мне кажется такое должно быть возможно как то через запрос... вопрос в том как?!
  7. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    2 SERIKADZE

    Незнание- сила.
    Мы тут с Эмином распинаемся, а проблема совсем другая.
    На одном счете НЕ МОЖЕТ БЫТЬ И ДЕБЕТОВОГО И КРЕДИТОВОГО САЛЬДО

    То есть в данном случае нужно выбирать по отдельности дебетовый оборот и кредитовый оборот. Брать с нулевой даты.
    Использовать таблицу <РегистрБухгалтерии>.Обороты
    Но это панкуха.

    Да и вот еще что. Если такую задачу поставил бухгалтер, то его компетенция вызывает серьезные сомнения...
  8. TopicStarter Overlay
    serikadze
    Offline

    serikadze Опытный в 1С

    Регистрация:
    5 авг 2008
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Ребята, спасибо вам огромное за помощь... спасибо за содействие, за внимание, за все... решение этой задачи необходимо чисто для визуального отображения суммы по колонке Начального и Конечного остатков по Дт и Кт... ему просто не нужно САЛЬДО... захотел увидеть суммы.. мало ли какие у него тараканы в голове водятся... а мне расхлебывать...
    просто все равно остается вопрос в подвешенном состоянии у меня... Вы утверждаете, что не может быть и дебетового и кредитового сальдо на счете, я с этим согласен... но разве невозможно посчитать, просто сумму на начальный период по Дт и по Кт и то же самое для конечного, через запрос, не прибегая к цикличному складыванию?
  9. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Вам надо немного понять как устроен бухучет:
    1. На счете есть всегда какой-то остаток (не обязательно по всей аналитек, но не суть).
    2. По каждому счету есть обороты - дебетовые и кредитовые, причем, если счет активный - сальдо (даже отрицательное) копится на Дебете счета, если пассивный - на Кредите. У активно-пассивного счета можно получить развернутое сальдо (отдельно по кредиту, отдельно по дебету).
    3. Для ваших счетов кроме как получить общий оборот по кредиту и по дебету - других вариантов нет.

    Если бухгалтер хочет видеть сколько всего прошло по дебету счета и сколько по кредиту - ему нужны именно обороты, сальдо и остатки тут ни при чем!
  10. TopicStarter Overlay
    serikadze
    Offline

    serikadze Опытный в 1С

    Регистрация:
    5 авг 2008
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Эмин спасибо большое за объяснения... Но к сожалению нашему начальству нужно видеть именно остаток и начало и конец периода по Дт и Кт... по субконто контрагенты... посему, пришлось прибегнуть все таки к примитивщине, свой код покажу далее... просто в основном коде отчета добавил 7 переменных, для того чтобы построчно посчитать сумму, и не спутать с походим контрагентом переменная СТАРКОНТР... код следующий...
    в стандартной процедуре Оборотно сальдовой ведомости по счету Процедура ВывестиПоказатели(Выборка, ЭтоПерваяСтрока, СтруктураПараметров, НачКт, КонКт, НачДт, КонДт, ОбКт, ОбДт)
    Код:
    Если ИмяПоказателя="Сумма" тогда
    Попытка 
    Суб1=ТипЗнч(Выборка["Субконто1"]);
    Попытка
    Суб2=Выборка["Субконто2"];
    исключение
    Суб2=Null;
    КонецПопытки;
    Попытка
    Суб3=Выборка["Субконто3"];
    исключение
    Суб3=Null;
    КонецПопытки;
    Исключение 
    Суб1=ТипЗнч(Выборка["Субконто1"]);
    Суб2=Null;
    Суб3=Null;
    КонецПопытки;
    
    Если (Суб2 = Null) и (Суб3 = Null) и (Суб1 = Тип("СправочникСсылка.Контрагенты")) тогда
    Если (Выборка.Счет.Родитель.Код = "60")и(Выборка.Субконто1 <> СтарСуб) тогда
    
    СтарСуб = Выборка.Субконто1;  //для 60 счета
    
    НачКт = НачКт + СальдоНачКт;
    КонКт = КонКт + СальдоКонКт;
    НачДт = НачДт + СальдоНачДт;
    КонДт = КонДт + СальдоКонДт;
    ОбКт = ОбКт + ОборотКт;
    ОбДт = ОбДт + ОборотДт;
    ИначеЕсли Выборка.Счет.Родитель.Код <> "60" тогда
    НачКт = НачКт + СальдоНачКт;
    КонКт = КонКт + СальдоКонКт;
    НачДт = НачДт + СальдоНачДт;
    КонДт = КонДт + СальдоКонДт;
    ОбКт = ОбКт + ОборотКт;
    ОбДт = ОбДт + ОборотДт;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    
    оговорюсь сразу, код мне очень не нравится.. но другого придумать не смог к сожалению... если есть предложения по модернизации прошу помощи....

Поделиться этой страницей