Имя: Пароль:
1C
1С v8
УТ 10.3. Как получить последнюю неоплаченную реализацию?
0 _stay true_
 
27.11.15
10:50
Здравствуйте. Имеем УТ 10.3.24.2.

Помогите, коллеги. Вчера на новоселье у друзей был, сегодня думалка бо-бо очень-очень(((

Как получить запросом последнюю неоплаченную реализацию по конкретному контрагенту? То, что контрагента передаем как параметр в запрос, это я сообразил своей похмельной головой))).
Заранее спасибо.
1 lxndr
 
27.11.15
10:51
из регистра расчетов по документам
2 Dmitriy_76
 
27.11.15
10:51
+(1) максимумом по периоду )
3 Dmitriy_76
 
27.11.15
10:51
+(2) где нет денег
4 _stay true_
 
27.11.15
10:58
(1)
Это регистр "взаиморасчеты с контрагентами по документам расчетов"?
5 shuhard
 
27.11.15
10:59
(4) да
либо строй своё фифо, готовых отчетов на инфостарте как грязи
6 vde69
 
27.11.15
11:02
7 zippygrill
 
27.11.15
11:12
(6) Реализовал 1й вариант по твоей ссылке. Остаток взял по счетам 60,62 и 76.06(маркетинговые обороты типа). А документы, условно говоря "Оплата" и "Реализация" из проводок (тоже по тем же счетам). Самые "старые" Реализации начал закрывать по ФИФО из "Оплаты". Все получилось.

А по договорам которые ведутся в разрезе документов, то берите незакрытые реализации из взаиморасчеты с контрагентами по документам расчетов.
8 John83
 
27.11.15
11:20
если делается привязка платежек к заказам, то РасчетыСКонтрагентами
9 vde69
 
27.11.15
11:27
вот даже готовый запрос


    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ХозрасчетныйОстатки.Счет,
    |    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
    |    ХозрасчетныйОстатки.Субконто2 КАК Аналитика,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, ВалютаРегламентированногоУчета.Значение) КАК Валюта,
    |    ХозрасчетныйОстатки.СуммаОстатокДт,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт, 0) КАК ВалютнаяСуммаОстатокДт
    |ПОМЕСТИТЬ ОстаткиДляРаспределения
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В (&СписокСчетов), , Организация В (&СписокОрганизаций)) КАК ХозрасчетныйОстатки,
    |    Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ПланЗакрытияТоварногоКредитаПокупателем.Документ,
    |    ПланЗакрытияТоварногоКредитаПокупателем.Дата
    |ПОМЕСТИТЬ ДатыОплатПоРеализациям
    |ИЗ
    |    ОстаткиДляРаспределения КАК ОстаткиДляРаспределения
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПланЗакрытияТоварногоКредитаПокупателем КАК ПланЗакрытияТоварногоКредитаПокупателем
    |        ПО ОстаткиДляРаспределения.Аналитика = ПланЗакрытияТоварногоКредитаПокупателем.Документ.Сделка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ХозрасчетныйОбороты.Счет,
    |    ХозрасчетныйОбороты.Регистратор,
    |    ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
    |    ХозрасчетныйОбороты.Субконто2 КАК Аналитика,
    |    ЕСТЬNULL(ХозрасчетныйОбороты.Валюта, ВалютаРегламентированногоУчета.Значение) КАК Валюта,
    |    ХозрасчетныйОбороты.СуммаОборот,
    |    ЕСТЬNULL(ХозрасчетныйОбороты.ВалютнаяСуммаОборот, 0) КАК ВалютнаяСуммаОборот
    |ПОМЕСТИТЬ СуммыЗадолженостиПоРеализациям
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, Счет В (&СписокСчетов), , Организация В (&СписокОрганизаций), , ) КАК ХозрасчетныйОбороты,
    |    Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
    |ГДЕ
    |    ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
    |    И (ХозрасчетныйОбороты.СуммаОборот > 0
    |            ИЛИ ХозрасчетныйОбороты.ВалютнаяСуммаОборот > 0)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    СуммыЗадолженостиПоРеализациям.Счет,
    |    СуммыЗадолженостиПоРеализациям.Регистратор,
    |    СуммыЗадолженостиПоРеализациям.Контрагент,
    |    СуммыЗадолженостиПоРеализациям.Аналитика,
    |    СуммыЗадолженостиПоРеализациям.Валюта,
    |    СуммыЗадолженостиПоРеализациям.СуммаОборот,
    |    СуммыЗадолженостиПоРеализациям.ВалютнаяСуммаОборот,
    |    ЕСТЬNULL(ДатыОплатПоРеализациям.Дата, &ДатаНачала) КАК Дата
    |ПОМЕСТИТЬ СуммыИДатыПоРеализациям
    |ИЗ
    |    СуммыЗадолженостиПоРеализациям КАК СуммыЗадолженостиПоРеализациям
    |        ЛЕВОЕ СОЕДИНЕНИЕ ДатыОплатПоРеализациям КАК ДатыОплатПоРеализациям
    |        ПО СуммыЗадолженостиПоРеализациям.Регистратор = ДатыОплатПоРеализациям.Документ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ВложенныйЗапрос.Счет,
    |    ВложенныйЗапрос.Регистратор,
    |    ВложенныйЗапрос.Контрагент,
    |    ВложенныйЗапрос.Аналитика,
    |    ВложенныйЗапрос.Валюта,
    |    ВложенныйЗапрос.ДатаДолга КАК ДатаДолга,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.Валюта = ВалютаРегламентированногоУчета.Значение
    |            ТОГДА ВЫБОР
    |                    КОГДА ВложенныйЗапрос.СуммаДолга > 0
    |                        ТОГДА ВложенныйЗапрос.СуммаДолга
    |                    ИНАЧЕ 0
    |                КОНЕЦ
    |        ИНАЧЕ ВЫБОР
    |                КОГДА ВложенныйЗапрос.ВалютнаяСуммаДолга > 0
    |                    ТОГДА ВложенныйЗапрос.ВалютнаяСуммаДолга
    |                ИНАЧЕ 0
    |            КОНЕЦ
    |    КОНЕЦ КАК СуммаДолга
    |ИЗ
    |    (ВЫБРАТЬ
    |        ВложенныйЗапрос.Счет КАК Счет,
    |        ВложенныйЗапрос.Регистратор КАК Регистратор,
    |        ВложенныйЗапрос.Контрагент КАК Контрагент,
    |        ВложенныйЗапрос.Аналитика КАК Аналитика,
    |        ВложенныйЗапрос.Валюта КАК Валюта,
    |        ВложенныйЗапрос.Дата КАК ДатаДолга,
    |        ВЫБОР
    |            КОГДА ВложенныйЗапрос.СуммаОстатокДт >= ВложенныйЗапрос.СуммаОборотИтого - ВложенныйЗапрос.СуммаОборотНИ + ВложенныйЗапрос.СуммаОборот
    |                ТОГДА ВложенныйЗапрос.СуммаОборот
    |            ИНАЧЕ ВложенныйЗапрос.СуммаОстатокДт - ВложенныйЗапрос.СуммаОборотИтого + ВложенныйЗапрос.СуммаОборотНИ
    |        КОНЕЦ КАК СуммаДолга,
    |        ВЫБОР
    |            КОГДА ВложенныйЗапрос.ВалютнаяСуммаОстатокДт >= ВложенныйЗапрос.ВалютнаяСуммаОборотИтого - ВложенныйЗапрос.ВалютнаяСуммаОборотНИ + ВложенныйЗапрос.ВалютнаяСуммаОборот
    |                ТОГДА ВложенныйЗапрос.ВалютнаяСуммаОборот
    |            ИНАЧЕ ВложенныйЗапрос.ВалютнаяСуммаОстатокДт - ВложенныйЗапрос.ВалютнаяСуммаОборотИтого + ВложенныйЗапрос.ВалютнаяСуммаОборотНИ
    |        КОНЕЦ КАК ВалютнаяСуммаДолга
    |    ИЗ
    |        (ВЫБРАТЬ
    |            НарастающийИтогОтгрузок.Счет КАК Счет,
    |            НарастающийИтогОтгрузок.Регистратор КАК Регистратор,
    |            НарастающийИтогОтгрузок.Контрагент КАК Контрагент,
    |            НарастающийИтогОтгрузок.Аналитика КАК Аналитика,
    |            НарастающийИтогОтгрузок.Валюта КАК Валюта,
    |            НарастающийИтогОтгрузок.СуммаОборот КАК СуммаОборот,
    |            НарастающийИтогОтгрузок.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборот,
    |            НарастающийИтогОтгрузок.Дата КАК Дата,
    |            НарастающийИтогОтгрузок.СуммаОборотНИ КАК СуммаОборотНИ,
    |            НарастающийИтогОтгрузок.ВалютнаяСуммаОборотНИ КАК ВалютнаяСуммаОборотНИ,
    |            ОстаткиДляРаспределения.СуммаОстатокДт КАК СуммаОстатокДт,
    |            ОстаткиДляРаспределения.ВалютнаяСуммаОстатокДт КАК ВалютнаяСуммаОстатокДт,
    |            ПолнаяСуммаОтгрузок.СуммаОборот КАК СуммаОборотИтого,
    |            ПолнаяСуммаОтгрузок.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборотИтого
    |        ИЗ
    |            (ВЫБРАТЬ
    |                СуммыИДатыПоРеализациям.Счет КАК Счет,
    |                СуммыИДатыПоРеализациям.Регистратор КАК Регистратор,
    |                СуммыИДатыПоРеализациям.Контрагент КАК Контрагент,
    |                СуммыИДатыПоРеализациям.Аналитика КАК Аналитика,
    |                СуммыИДатыПоРеализациям.Валюта КАК Валюта,
    |                СуммыИДатыПоРеализациям.СуммаОборот КАК СуммаОборот,
    |                СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборот,
    |                СуммыИДатыПоРеализациям.Дата КАК Дата,
    |                СУММА(СуммыИДатыПоРеализациям1.СуммаОборот) КАК СуммаОборотНИ,
    |                СУММА(СуммыИДатыПоРеализациям1.ВалютнаяСуммаОборот) КАК ВалютнаяСуммаОборотНИ
    |            ИЗ
    |                СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям
    |                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям1
    |                    ПО СуммыИДатыПоРеализациям.Счет = СуммыИДатыПоРеализациям1.Счет
    |                        И СуммыИДатыПоРеализациям.Аналитика = СуммыИДатыПоРеализациям1.Аналитика
    |                        И (ВЫБОР
    |                            КОГДА СуммыИДатыПоРеализациям.Дата < СуммыИДатыПоРеализациям1.Дата
    |                                ТОГДА ЛОЖЬ
    |                            КОГДА СуммыИДатыПоРеализациям.Дата = СуммыИДатыПоРеализациям1.Дата
    |                                    И СуммыИДатыПоРеализациям.Регистратор.МоментВремени > СуммыИДатыПоРеализациям1.Регистратор.МоментВремени
    |                                ТОГДА ЛОЖЬ
    |                            ИНАЧЕ ИСТИНА
    |                        КОНЕЦ)
    |            
    |            СГРУППИРОВАТЬ ПО
    |                СуммыИДатыПоРеализациям.Аналитика,
    |                СуммыИДатыПоРеализациям.Регистратор,
    |                СуммыИДатыПоРеализациям.Контрагент,
    |                СуммыИДатыПоРеализациям.Счет,
    |                СуммыИДатыПоРеализациям.Дата,
    |                СуммыИДатыПоРеализациям.СуммаОборот,
    |                СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот,
    |                СуммыИДатыПоРеализациям.Валюта) КАК НарастающийИтогОтгрузок
    |                ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиДляРаспределения КАК ОстаткиДляРаспределения
    |                ПО НарастающийИтогОтгрузок.Счет = ОстаткиДляРаспределения.Счет
    |                    И НарастающийИтогОтгрузок.Контрагент = ОстаткиДляРаспределения.Контрагент
    |                    И НарастающийИтогОтгрузок.Аналитика = ОстаткиДляРаспределения.Аналитика
    |                    И НарастающийИтогОтгрузок.Валюта = ОстаткиДляРаспределения.Валюта
    |                ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |                    СуммыИДатыПоРеализациям.Счет КАК Счет,
    |                    СуммыИДатыПоРеализациям.Контрагент КАК Контрагент,
    |                    СуммыИДатыПоРеализациям.Аналитика КАК Аналитика,
    |                    СуммыИДатыПоРеализациям.Валюта КАК Валюта,
    |                    СУММА(СуммыИДатыПоРеализациям.СуммаОборот) КАК СуммаОборот,
    |                    СУММА(СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот) КАК ВалютнаяСуммаОборот
    |                ИЗ
    |                    СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям
    |                
    |                СГРУППИРОВАТЬ ПО
    |                    СуммыИДатыПоРеализациям.Аналитика,
    |                    СуммыИДатыПоРеализациям.Контрагент,
    |                    СуммыИДатыПоРеализациям.Счет,
    |                    СуммыИДатыПоРеализациям.Валюта) КАК ПолнаяСуммаОтгрузок
    |                ПО НарастающийИтогОтгрузок.Счет = ПолнаяСуммаОтгрузок.Счет
    |                    И НарастающийИтогОтгрузок.Контрагент = ПолнаяСуммаОтгрузок.Контрагент
    |                    И НарастающийИтогОтгрузок.Аналитика = ПолнаяСуммаОтгрузок.Аналитика
    |                    И НарастающийИтогОтгрузок.Валюта = ПолнаяСуммаОтгрузок.Валюта) КАК ВложенныйЗапрос) КАК ВложенныйЗапрос,
    |    Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
    |ГДЕ
    |    ВЫБОР
    |            КОГДА ВложенныйЗапрос.Валюта = ВалютаРегламентированногоУчета.Значение
    |                    И ВложенныйЗапрос.СуммаДолга > 0
    |                ТОГДА ИСТИНА
    |            КОГДА ВложенныйЗапрос.Валюта <> ВалютаРегламентированногоУчета.Значение
    |                    И ВложенныйЗапрос.ВалютнаяСуммаДолга > 0
    |                ТОГДА ИСТИНА
    |            ИНАЧЕ ЛОЖЬ
    |        КОНЕЦ";
10 shuhard
 
27.11.15
13:12
(9) ржака
ну накуя в УТ запрос к плану счетов ?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший