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

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

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.37
« : Август 27, 2010, 01:21:44 am »
Кто как определяет две эти проклятые даты: ДатаПолнойОтгрузки и ДатаПоследнегоНачисленияПени? Где то здесь же на форуме читал, что их надо из регистре накопления вытаскивать, но там без реальных таблиц регистров никак не получается. Можно конечно их в РС запихивать, но что то мне не нравится это: у него несколько регистраторов получается, записи надо будет удалять от туда (после того как клиент все оплатит, они нам по сути не нужны уже)

Zhora_Vlg

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Георгий
Задача 1.37
« Ответ #1 : Октябрь 07, 2010, 05:19:03 pm »
Получаю эти даты из виртуальной таблицы ОстаткиИОбороты с периодичностью Регистратор и условием что КоличествоОстаток после этого регистратора стало 0 или ПениПриход в данном регистраторе > 0

Добавлено (07.10.2010, 17:19)
---------------------------------------------
Я вот не указал сумму в счете, а указываю их в расходной.
 Так можно делать или нет?


Вложения:
Zhora_Vlg-1.37.dt


SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.37
« Ответ #2 : Октябрь 08, 2010, 01:12:10 am »
Zhora_Vlg,
Quote
Получаю эти даты из виртуальной таблицы ОстаткиИОбороты

 Параметр ДатаНачала = Неопределено? Скорее всего да, только это не нравится. Хотя интересно

Quote
Я вот не указал сумму в счете

 А в чем смысл счета то, тогда, если он без суммы=)Или ты про что?

User_OKA

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: Валерий
Задача 1.37
« Ответ #3 : Октябрь 13, 2010, 12:56:29 pm »
Zhora_Vlg

В твоем решении получается например:

счет от 01.10.2010 на 5000
 расходная от 05.10.2010 отгрузили полностью

оплата 10.10.2010 на 5000

Пени не начисляются, хотя должны за 5 дней просрочки !!

Какой порядок проведения документа Приход денег ?!
 1. Начислить пени
 2. Распределить сумму оплаты на пени (Остаток + Начисленные пени п.1)
 3. Распределить оставшуюся сумму оплаты на оплату самих счетов

Набросал решение:


Вложения:
1_37.dt
« Последнее редактирование: Октябрь 13, 2010, 02:05:59 pm от Валерий »

hapcher

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Марина
Задача 1.37
« Ответ #4 : Февраль 21, 2011, 11:02:54 pm »
Решила на 2х регистрах накопления остатки:
 1. ОстаткиПоСчетам: измерения - Контрагент, Счет; ресурсы - Сумма. Используется для отражения задолженности компании перед контрагентом по отгрузке.
 Движения в "+" - документ Счет.
 Движения в "-" - документ Расх. накл.
 2. Взаиморасчеты: измерения - Контрагент, Счет; ресурсы - Сумма, Пени. Используется для отражения задолженности контрагента перед компанией по отгрузке.
 Движения в "+" - документ Счет.
 Движения в "-" - документ Приход денег.

Запрос в документе "Приход денег" получился достаточно громоздким, но не сложным.


Вложения:
_1_37.dt

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Задача 1.37
« Ответ #5 : Май 23, 2011, 02:41:29 pm »
Тоже через 2 регистра
 но по своему:)
 не оптимизировал в приходе денег конечно надо было через МенеджерВТ передать но уже ломало
Вложения:
1_37_lukashov.dt
« Последнее редактирование: Май 23, 2011, 02:42:10 pm от Лукашов Андрей Сергеевич »

ArturLn

  • Модератор
  • Новичок
  • *****
  • Сообщений: 0
  • ФИО: Artur
Задача 1.37
« Ответ #6 : Июнь 30, 2011, 02:45:16 pm »
Отгруженные и Неоплаченные = Неоплаченные - Неотгруженные

OlegSm

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Олег Смольников
Задача 1.37
« Ответ #7 : Август 18, 2011, 09:47:51 am »
Решил на 3х регистрах остатков:
 1. Счета: измерение Счет, ресурс Сумма. Задолженность компании перед контрагентом по отгрузке(правда нет измерения Контрагент - условие задачи его не требует).
 Движения в "+" - документ Счет.
 Движения в "-" - документ Расх. накл.
 2. ЗадолженностьПокупателя: измерение Счет, ресурсы Сумма. Задолженность контрагента перед компанией по отгрузке без учета пени.
 Движения в "+" - документ Счет.
 Движения в "-" - документ Приход денег(ПД).
 3. Пени: измерение Счет, ресурсы Сумма. Задолженность контрагента перед компанией по пеням.
 Движения в "+" - начисляние пени в ПД.
 Движения в "-" - оплата пени в ПД.

 В запросе в документе "Приход денег" 9 подзапросов:
 
Code
Результат = Запрос.ВыполнитьПакет();
 // Результат[0..5] - вт
 // Результат[6] - начисление пени
 // Результат[7] - оплата задолженности по пеням
 // Результат[8] - оплате задолженности по отгрузке
 

 В отчете "Анализ счета за период" непонятно что такое колонка "Задолженность" - это остаток на конец регистра или сумма документа ?
 Я сделал четыре доп. колонки "Отгрузка", "Задолженность по отгрузке", "Оплата пеней" и "Задолженность по пеням" как остаток на конец и расход регистра.
Вложения:
1.37_OlegSm.dt
« Последнее редактирование: Август 18, 2011, 11:37:51 am от Олег Смольников »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.37
« Ответ #8 : Август 24, 2011, 11:07:09 pm »
Все 3 задача раздела № 1 по расчету пени нужно решить обязательно .. очень хитрые задачи ..
Вложения:
DoctorRoza_1_37.dt

Denov

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Денис Рыженков
Задача 1.37
« Ответ #9 : Август 25, 2011, 09:38:07 am »
DoctorRoza, конечно "хитрые". У вас кстати на трех регистрах, а это не очень хорошо, и в отчете "Анализ" зачем использовать вирт. таблицу ОстаткиИОбороты, просто Оборотов по моему достаточно.

 Мое решения на двух регистрах, на мой взгляд оптимальное и простое (по крайне мере проще чем здесь выше выложено). Видел решение и на одном регистре, но оно мне показалось очень емким.
Вложения:
Denov_1.37.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.37
« Ответ #10 : Август 25, 2011, 11:13:16 am »
Denov, вот до меня никак не дойдет, что же лучше .. либо лишний ресурс/измерение добавить в регистры или добавлять отдельный регистр. Видится логичным, что работать легче с отдельным регистром, ведь он выступает как отдельный источник данных, отдельная таблица. В данной задаче, пени выступают как данные, которые нужно работать "в плотную". Они критичны .. поэтому и видеться целесообразным их вынести в отдельный регистр. Вы правы, что это менее оптимально, но вот насчет простоты .. это вызывает сомнение. Хотя, в итоге, все зависит от компетенции разработчика, найти вот эту "золотую середину".
 ////////////////
 А вот что мне бросилось в глаза .. в приходе .. не ошибка ..
 |ВЫБРАТЬ
     |   ВзаиморасчетыОстатки.Счет КАК Счет,
     |   ЕСТЬNULL(ВзаиморасчетыОстатки.СуммаОстаток, 0) КАК Долг,
     |   ЕСТЬNULL(ВзаиморасчетыОстатки.ПениОстаток, 0) КАК Пени
     |ПОМЕСТИТЬ ВТОтгрНеОпл
     |ИЗ
     |   РегистрНакопления.Взаиморасчеты.Остатки(
     |         &Момент,
     |         (НЕ Счет В
     |                  (ВЫБРАТЬ
     |                     Т.Счет
     |                  ИЗ
     |                     ВТНеотгруженныеСчета КАК Т))
     |            И Счет В
     |               (ВЫБРАТЬ
     |                  Т.Счет
     |               ИЗ
     |                  ВТСчетаДок КАК Т)) КАК ВзаиморасчетыОстатки
     |
 Счета Вы получаете из регистра, где параметром является ВТСчетаДок, ограничиваете их. И одновременно получаете эти же счета из ВТСчетаДок, масло масляное .. ))) ..
 Ну а в целом хорошее решение .. 4 подзапросика в последнем пакете правда позабавили .. )))

Irmo

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Irmo-dono
Задача 1.37
« Ответ #11 : Ноябрь 18, 2011, 01:30:22 am »
Еще одно решение. Довольно громоздкие запросы, конечно.
 Особенность в том, что новые пени начисляются ДО любых оплат по данному счету. Таким образом, пришедшие деньги расходуются на погашение в том числе свеженачисленных пеней. Если посмотреть на решение DoctorRoza, первая оплата создает задолженность по пени и гасит вовсе не ее, а основной долг. Что противоречит условиям задачи.
 После расчета и погашения пеней по всем счетам, в соответствии с условиями, начинают гаситься основные задолженности.
Вложения:
irmo-1.37.dt
« Последнее редактирование: Ноябрь 18, 2011, 01:51:47 am от Irmo-dono »

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.37
« Ответ #12 : Декабрь 02, 2011, 12:27:29 pm »
DoctorRoza,

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

 По идее в случае оплаты надо заплатить по всем пеням по всем счетам, а потом платить задолженность по счету.
 «В первую очередь оплата распределяется на все начисленные пени, а потом уже на счета, начиная с самого раннего недооплаченного.»

 И самое интересное это отчет «Анализ состояния счет» я думаю, что отчет должен показывать Неуплаченную пеню на дату отчета, а не на дату документа(остатки по пене). Т.е. сколько мы должны заплатить по счету и по пене, если новый документ ПриходДенег будет вводиться датой отчета.

 Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
kow1976_1.37.dt

andrew-ko

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.37
« Ответ #13 : Февраль 25, 2012, 01:57:31 am »
У задачи нужно выделить следующие моменты:

 1. При проведении счета возникают обязанности по оплате (у покупателя) и по отгрузке (у продавца). Это значит, что делаем записи прихода в два регистра: ОстаткиПоСчетам (обязанности по отгурзке) и Взаиморасчеты (обязанности по оплате).
 Итак: документ счет делает простые движения прихода по двум регистрам.

 2. При проведении расходной накладной проверяем остаток по счету в регистре ОстаткиПоСчетам (хорошо бы это сделать, так называемой, "новой методикой проведения"). Таким образом: документ "РасходнаяНакладная" делает движения по одному регистру обязанностей по отгрузке с предварительной проверкой наличия этих обязанностей.

 3. Проведение "ПриходаДенег" самое насщенное место в задаче. Делаем движения по регистру взаиморасчетов с покупателями. В первую очередь, списываем существующие остатки по пеням. Затем начисляем и списываем остатки по текущим пеням. И в последнюю очеред раскидываем сумму по счетам (если осталось).
 Где хранить пени? Мне кажеться, равноценно, можно признак пеней хранить в измерении, или сумму пеней в ресурсе. Кому что ближе.
 Блокировать нужно оба регистра накопления, т.к. оба обуславливают ход проведения документа.
« Последнее редактирование: Февраль 25, 2012, 02:00:01 am от Андрей »

andrew-ko

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.37
« Ответ #14 : Март 01, 2012, 12:32:03 am »
А вот и пример решения задачи
Вложения:
andrew-ko_1.37.dt

Hawk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: hawk
Задача 1.37
« Ответ #15 : Март 15, 2012, 09:25:18 pm »
Ни какого контроля в документе Расходная делать не нужно?! кто думает по другому?

Student90

  • Пользователь
  • **
  • Сообщений: 11
  • ФИО: Саша
Задача 1.37
« Ответ #16 : Апрель 06, 2012, 09:55:58 pm »
Здравствуйте!
 Опять напоролся на собственное непонимание условий в вирт.таблицах...Если не трудно, подскажите, как можно исправить решение.
Вложения:
5683327.dt
« Последнее редактирование: Апрель 06, 2012, 10:30:41 pm от Саша »

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 1.37
« Ответ #17 : Апрель 11, 2012, 05:08:30 pm »
Quote (andrew-ko)
1. При проведении счета возникают обязанности по оплате (у покупателя) и по отгрузке (у продавца). Это значит, что делаем записи прихода в два регистра: ОстаткиПоСчетам (обязанности по отгурзке) и Взаиморасчеты (обязанности по оплате).
 Итак: документ счет делает простые движения прихода по двум регистрам.


 Не совсем верно. Движения по увеличению долга (по регистру Взаиморасчёты) должна делать РН.

andrew-ko

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.37
« Ответ #18 : Апрель 12, 2012, 01:43:22 am »
safer,
 
Quote (safer)
Движения по увеличению долга (по регистру Взаиморасчёты) должна делать РН.


 Это-то как раз и не правильно.
 Обязанности по отгрузке и оплате возникают при проведении счета.

 Долго над этим голову ломал.
 А точку в этом вопросе поставил методист 1С М. Радченко. На форуме для начинающих http://devtrainingforum.v8.1c.ru/forum/ по этой или подобной задаче возникал вопрос.

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

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 1.37
« Ответ #19 : Апрель 12, 2012, 02:06:22 am »
Quote (andrew-ko)
safer,
 Quote (safer)
 Движения по увеличению долга (по регистру Взаиморасчёты) должна делать РН.

 Это-то как раз и не правильно.
 Обязанности по отгрузке и оплате возникают при проведении счета.

 Долго над этим голову ломал.
 А точку в этом вопросе поставил методист 1С М. Радченко. На форуме для начинающих http://devtrainingforum.v8.1c.ru/forum/ по этой или подобной задаче возникал вопрос.

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


 andrew-ko, посмотрите отчет по Счету biggrin . Именно РН увеличивает долг.

Добавлено (12.04.2012, 02:06)
---------------------------------------------
решается без вопросов))) получаете в запросе все неотгруженные, потом все неоплаченные за исключением неотгруженных => это будут неоплаченные и отгруженные, а дальше дело техники wink


justaria

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: justaria
Задача 1.37
« Ответ #20 : Июнь 01, 2012, 01:22:28 pm »
Мой вариант (вот, правда, не посмотрела как другие решали - поленилась) confused
 Спасибо тому, кто заглянет в моё решение. smile
Вложения:
justaria_1.37.dt

wowanks

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Владимир
Задача 1.37
« Ответ #21 : Август 30, 2012, 04:22:02 pm »
Здавствуйте!
 А кому-нибудь на экзамене попадалась эта задача? Как решали?

Pavlyk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: pavel
Задача 1.37
« Ответ #22 : Сентябрь 04, 2012, 04:38:45 pm »
Хотелось бы услышать комментарии потому что не видел таких решений, все какие то через чур сложные....а можно решить как мне кажется легче.
Вложения:
1.37pavlyk.dt

alex7six

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр
Задача 1.37
« Ответ #23 : Ноябрь 03, 2012, 08:45:16 pm »
Посмотрел решение тех кто типа профи.
 Поймите, что задолженность покупателя возникает не в момент выставления счета, а в момент отгрузки, т.е. при проведении расходной накладной.
 Оптимальная архитектура:
 РС ДанныеСчетов
 Измерение - счет
 Ресурсы
 %пени
 ДатаПолнойОтгрузки
 ДатаСчета
 РС НачислениеПенейПосчету - подчинено регистратору ПриходДенег
 Измерение Счет
 Ресурс ДатаПени

 РН Взаиморасчеты
 Измерение Счет
 Ресурсы
 Сумма
 Пеня

 РН ОтгрузкиПоСчетам - не уверен что он нужен в рамках этой задачи, т.к. не надо контроллировать отгрузки.
 Измерение Счет
 Ресурс сумма

