|
v7: Просроченные дни Реализации (ТиС) Ø (andrewks 14.11.2011 11:46) | ☑ | ||
---|---|---|---|---|
0
FREEEEs
14.11.11
✎
06:11
|
Всем привет..
Нужна помощь! Т.к. сам уже не могу сделать, перепробовал много вариантов. Конфигурация ТиС. Суть в том, что нужно сделать отчёт, который за данный период, грубо говоря с 01.06.11 по 30.06.11, берёт документы Реализация и проверят их на: Оплачен ли документ полностью и не позже ли даты оплаты (реквизит ДатаОплаты). Таких регистров как Долг и т.д. нету в природе. Все движения идут по регистру Покупатели. Когда мы проводим документ Реализация в регистре «покупатели» идёт движение расхода на n сумму. Когда мы проводим документ «Выписка банка приход», в регистре «покупатели» идёт движение прихода на n сумму. Реализация и Выписка банка приход вообще не как не взаимосвязаны ((( Может быть такая ситуация, что сначала пришли деньги, или они уже были, а потом сделали Реализацию. Или один документ Реализация был оплачен с 3 документов Выписка банка приход. ---- Ну подскажите как делать (( Вишу на одном заказе. |
|||
1
titan_aleks
14.11.11
✎
06:46
|
Делал так: Весь приход/расход денег в одну кучу, а потом отнимал от этого реализации. Как только деньги кончались, проверял на дату оплаты. Если дата оплаты меньше расчетной даты - то документ просрочен. Если же будешь привязывать реализацию к конкретной оплате - то не взлетит.
|
|||
2
FREEEEs
14.11.11
✎
06:56
|
А как ты делал "Весь приход/расход денег в одну кучу, а потом отнимал от этого реализации" ?
Через Рег.ВыбратьДвижения(,); ?? Если можно примерный код. |
|||
3
miki
14.11.11
✎
06:57
|
(1)Закат Солнца вручную? а если "в одной куче" доки за годы?
(0)В ТиС всё есть. Кури регистр "Покупатели" - там есть измерение "КредДокумент" - можешь с него доставать (если по нему есть остаток) свою ДатуОплаты. |
|||
4
FREEEEs
14.11.11
✎
06:57
|
Или через запрос "Функция = Приход(Сумма)"
|
|||
5
FREEEEs
14.11.11
✎
06:59
|
miki я в курсе обо всём что там есть.
Скажи подробнее, не могу уловить мысль «можешь с него доставать (если по нему есть остаток) свою ДатуОплаты.» |
|||
6
miki
14.11.11
✎
07:00
|
(5)Имея док - можешь получить любой его реквизит.
|
|||
7
FREEEEs
14.11.11
✎
07:03
|
Да причём тут это.
Суть отчёта вывести документы Реализация которые не были оплачены, или которые были просрочены. Понять что он был просрочен не сложно. А вот как понять был ли он оплачен или на сколько. Ты скажи как сделать запрос к регистру Покупатели, что бы он вернул нужные данные то. |
|||
8
povar
14.11.11
✎
07:05
|
а шо, ведомостьПоКонтрагентам не устраивает ?
|
|||
9
titan_aleks
14.11.11
✎
07:06
|
|Док = Регистр.Покупатели.ТекущийДокумент,Регистр.Поставщики.ТекущийДокумент;
|СуммаРуб = Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.СуммаРуб; |Контрагенты = Регистр.Покупатели.Договор.Владелец,Регистр.Поставщики.Договор.Владелец; |Функция СуммаРубНачОст = НачОст(СуммаРуб); |Функция СуммаРубКонОст = КонОст(СуммаРуб); |Функция СуммаРубПриход = Приход(СуммаРуб); |Функция СуммаРубРасход = Расход(СуммаРуб); |
|||
10
miki
14.11.11
✎
07:07
|
(7)Остаток регистра "Покупатели" по измерению "КредДокумент" - суть долг клиента по этому "КредДокумент". Нет остака - нет долга. Отрицательный долг - аванс.
Если этого не можешь осознать - меняй профессию. |
|||
11
FREEEEs
14.11.11
✎
07:29
|
Да видимо придётся менять профессию, т.к. Рег.Остаток(,,,,ДокРеа, "СуммаРуб") возвращает всегда нули.
|
|||
12
Mikeware
14.11.11
✎
07:34
|
(3) Если последовательность - в опе (а у ТС так и есть с вероятностью 99.9%), то только перебором. Получать общий долг, выбирать в обратном порядке образующие долг документы на сумму долга, и смотреть по каждому из них плановую дату оплаты...
|
|||
13
FREEEEs
14.11.11
✎
07:36
|
А через Рег.СводныйОстаток(,,,,ДокРеа.ТекущийДокумент(),"СуммаРуб") ?
Как в посте 10. Вроде возвращает что то толковое. ?? |
|||
14
Mikeware
14.11.11
✎
07:48
|
(13) СП украли?
|
|||
15
FREEEEs
14.11.11
✎
07:50
|
Что значит СП ?
|
|||
16
FREEEEs
14.11.11
✎
07:53
|
И ещё в (10) посту, остаток будет только у тех док. у которых долг верно? А у тех которых нет долго но просрочка оплаты, он их не выведет?
|
|||
17
miki
14.11.11
✎
08:15
|
(12)Я вообще стараюсь сразу заворачивать людей, если у них ГП<>ТА... От бардака в учете алгоритма пока нет.
(16)какая просрочка, если нет долга? Что они просрочили? Можешь выбрать все доки за период и каждый проанализировать на долг. Тем более, если в (12) правда... |
|||
18
FREEEEs
14.11.11
✎
08:23
|
Имел ввиду просрочка даты оплаты!
То есть в доке указана ДО какой даты оплатить, они оплатили, теперь нужно понять что оплатили вовремя. Ну я щас сделал так. Док = СоздатьОбъект("Документ.Реализация"); Док.УстановитьФильтр(1,0); Док.ВыбратьДокументы(фОт,фПо); Рег = СоздатьОбъект("Регистр.Покупатели"); Пока Док.ПолучитьДокумент() = 1 Цикл // Тут мы получаем остаток всех документов (долговато правда, ну лан) Остаток = Рег.СводныйОстаток(,,,,Док.ТекущийДокумент(),"СуммаРуб"); // Если у нас Остаток = 0 (то есть оплатили), как узнать КОНЕЧНУЮ дату оплаты, что бы уже сравнить с начальной КонецЦикла; |
|||
19
miki
14.11.11
✎
08:24
|
>>нужно понять что оплатили вовремя.
Чисто спортивный интерес: зачем? премию выпишите? |
|||
20
FREEEEs
14.11.11
✎
08:28
|
Эмм как зачем?
Я прото наёмник из франчайзи. Заказчик сделал мне заказ отчёта. Что бы он мог видеть СКОЛЬКО дней просрочили и за эти дни прибавлять деньгу. |
|||
21
Фокусник
14.11.11
✎
08:37
|
(20) >за эти дни прибавлять деньгу
Пеню что-ли? А заказчик в курсе, что пеню он может взыскать только через суд? :) |
|||
22
miki
14.11.11
✎
08:39
|
(20)про просрочку понятно, мне показалось, что ты хочешь ещё и тех, кто платит вовремя...
>>(долговато правда, ну лан) В 1С есть фильтры и запросы (разных видов и цветов)... |
|||
23
FREEEEs
14.11.11
✎
08:44
|
Ну так есь идея ? Как улучшить (18) или вообще по другому пути
|
|||
24
ildary
14.11.11
✎
09:03
|
(22) так ведь фильтры и запросы для программистов, это понимать надо.
|
|||
25
Mikeware
14.11.11
✎
09:10
|
ты еще и франч??? зачетно!!!
|
|||
26
ArtKzn
14.11.11
✎
09:39
|
(23) сделай вычисление в два этапа: сначала остаток по состоянию на конечную дату, здесь ты вытащишь неоплаченные документы. А потом перебери оплаты за период, и посмотри какие документы закрываются. Здесь ты вытащишь оплаченные с просрочкой. Будет работать точно быстрее (18).
|
|||
27
ArtKzn
14.11.11
✎
09:42
|
А про прибавлять деньгу за уже оплаченные доккменты– заказчик действительно хочет странного. Или ты его неправильно понял.
|
|||
28
FREEEEs
14.11.11
✎
11:15
|
(26) мда... набор слов.
Кодом можно закрепить? И мне оч. интересно как это будет быстрее (18), теории не более |
|||
29
Mikeware
14.11.11
✎
11:25
|
(28) Если для тебя это "набор слов" - может, действительно, озвучить название франча? чтоб люди не "попадали"...
|
|||
32
Mikeware
14.11.11
✎
11:29
|
(31) Тебе, решение дано в (12), почти 4 часа назад. Думай.
|
|||
33
ArtKzn
14.11.11
✎
11:33
|
(28)
>как это будет быстрее Почитай на старых ИТСках (а может и на новых есть) для 77, почему не рекомендуется использовать метод СводныйОстаток() с пропуском первых измерений. >набор слов Действительно совсем ничего не понятно? В этом случае кодом можно закрепить только за деньги. |
|||
36
Ёпрст
14.11.11
✎
11:46
|
Какой-то обиженный Мишка.
Не может подумать немножко над ответами. Как там говорится то ? -Вон из профессии! |
|||
37
andrewks
14.11.11
✎
11:46
|
тема закрыта
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |