Имя: Пароль:
1C
1С v8
Закрытие заказов и остатки по регистру заказы покупателя
0 tciban
 
12.07.21
15:41
Коллеги! Прошу прощения, т.к. тема древняя как некая субстанция мамонта, но вот, не знаю как преодолеть. Понадобилось сваять обработочку котороая закрывает заказы по месяцам в старенькой УПП 1.2 Ну что бы таблицы итогов были нулевые и не переходили из месяца в месяц.
Сваял простой запросик
ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя КАК Заказ,
        |    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Организация КАК Организация,
        |    КонецПериода(ЗаказыПокупателейОстаткиИОбороты.Период, Месяц) КАК Месяц
        |ИЗ
        |    РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(, КОНЕЦПЕРИОДА(&ДатаК, МЕСЯЦ), Месяц, ДвиженияИГраницыПериода, ) КАК ЗаказыПокупателейОстаткиИОбороты
        |ГДЕ
        |    (ЗаказыПокупателейОстаткиИОбороты.КоличествоОборот <> 0
        |            ИЛИ ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовОборот <> 0
        |            ИЛИ ЗаказыПокупателейОстаткиИОбороты.СуммаУпрОборот <> 0)
        |
        |УПОРЯДОЧИТЬ ПО
        |    Месяц,
        |    Организация,
        |    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Номер
        |ИТОГИ ПО
        |    Месяц,
        |    Организация

Он все показывает правильно. потом по нему собираю заказы не закрытие и ваяю на конец месяца документ Закрытия заказов покупателей. на 23:59:59 Типовой. Но блин, засада! Есть заказ один, на 23:59:59. И реализация по нему на 23:59:59 и движ у них по регистру заказов покупателей идет один за другим, все как надо. А вот закрытие заказов с этим заказом почему то берет остатки после движений заказа и не видит движений реализации! И соответственно списывает с регистра все движения заказа. А потом их списывает реализация. И остатки не в ноль теперь, а в минус :( И вот как быть? Кто сталкивался?
1 ДенисЧ
 
12.07.21
15:45
Используй не дату, а границу
2 tciban
 
12.07.21
15:48
(1) КАК? Где? Я же не могу в дату создаваемого документа указать границу?
А запрос все верно показывает., остатки с учетом движений реализации показывает, ну там немножко количество меньше на 40 граммов. Вот и состочек висит. В заказе было 800 граммов, отгрузили 760, остаток 40 граммов. А закрытие списывает 800 граммов.
3 vicof
 
12.07.21
15:51
Вот здесь: КОНЕЦПЕРИОДА(&ДатаК, МЕСЯЦ)
4 tciban
 
12.07.21
15:54
(3) Вот здесь работает правильно и без границы. оно показывает реальный остаток на конец месяца! А вот типовой документ ЗакрытиеЗаказовПокупателей - вот он неправильно берет остатки для движений!
5 tciban
 
12.07.21
15:57
Документ Закрытие заказов создаю так:

Док = Документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент();
    Док.Дата = КонецДня(ВыборкаМесяц.Месяц);
    Док.Организация = Организация;
    Док.ВидОперации = Перечисления.ВидыОперацийЗакрытиеЗаказовПокупателей.ЗакрытиеЗаказов;

Может тут как то иначе надо делать?
6 tciban
 
12.07.21
16:01
Или вот еще мысль - может с итогами по регистру фигня какая и пересчитать за период?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс