Регистры накопления, одинаковый период

  1. 8 г. назад

    Есть самописная конфа на 8.3, столнулся с такой проблемой:
    есть регистр накополения (остатки и обороты), из за специфики бизнес процесса в период регистра пишется реквизит документа ПериодУчета, который равен началу месяца и может не совпадать с датой документа (не совпадать вплоть до месяца). Таким образом есть следующий набор документов введенных в хронологической последовательности:
    Приход №1 от 02.06.2015
    Расход №1 от 05.06.2015
    Приход №2 от 15.06.2015
    Расход №2 от 28.06.2015
    Расход №3 от 03.07.2015

    при этом у них есть реквизит ПериодУчета, который пишется в регистр в качестве периода, пусть он равен 01.06.2015, если смотреть список регистра стандартными средствами, то там документы отсортированы следующий образом:
    Приход №1 от 02.06.2015
    Приход №2 от 15.06.2015
    Расход №1 от 05.06.2015
    Расход №2 от 28.06.2015
    Расход №3 от 03.07.2015

    то есть видимо по моменту времени, включая тип документа.

    Я думал через СКД можно будет как то правильно отсортировать и рассчитать остатки, но даже если сортировка отрабатывает правильно и документы выводятся в отчет в нужной последовательности, остатки по регистратору остаются рассчитанными в той последовательности документов, в которой они отображаются в списке регистра накопления.

    Собственно вопрос - кто нибудь сталкивался и решал данную проблему?

    Ответы: (6) (20)
  2. не может быть. Остатки считаются в соответствии с периодом в регистре.

    Ответы: (3)
  3. Считай остатки вручную, а не из регистра бери. Остаток из регистра за прошлый месяц, плюс приход минус расход по предыдущим документам текущего месяца отсортированным как тебе надо.

    Ответы: (3) (6) (22)
  4. Hans не может быть. Остатки считаются в соответствии с периодом в регистре.

    у меня за месяц есть 10000 документов с одинаковым периодом, внутри одного периода 1С расчитывает остатки сортируя документы по виду

    admin govnoforuma Считай остатки вручную, а не из регистра бери. Остаток из регистра за прошлый месяц, плюс приход минус расход по предыдущим документам текущего месяца отсортированным как тебе надо.

    не хотелось бы, т.к. записей очень много

    Ответы: (5)
  5. Тогда другое решение: При записи в регистр указывать более точную позицию, а не просто дату начала месяца.
    Например брать позицию последнего документа и записывать следующий документ после него но в ту же секунду времени. Если документ не последний, то сначала найти последний предыдущий документ по дате, и записать сразу после него.

    ПозицияНовойЗаписи = СформироватьПозициюДокумента(ЗаписанныйДокументПослеКоторогоНужноПоставитьНовый, 1);

    Ответы: (6) (19)
  6. kitt у меня за месяц есть 10000 документов с одинаковым периодом, внутри одного периода 1С расчитывает остатки сортируя документы по виду

    100% по виду? может по моменту введения документа в базу?

  7. (2)(4) да ты не админ говнофорума, ты мастер говнокода.
    (0) затея с "период учета" изначально неправльная. Хочется параллельного учета - второй регистр остатков.

    Ответы: (7) (8) (11)
  8. sf Хочется параллельного учета - второй регистр остатков.

    +1

  9. sf второй регистр остатков.

    Ага, если один регистр не правильно считает, давайте другой заведем вместо исправления ошибки.

    Ответы: (10)
  10. Конфигурация должна быть, чтоб отчёты удобно!
    ЗЫ
    (Продуманна, делать)

  11. admin govnoforuma Ага, если один регистр не правильно считает, давайте другой заведем вместо исправления ошибки.

    Параллельный учет нужен не для исправления ошибок, а для разных стандартов отчетности, например.

  12. sf затея с "период учета" изначально неправльная. Хочется параллельного учета - второй регистр остатков.

    как второй регистр поможет с учетом, если там период будет отличаться и остатки на дату не будут идти?

    Ответы: (12)
  13. (11) так вам же и надо, чтобы отличались, разве нет?

    Ответы: (13) (19)
  14. (12) нет, мне нужен один регистр, где в качестве периода стоит реквизит документа регистратора ПериодУчета. Этот реквизит обычно равен текущему открытому периоду, а текущий период плавающий. Допустим сегодня 29 июля, а закрытие прошлого периода (июля 2015) было 20 июля (а в другом месяце может быть 25 числа, или 15, или вообще закрытие августа 2015 может быть 5 сентября 2015, а не в августе), соответственно все документы до 20 июля должны попадать в период июль 2015, а после 20 июля в период август 2015. Потом я делаю отчет по регистру с верхней группировкой период месяц и хочу увидеть корректные остатки на начало и конец группировки месяц

    Ответы: (14) (19)
  15. (13) это оно и есть. частный случай разделения по видам учётов

    Ответы: (15)
  16. (14) мне нужен только один вид учета) тот который я описал

  17. 29.07.2015 20:20:50 отредактировано Hans

    корректные остатки на начало и конец месяца должны быть и так нормальные.

    положение регистраторов в периоде одной секунды, происходит по хз каким правилам, помоему по порядку введения в базу. У тебя какая проблема всетаки? не показывает нормальные остатки по регистраторам или по группировке месяц?

    Ответы: (17)
  18. (16) не показывает корректные остатки по регистратору. Точнее можно сказать, что они корректные, если принять, что порядок сортировки период+видДокумента, а если внутри группировки регистратор отсортировать документы по дате документа, а не по реквизиту ПериодУчета, который пишется в период регистра, то остатки останутся без изменений, т.е. период+видДокумента

  19. в пределах одной секунды кому и зачем понадобилось знать остатки по регистраторам? Может просто людям нужен был отчет "По месяцам" и программист не зная сделал такую хрень что все пишется на начало месяца в пределах одной секунды?

    Ответы: (20)
  20. 30.07.2015 07:04:03 отредактировано admin govnoforuma

    kitt (12) нет, мне нужен один регистр, где в качестве периода стоит реквизит документа регистратора ПериодУчета. Этот реквизит обычно равен текущему открытому периоду, а текущий период плавающий. Допустим сегодня 29 июля, а закрытие прошлого периода (июля 2015) было 20 июля (а в другом месяце может быть 25 числа, или 15, или вообще закрытие августа 2015 может быть 5 сентября 2015, а не в августе), соответственно все документы до 20 июля должны попадать в период июль 2015, а после 20 июля в период август 2015. Потом я делаю отчет по регистру с верхней группировкой период месяц и хочу увидеть корректные остатки на начало и конец группировки месяц

    Так чем тебя не устраивает самый простой и единственный подходящий для этого описания задачи способ который я написал в (4)? Упорядочить документы в регистре в том порядке в котором тебе надо, и будет правильно считаться остаток на документ. И не нужно дополнительных регистров вводить. Просто нужно использовать существующий регистр правильно.

    Ответы: (21)
  21. (18) прочитать (0) не судьба?

  22. (19) тем что может понадобиться всунуть документ между задним числом. И вообще точная позиция для меня это реквизит ПериодУчета+ДатаДокумента. То есть сначала нужно отсортировать по периоду учета, внутри одного периода по дате документа.

    Ответы: (22)
  23. (21) Тогда счетай как тебе сказали в (2) никаких других вариантов у тебя нет.

или зарегистрируйтесь чтобы ответить!