Автор Тема: Задача 1.20  (Прочитано 65493 раз)

0 Пользователей и 1 Гость просматривают эту тему.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Задача 1.20
« Ответ #135 : Август 04, 2015, 11:17:13 am »
Тоже по поводу "произвольного периода" из аналогичной задачи из билета 8.
Думаю, есть 2 основных варианта. Какой использовать - лучше предварительно уточнить у экзаменатора (вдруг предложит упрощенный  :D ).
1. Упрощенный - "произвольные периоды" только внутри одного месяца. Проблемы нет, просто приводим к началу месяца. Но и шансов получить такой "подарок", скорее всего, не много.
2. Основной - период действительно абсолютно произвольный. В этом случае хотя бы в целях получения бюджета помесячно надо организовать соответствующее разбиение бюджета (никаких пересечений, мы же не можем контролировать отдельно помесячно, отдельно по произвольному,  возможно, ошибочно введенному, да и ни смысла, ни логики в этом нет). Раз в задаче не сказано, и экзаменатор не предложил своих вариантов, делаем простым и, ИМХО, разумным способом - определяем общее количество дней в периоде, количество месяцев (полных и не полных), организуем цикл по месяцам. Каждому месяцу выделяем часть, соответствующую доле количества дней произвольного периода, попавших в данный период. И не забываем контролировать копейки, "проблема копеек", если таковая бывает, в этом случае возникает.

Какие мнения на счет такого варианта?  :)
« Последнее редактирование: Август 04, 2015, 11:23:18 am от alex1248 »

ПрестарелыйЗаяц

  • Новичок
  • *
  • Сообщений: 7
Re: Задача 1.20
« Ответ #136 : Август 23, 2015, 03:54:55 pm »
С произвольным периодом, я так понимаю нет вразумительных идей ? Хотя бы что подразумевается под оным ?


DimaKV

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Дмитрий
Re: Задача 1.20
« Ответ #137 : Август 26, 2015, 11:32:39 pm »
Предлагаю такую схему Бюджета с произвольным периодом (возможно, кто-то уже предлагал такой вариант, чужие решения пока не смотрел):
 (регистр оборотный)
Измерения: Подразделение, Статья затрат, дата начала, дата окончания
Ресурсы: План, Превышение, Факт.
Документ Бюджет записывает план и превышение, остальные документы - только Факт.

Пересечение периодов бюджетов можно взять на произвольную дату таким образом:
ВЫБРАТЬ
СУММА(БюджетОбороты.ПланОборот) КАК План,
СУММА(БюджетОбороты.ПревышениеОборот) КАК Превышение,
СУММА(БюджетОбороты.ФактОборот) КАК Факт
ИЗ
РегистрНакопления.Бюджет.Обороты(
,
&Дата,
,
&Дата >= ДатаНачала
И &Дата <= ДатаОкончания
И Подразделение = &Подразделение
И СтатьяЗатрат = &СтатьяЗатрат) КАК БюджетОбороты
Что скажете?
« Последнее редактирование: Август 27, 2015, 09:29:12 am от DimaKV »

Quantum81

  • Проверенный
  • ***
  • Сообщений: 117
Re: Задача 1.20
« Ответ #138 : Август 27, 2015, 10:19:28 am »
С произвольным периодом, я так понимаю нет вразумительных идей ? Хотя бы что подразумевается под оным ?
Предлагаю пересечение реализовать на РН остатки. Бюджет делает приход на ДатуНачалаПериода и расход на ДатуОкончанияПериода по ресурсу План и Превышение. Так мы будем знать суммарный план и превышение на любой момент времени. Соответственно рядом ресурс факт.  Если после проведения Факт> план или > план+превышение  - то выводим предупреждение.

На обсуждение отчет: план - остаток на начало периода (месяц или указанный), факт - оборот.

DimaKV

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Дмитрий
Re: Задача 1.20
« Ответ #139 : Август 27, 2015, 11:19:40 am »
Если после проведения Факт> план или > план+превышение  - то выводим предупреждение.
Факт в отдельном РН (Оборот)? В документе за какой период будете проверять превышение факта над планом?

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

Quantum81

  • Проверенный
  • ***
  • Сообщений: 117
Re: Задача 1.20
« Ответ #140 : Август 27, 2015, 12:19:27 pm »
DimaKV, факт хотел хранить там же в остатках. А оборотный РН только для отчета.
Перейдя от слов к делу, стразу понял, что не смогу закрыть РН остатки. Факт будет копиться и как его обнулять не ясно.

   Здесь больше вопрос в понимании условия задачи с произвольным периодом. я сейчас вижу так:
   Бюджет назначается на произвольный период, в течение которого ДС могут из него расходоваться/приходоваться. В момент расхода/прихода, я должен определить какие бюджеты действуют на момент списания. Определить остатки по бюджетам и в порядке FIFO (например), начинать списывать ДС с бюджетов. Если мне бюджетов не хватило, вывожу предупреждение.  Своего рода партионный учет.
   Отчет явно не в тему. логичней в шапке отчета выводить документы бюджет, а в таблице на что это бюджет затрачен.
   Если же оставлять такой отчет, то нужны допущения. Мне ближе(логичнее) допущение, что за месяц суммируются все бюджеты с датой начала в этом месяце + остаток бюджетов на начало месяца период действия которых попадает в данный месяц.
   И все равно без документа закрытия неиспользованных/превышенных бюджетов не обойтись.

  Как-то зубодробильно получается.

Quantum81

  • Проверенный
  • ***
  • Сообщений: 117
Re: Задача 1.20
« Ответ #141 : Август 27, 2015, 12:56:40 pm »
вот еще идея допущения, упрощающая задачу до задачи из сборника.
под произвольным периодом понимаются месяца, для которых закладывается ежемесячный бюджет.
Например: оплата поставщикам 500 на период с 15.01.2015 по 20.12.2015, подразумевает Январь 500; Февраль 500;....; Декабрь 500.

Т.е. фраза "произвольный период" сделана для упрощения ввода повторяющихся данных пользователем.

Критика такого допущения?
« Последнее редактирование: Август 27, 2015, 04:14:59 pm от Quantum81 »

DimaKV

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Дмитрий
Re: Задача 1.20
« Ответ #142 : Август 28, 2015, 06:00:05 pm »
вот еще идея допущения, упрощающая задачу до задачи из сборника.
под произвольным периодом понимаются месяца, для которых закладывается ежемесячный бюджет.
Например: оплата поставщикам 500 на период с 15.01.2015 по 20.12.2015, подразумевает Январь 500; Февраль 500;....; Декабрь 500.

Т.е. фраза "произвольный период" сделана для упрощения ввода повторяющихся данных пользователем.

Критика такого допущения?
Таким разбиением на месяца Вы натолкнули меня на мысль, что эту задачу можно решать по аналогии с задачами СПР. Когда выплата ежемесячно, перетекающую командировку/больничный разбиваем на отрезки в пределах одного месяца.
Только на начало месяца я бы не записывал. Если период в Бюджете указывают с 25.08 по 31.08. Тогда расходный документ 10.08 проведется. Мне кажется, это не правильно.


« Последнее редактирование: Август 28, 2015, 09:58:49 pm от DimaKV »

Hunterr

  • Пользователь
  • **
  • Сообщений: 15
Re: Задача 1.20
« Ответ #143 : Август 31, 2015, 11:47:40 am »
Как обработать условие "...вводится Бюджет на Произвольный период"?

Ознакомившись с предлагаемыми вариантами напросился еще один:
В документе "Бюджет" в шапке есть реквизит "Период" типа Дата. Указывать интервал "с" и "по" думаю не стоит. Также приводить эту дату к началу месяца тоже не стоит.
Бюджет учитывается в разрезе Подразделений и статей затрат.
При проведении дока "Бюджет" делаем движения по оборотному РН. Введенынй бюджет будет действовать с даты, указанной в доке "Бюджет" до следующего ввода такого же типа документа с такой же комбинацией измерений (подразделение, статья затрат). Если док "Бюджет" с такой же комбинацией измерений не вводится, значит бюджет действует до 3999 года.
Таким образом дополнительно мудрить ничего не нужно.
Как такой вариант?

а вот как быть с условием, что док. "Расход денег" может делать разные движения до конца пока не понятно.
А может быть пускай Расход денег делает одинаковые движения (в случае оплаты поставщику или возврата от покупателя) просто "+" это или "-" оставить на совесть пользователя. Сам пользователь будет решать "+" или "-".
Как думаете прокатит такое решение?
« Последнее редактирование: Август 31, 2015, 01:23:47 pm от Hunterr »

reset

  • Новичок
  • *
  • Сообщений: 4
Re: Задача 1.20
« Ответ #144 : Октябрь 10, 2015, 03:50:48 pm »
Слишком много "нипанятна" по задаче:
1. Если будет 2 бюджета в течении месяца, "один в другом", как отрабатывать?
01.10-30.10
10.10-30.10
2. Если будет 2 пересекающихся бюджета?
01.10-10.11
20.10-12.12
Конечно можно при сдаче оставить комментарий, "неверно введенные бюджеты остаются на совести пользователя".
3. Например, если по статье «оплата поставщикам» запланировано 100 000 и 20 000, то при суммарной оплате более 100 000 и более 120 000 должны быть выданы соответствующие предупреждения.
100000 и 20000 - это "План и Превыешение", или "План по бюджету 1 - 100 000 и план по бюджету 2 - 20 000".

Fayde

  • Новичок
  • *
  • Сообщений: 1
Re: Задача 1.20
« Ответ #145 : Октябрь 19, 2015, 12:12:23 pm »
Нашёл следующий вариант решения задачи, однако при записи факта не считается общий факт за период бюджета, а учитывается только факт текущего документа. Соответственно уведомление о превышении работает некорректно.
Отчёт, вроде бы, работает как надо.

golod

  • Пользователь
  • **
  • Сообщений: 19
  • Где твои крылья, которые нравились мне
  • ФИО: Несытов Олег
Re: Задача 1.20
« Ответ #146 : Октябрь 19, 2015, 04:13:54 pm »
По-моему все просто, всего лишь один оборотный регистр и всех делов

Aluvika

  • Пользователь
  • **
  • Сообщений: 27
Re: Задача 1.20
« Ответ #147 : Январь 22, 2016, 09:45:59 pm »
Мое решение. Покритикуйте пжлст.

Поскольку период произвольный, опирался на решение SAE на стр. 58 актуальных билетов. Билет №8.

Решение на 2 регистрах: БюджетПлан, БюджетФакт.
Измерения: Подразделение, СтатьяЗатрат.
Ресурсы: Сумма, (Превышение).

В документе "Бюджет" происходит распределение пропорционально равными долями по каждому дню из периода. Тут SAE постарался, спасибо!
Можно вводить несколько документов от разных подразделений, на любой период.
Документы расходов и приходов делают одинаковые движения с контролем превышения. Процедура вынесена в общий модуль.

Экономический смысл указания статей в документах опускаем, иначе можно долго допиливать. Условно, считаем, что могут быть любые статьи в любых документах. Считаю это своего рода "упрощением", допустимого в рамках экзамена.

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

Lenta

  • Новичок
  • *
  • Сообщений: 4
Re: Задача 1.20
« Ответ #148 : Июнь 09, 2016, 08:31:18 am »
Привет! Кому нетрудно, посмотрите моё решение!

alfalume

  • Проверенный
  • ***
  • Сообщений: 103
Re: Задача 1.20
« Ответ #149 : Июль 15, 2016, 07:55:08 am »
покритикуйте пожалуйста