SAV_tlt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Антон
Задача 1.37
« Ответ #24 : Ноябрь 23, 2012, 11:15:38 am »
Решил на одном регистре накопления "Взаиморасчеты" - Измерения:"Счет" Ресурсы: "Сумма", "Пени"... правда, долго продумывал оптимизированный и компактный механизм в рамках данной задачи, но в итоге, как теперь кажется, довольно простое решение... щас 16 билет дорешаю в который входит эта задачка и выложу... буду признателен за критику =)

judge

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Виталий
Задача 1.37
« Ответ #25 : Ноябрь 24, 2012, 06:42:41 pm »
На основании http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=574006#574006
 Мой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
1.37_judge.dt

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
Задача 1.37
« Ответ #26 : Июль 01, 2013, 01:05:13 am »
Мой вариант решения
Вложения:
KTT_1_37.dt

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 1.37
« Ответ #27 : Июль 31, 2013, 10:49:34 pm »
очередная геморная задача, отлаживать приходится в два этапа, сначала реализуешь обработку проведения в ПриходДенег чтобы начислились пени, затем начинается второй этап отладки с имеющимися пени.

 Первый отчет 1 в 1 как в з.1.26

 Добавлено (31.07.2013, 22:49)
 ---------------------------------------------
 подправил
Вложения:
1.37.dt
« Последнее редактирование: Июль 31, 2013, 10:49:53 pm от Артур »

umbus

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Maikl
Задача 1.37
« Ответ #28 : Февраль 19, 2014, 10:54:53 am »
To artfa
 Есть ашиПка мааленькая- В отчтете не выводятся суммы "не оплачено пеней" =)

halilovvt

  • Пользователь
  • **
  • Сообщений: 21
  • ФИО: halilovvt
Re: Задача 1.37
« Ответ #29 : Декабрь 04, 2014, 08:09:52 am »
Реализовал так, кто что скажет? Вопрос по документу приход денег, в момент проведения документа начисляются пени по отгруженным не оплаченным счетам, далее эти начисленные пени должны сразу списываться этим же документом?

Odines

  • Проверенный
  • ***
  • Сообщений: 112
  • ФИО: Odines
Re: Задача 1.37
« Ответ #30 : Март 12, 2015, 10:40:42 pm »
Как то тяжело пошла задача

golod

  • Пользователь
  • **
  • Сообщений: 19
  • Где твои крылья, которые нравились мне
  • ФИО: Несытов Олег
Re: Задача 1.37
« Ответ #31 : Октябрь 16, 2015, 05:05:57 pm »
Как то тяжело пошла задача
Я осилил проведение денег всего лишь за 3 временные таблицы.WIN! :))

rusmosav

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.37
« Ответ #32 : Июнь 02, 2016, 08:32:56 am »
Прощу оценить.

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.37
« Ответ #33 : Сентябрь 15, 2017, 02:53:41 pm »
Всем привет. Задача аналогична 1.25\1.26, за исключением запроса в ПриходеДенег, а точнее его последующей обработки.

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.37
« Ответ #34 : Март 15, 2018, 02:17:06 pm »
Всем привет. Задача аналогична 1.25\1.26, за исключением запроса в ПриходеДенег, а точнее его последующей обработки.
Подкорректировал
« Последнее редактирование: Март 19, 2018, 01:26:26 pm от jonik »

Briolin

  • Новичок
  • *
  • Сообщений: 2
Re: Задача 1.37
« Ответ #35 : Август 05, 2020, 09:18:38 am »
Доброго времени суток! Какая же сложная задача. Можете подсказать верно ли я понимаю алгоритм документа "Движение денег"
1) Допустим "счёт 1 от 01.08.2020 на сумму 3500". Разгрузка полная была 05.08.2020
2) Оплата через приход денег от 07.08.2020 указываем  "счёт 1" , сумма к оплате 2500
3) Пени начисляются на 5 дней просрочки? А если в приходе денег сразу указать сумму 3500, то нужно использовать новую методику проведения и пени не начисляются?