[ОБУЧАЛОВКА] Почему оплата не закрывает документ, на основании которого была выписана?

Очень часто всплывает вопрос, аналогичный "Почему оплата не закрывает документ, на основании которого была выписана?" Уж сколько копий переломано по этому поводу, выдано объяснений и развернуто дискуссий… однако воз и ныне там… Вопросы и бредовые пожелания плодятся как кролики/тараканы (кстати, про тараканов у меня здесь: http://infostart.ru/profile/174/projects/1969/). Мой ответ простой: в рамках договора в типовой ТиС погашение долгов документами оплаты реализовано по ФИФО (документ-основание используется лишь для удобства заполнения документа оплаты), почему по ФИФО, а не, например, как описано в заголовке? ДА ОЧЕНЬ ПРОСТО!!! Бухгалтеры в принципе неспособны обеспечить закрытие документов-оснований документами оплаты по нескольким простым причинам: не учитывают взаимозачеты (дает сдвижку оплат); не учитывают возвраты (влияющие на долги по документам оплаты), частичные оплаты/переплаты добавляют геморроя… банальные ошибки как со стороны бухгалтеров при разноске платежей, так и со стороны клиентов при указании назначений платежей и т.д. Если это суммировать, то вывод простой — бухгалтера!!! ПРОСТО НЕСПОСОБНЫ ЦЕЛЕНАПРАВЛЕННО И АККУРАТНО ВЫПОЛНЯТЬ ВСЕ ТРЕБУЕМЫЕ ДЕЙСТВИЯ ПРИ ВЕДЕНИИ ВЗАИМОРАСЧЕТОВ ПО ПРИНЦИПУ ПОГАШЕНИЯ "ДОКУМЕНТОВ-ОСНОВАНИЙ"!!! (вдогонку: почему-то многие бухгалтера уверены, что они умеют ТУПО СЧИТАТЬ лучше, ЧЕМ ТУПО УМЕЕТ СЧИТАТЬ КОМПЬЮТЕР)

..тем не менее дети все также тянут ручки к троиловым шашкам, а некоторые — и к атомным бомбам… Ну что же, дадим им поиграться… Реализуем в рамках типовой ТиС погашение платежей долгов клиентов не по принципу ФИФО, а по принципу привязки к «документам-основаниям»… Для этого надо внести небольшие коррективы в глобальный модуль в процедуру глДвижениеДолгов

.. в глобальном модуле смотрим процедуру глДвижениеДолгов()
от начала процедуры примерно 80-я строка

ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
ТаблИтогов.Сортировать("+КредДокумент",1); // погашаем долги по ФИФО 

в этом участке кода формируется простой список погашаемых долгов(документов), отсортированный по хронологии документов-долгов.

Сразу за этим кодом вставляем вот такой код:

//НАЧАЛО вот здесь вставляем код, который делает что-надо 
Если глЕстьРеквизитШапки("ДокОснование", Конт.Вид()) <> 0 Тогда
//проверяем есть ли реквизит "ДокОснование"
Если Конт.ДокОснование.Выбран() <> 0 Тогда //проверяем указано ли основание поз = 0; Если ТаблИтогов.НайтиЗначение(Конт.ДокОснование,поз,"КредДокумент") > 0 Тогда
//по документу-основанию есть непогашенный долг
Если
поз > 1 Тогда //основание где-то в глубине, стоит в общей очереди
ТаблИтогов.СдвинутьСтроку(1-поз,поз); КонецЕсли; //сдвиг основания вверх КонецЕсли; КонецЕсли; //выбрано основание
КонецЕсли
; //по реквизиту шапки //КОНЕЦ вот здесь вставляем код, который делает что-надо

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

…куда пойдет оставшаяся сумма платежа, если документ-основание по какой-либо причине уже оплачен частично — лично меня (при реализации вышеприведенного кода) как в пословице: «проблемы индейцев шерифа не волнуют»…
…В развитие выше приведенного кода можно предложить много чего интересного: например, если документ-основание уже оплачен частично — 100 руб накладная, 100 руб платеж, а по какой-то причине 20 руб по накладной уже получилось оплачено — СТОРНИРУЕМ 20 руб. ранее проведенной оплаты — бухгалтер же у нас супермозг — велел 100 рублей на накладную повесить — погашаем накладную на 100 руб, освободившиеся 20 руб. — или болтаются предоплатой (???) или идут в оплату следующих(???) неоплаченных накладных… о том как это показать по бухучету (сторнирование, перевод «освободившейся» оплаты в предоплату и т.д. и все действия по НДС, связанные с этим) — проблемы индейцев шерифа не волнуют…

Реализуем также другую хотелку: чтобы долги погашались не по ФИФО, не по документу основанию, а по хронологии дат оплат, указанных в качестве планируемых/ожидаемых в документах(долгах). Делаем так: в процедуре глДвижениеДолгов() строки кода

ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
ТаблИтогов.Сортировать("+КредДокумент",1); // погашаем долги по ФИФО

заменяем на такое:

ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
ТаблИтогов.НоваяКолонка("ДатаОплаты","Дата");
ТаблИтогов.ВыбратьСтроки();
Пока ТаблИтогов.ПолучитьСтроку()=1 Цикл 
ТаблИтогов.ДатаОплаты = ТаблИтогов.КредДокумент.ДатаОплаты; //тут маленькая "засада" -разбираться самим
КонецЦикла
; ТаблИтогов.Сортировать("+ДатаОплаты,+КредДокумент",1);

..
Все… Желаю успехов в труде и заработной плате!
ДА! Понравилось/пригодилось? Оставь благодарственный коммент автору и плюсани рейтинг…

53 Comments

  1. lefthander

    Однако улыбнуло 🙂

    Reply
  2. Martyn

    Автору респект, чувствуется что накипело, да и как то знакомо всё… Плюсуем!

    Reply
  3. AlexeyPapanov

    Автор, чего вам хотелось больше — написать про бухгалтеров или поделиться полезной информацией?

    p.s. Лампочку капс лок лучше тушить. Уважайте читателя.

    Reply
  4. softkill

    У меня работает точно такой же механизм уже год.

    Клиент доволен, т.к. он получил то, что хотел.

    Все нестыковки математически обоснованы и всегда можно объяснить почему система поступила именно так.

    Да, ес-но нестыковки есть. Частичная оплата/возвраты/Оплата сразу нескольких накладных и т.п.

    Здесь не уследишь.

    Но даже если сбивается механизм долг-оплата, то при последующей работе он «выравнивается» и 1С снова начинает гасить те долги, на основании которых выпысываются кассовые приходники.

    В любом ином случае (если клиент например платит больше чем долг по накладной), оплачивается долг по ФИФО.

    Т.о. работает тот же стандартный механизм 1С.

    Т.е. ЭТО не хуже. ничего мы не сломали.

    А если все-таки клиент работает правильно и правильно заводятся накладные, то картина по долгам выстраивается идеальная.

    К каждой накладной — свой приходник.

    Еще раз повторяю, что мой клиент доволен именно таким механизмом.

    Если все делать правильно — все красиво. Если нет — работает старый функционал.

    ЗЫ: А кричать действительно не стоит. Клиент всегда прав. Любой каприз за ваши деньги. Можем из шкуры и семь шапок сшить 😉

    Reply
  5. CheBurator

    для (4):

    > Все нестыковки математически обоснованы и всегда можно объяснить почему система поступила именно так.

    принципиально не вижу, где в описанном алгоритме оплаты по документам-основаниям «именно так поступает система» — там ведь именно на правильность РУЧНЫХ ДЕЙСТВИЙ бухгалтера все завязано… + «но даже если сбивается механизм долг-оплата, то при последующей работе он «выравнивается» — о чем выше я и писал: повторяю еще раз: буЛГахтера !!!_ПРОСТО НЕСПОСОБНЫ __ЦЕЛЕНАПРАВЛЕННО И АККУРАТНО__ ВЫПОЛНЯТЬ ВСЕ __ТРЕБУЕМЫЕ__ ДЕЙСТВИЯ ПРИ ВЕДЕНИИ ВЗАИМОРАСЧЕТОВ ПО ПРИНЦИПУ ПОГАШЕНИЯ «ДОКУМЕНТОВ-ОСНОВАНИЙ» — что и подтверждают ваши слова, которые вообщем-то и показывают, что если есть «нарушение» в распределении оплат — то «ну и фиг с ним»… не надо себя обманывать… Тем не менее, конечно, если клиент хочет — то он и получит…

    ..

    Простая система ФИФО точно так же как и у вас — дает точную раскладку по документам-основаниям, если ВЕСТИ УЧЕТ, а не просто тупо вбивать в прогу… Практически везде более ранние документы оплачиваются клиентом РАНЬШЕ, если это не так, то в подавляющем (я подчеркиваю — в подавляющем!) колве случаев — ЭТО СОВЕРШЕННО ДРУГАЯ КРЕДИТНАЯ ЛИНИЯ, которая в рамках методики типовой ТиС (да и по упр.учету) должна быть в ПРОГЕ соответсвенно показана ДРУГИМ КРЕДИТНЫМ НАПРАВЛЕНИЕМ, т.е. «договором», например? отгружаем клиенту с отсрочкой платежа 10 дней, а вот тут отгрузка дефицитного товара, который оплачивается по факту (или с отсрочкой 3 дня) — РЕБЯТА, ЭТО ДРУГОЙ «ДОГОВОР» — это совершенно иные договоренности взаимоотношений — ну так и показывать его следует отдельной кредитной линией, и оплачивать (регистрировать оплату) ИМЕННО ПО ЭТОЙ КРЕДИТНОЙ ЛИНИИ… при таком подходе — не надо ничего корячить в типовых алгоритмах, все разложится именно так как юзер предполагает… НО! это требует дисциплины учета — а на это способны немногие… так что проще нафигячить всяких алгоритмов-хотелок, которые, тем более, все равно не дают ожидаемого результата (система поступила именно так, даже если сбивается механизм долг-оплата — почему он должен сбиться — ХОТЬ ТРЕСНИТЕ, НЕ ПОНИМАЮ!!!).

    за капслоки — сорри, но это специально, чтобы все-таки понять — в чем причина, что типовая ФИФО не устраивает?

    Reply
  6. ssp_

    ИМХО для бухгалтеров, которые думают что умеют считать лучше чем компьютер, надо разрабатывать систему отчетов для разбора ситуаций, а не урезать функционал программы.

    Reply
  7. CheBurator

    Что несомненно: 1С сделала существенный просчет в «методике» использования привязок оплат и документов-оснований — нигде явно и недвусмысленно не объяснив логику и методику использования в этом случае, т.е. тут самое вопиющее нарушение принципа «висивиг» — что вижу, то и получаю… — юзер видит привязанный док-основание и совершенно справедливо считает что именно этот док «погашается»…

    Reply
  8. CheBurator

    для (3): даже не знаю… ценность приведенного сабжа сомнительна ;-), но раз кому-то нужно — пусть будет…

    Reply
  9. CheBurator

    Вдогонку: вся проблема в том, что бухгалтер говорит: «Хочу!», разработчик делает и говорит: «пжлста, работает при вот таких условиях, вы должны делать то-то и то-то», бух говорит: «ОК!» и НЕ ДЕЛАЕТ! тихо отпихивая от себя мысль «надо работать» и лелея и выращивая в себе беса «прога ВСЕ СДЕЛАЕТ САМА, ОНА — ТЕЛЕПАТ»

    Reply
  10. CheBurator

    для (6): а вот это не очевидно… внятных юзеров, которым такие отчеты помогут — единицы. остальные «тупые обезьянки», как бы они себя громко не называли…

    Reply
  11. CheBurator

    поэтому в ряде случаев нужно сильно урезать функционал, уменьшая универсальность и давая возможность идти только по одной тропинке.. ибо обезъяна с гранатой — страшное дело…

    Reply
  12. max1c

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

    Бухам все равно в какой последовательности и как приходят оплаты.

    У них другие задачи.

    Reply
  13. tango

    (7) можете пальцем показать, где 1С «явно и недвусмысленно» что-либо объясняла?

    Reply
  14. A_Noy

    Сразу извиняюсь, если вопрос ламерский, но у меня вылетает ошибка:

    Если ТаблИтогов.НайтиЗначение(Конт.ДокОснование,поз,КредДокумент<<?>>) > 0

    {Глобальный модуль(9999)}: Переменная не определена (КредДокумент)

    ТиС 9.2

    Reply
  15. CheBurator

    А не надо тупо копипастить.. изучать надо.. конспектировать…

    😉

    Поправил в коде, надо ..поз,»КредДокумент»)

    Reply
  16. sfs

    Я завтра попробую, скажу результат. А автору респект, однозначно…

    Reply
  17. mdzen

    Грамотно!

    Спасибо за потраченное на сие писание время.

    Reply
  18. CheBurator

    (16) Завтра уже близится к финишу! где результат?

    (17) Где деньги, Зин? 😉

    Reply
  19. Dolly_EV

    Угу, по всем пунхтам согласен с Че, у меня в конфе такая же логика, + за потраченное время

    Reply
  20. Бит

    «Пока ТаблИтогов.ПолучитьСтроку()=1 Цикл

    ТаблИтогов.ДатаОплаты = ТаблИтогов.КредДокумент.ДатаОплаты; //тут маленькая «засада» -разбираться самим

    КонецЦикла;»



    Пока ТаблИтогов.ПолучитьСтроку()=1 Цикл

    Если Метаданные.Документ(ТаблИтогов.КредДокумент.Вид()).РеквизитШапки(«ДатаОплаты»).Выбран()=1 Тогда

    ТаблИтогов.реквОплаты=ТаблИтогов.КредДокумент.ДатаОплаты;

    КонецЕсли;

    КонецЦикла;

    Reply
  21. CheBurator

    (20) я обычно ели неизвестна дата оплаты — ставлю датудок…

    Reply
  22. valent

    о! во второй главе упомянута реализация моей хотелки, а я не вкурсе и «+» моего нет почему-то…

    Для моей ситуации самый простой и безболезненный способ. Автор даже отказался от вознаграждения

    Reply
  23. noprogrammer

    (0)

    1.Никогда не думал что скажу это, но «не все бухи идиоты» — поэтому если хотят закрывать таким образом то это их право.

    2.Не стоит ограничивать данную тему рамками «документа-основания» — вообще-то это называется «подокументная оплата», следовательно пользователю надо дать возможность полностью управлять оплатой а в статье приведен лишь частный случай, советую посмотреть:

    http://infostart.ru/profile/1767/projects/1149/image.php?img=694

    http://infostart.ru/profile/1767/projects/1149/image.php?img=865

    так же советую посмотреть

    http://infostart.ru/profile/1767/projects/1149/image.php?img=697

    (приведена возможность закрывать авансы — реализацией, как закрывать определяется константой «Автоматически, По Документу-Основанию или Контролируемо пользователем»)

    Reply
  24. O-Planet

    А что помешало поместить ЭТО в блог? не ты ли первый минусуешь всех, кто в программы кидает вопросы, размышления и разные сомнительные технологии?

    Reply
  25. O-Planet

    Имхо, методика через чур слабовата. Чаще всего оплата приходит по частям или кучей. Боюсь, оно не сработает. Намного эффективнее использовать забалансовый счет. Реквизит основания в документе, на мой взгляд, не то, что плохо, оно даже вредно в контексте вопроса. ЧАсто поставленный вопрос решается простым и мудрым отчетом по типу моего «Кто нам должен» и «Кому мы должны»

    Reply
  26. CheBurator

    (25) Читайте, блин, внимательно! какие забалансовые счета — обсуждение ведется в контексте ТиСа! Как приходит оплата — частями или кучей (как в штатном алгоритме так и в этом сабже) — абсолютно до лампочки… сработает нормально…

    > ЧАсто поставленный вопрос решается простым и мудрым отчетом по типу моего «Кто нам должен» и «Кому мы должны»

    НУ ТАК ПРО ТО И РЕЧЬ!

    ..соответсвенно вас сабж — не к месту — поставьте кто-нить ему -1 за этот коммент! 😉

    данный сабж написан не от того чтобы навредить, а потому как КОМУ-ТО ИМЕННО ТАК И ХОЧЕТСЯ!!!

    (24) голый трындеж! в блог имеет смысл размещать безпредметные обсуждения и идеи. Здесь — четкий код, бери и вставляй — чем ряд юзеров и воспользовался — поэтому в программах…

    Reply
  27. CheBurator

    (23)

    п.1 — полностью согласен. в сабже про то и речь.

    но при этом давайте не забывать: на этом все по данным докам в ОБЩЕМ СЛУЧАЕ — не заканчивается!!!

    п.2 — полностью согласен (особливо про частный случай), но если он «управляет» — что делает юзер (у вас в прогах?) если по доку от клиента пришла переплата — куда относит переплату?

    куда относит излишек долга если по оплаченному доку прошел возврат? и т.д.

    возможно я слабо акцентировал, так что еще раз: в целом по разноске оплат бухи сработают в целом ок, но очень большое сомнение, что при подокументной оплате кроме этих действий они смогут выполнить все остальные необходимые… хотя возможно и смогут… мой опыт не сильно большой но все же показывает.. что вся эта подокументная оплата — в большинстве случаев — фикция, так как при возвратах, взаимозачетах, возвратах денег и прочих… — вся эта подокументная оплата оч.быстро «сьезжает» и никто не отслеживает это… главное указать ВИЗУАЛЬНО… все остальное — фигня…

    Reply
  28. O-Planet

    (26) за мой коммент я ожидаю, как минимум, +200, потому, как все-таки считаю использование реквизита-основания в сабже дурным тоном. ТиС так ТиС. Что мешает все завязать в регистЕр? И то, что здесь речь идет о ТиС — странно, если везде говорится о бухах и главбухах…

    Reply
  29. CheBurator

    (28) мдя… повторюсь еще раз: именно на регистрах и сделана типовая схема учета взаиморасчетов. что вы еще хотите на регистрах сделать? и что в них запоминать? четко указываемую схему какой платеж какой док погашает? — чем это будет отличаться от схемы «документа-основания» — только тем, что сейчас док-основание СЛУЖИТ ДЛЯ ОБЛЕГЧЕНИЯ ЗАПОЛНЕНИЯ ДОКУМЕНТА ПЛАТЕЖА (а юзвери видя, привязку считают что платеж ПОГАШАЕТ ДОК-ОСНОВАНИЕ — что в корне неверно… вот эту «неверность», а вернее попытку ее нивелирования и реализует описанный сабж…), а предлагаемая вами схема будет являться четким указанием что погашать…? ну так это и описано в сабже, и в том числе в примерах, скриншотируемых в (23)…



    …можете предложить автоматическую схему, которая при минимуме усилий со стороны буха/юзверя вела корректные взаиморасчеты с клиентом при всяческих телодвижениях…?

    Reply
  30. O-Planet

    Ну, не знаю. Мож все и нормально.

    Reply
  31. valent

    О чем спор? Описаны полезняшки, которые кому-то очень помогают.

    Reply
  32. Diamond

    ИМХО: бухи должны закрыть так, чтобы платить меньше налогов — это их головная боль, другой вопрос если не они разносят оплату.

    Reply
  33. poppy

    (32)

    > ИМХО: бухи должны закрыть так, чтобы платить меньше налогов

    Diamond, ты вроде неплохие программы пишешь. Может расскажешь нам, методику ухода от оплаты налогов (кстати, каких?) при «хитром» ведении взаиморасчетов?

    Reply
  34. O-Planet

    (33) poppy, ты мну иногда так удивляешь! Никогда не сталкивалась со сдачей НДС? Типичный случай. Приходит бухша на подпись к директору с декларацией. Он смотрит и говорит: «Уууу! Много как. Сократи, пожалуйста, тысяч на 300». И она все пересчитывает и сокращает ВПОЛНЕ ЗАКОННО. Методика известна даже любому сопровожденцу более-менее продвинутому: играем с датами поставок, партиями, созваниваемся с поставщиками, согласовываем все, выписываем доки задним числом, даже корректируем закупочные цены. Более продвинутые методы — раскидываем по видам деятельности, фирмам, точкам.

    Reply
  35. O-Planet

    Фирма А — оптовые продажи (НДС)

    Фирма В — розница (вмененка)

    Фирма А покупает кепку за 80 руб, продает всем по 200 руб, но фирме В по 180 руб, за то, что те в доках проводят 81 руб. Фирме В пофиг, посколько покупать, потому что они на вмененке. А фирма А, имея прибыль 100 руб, НДС платит только с 1 руб.

    Reply
  36. poppy

    (34)

    НДС уже давно расчитывается по-отгрузке. Оплатами можно только увеличить НДС. Ты об этом?

    Reply
  37. O-Planet

    НДС зависит от цены реализации и цены закупки. Чем меньше между ними разница, тем меньше НДС. Для того и создают подставные фирмы.

    Еще примерчЕг: 10 фирм на вмененке покупают товар и сливают в фирму, которая торгует с НДС. Причем, сливают так, чтобы для последней продажная цена на товар очень мало отличалась от закупочной. Понятно, что хозяин у всех 11 фирм один (регистрируются на сватов, бабушек, их котов…)

    Reply
  38. CheBurator

    (37) > Чем меньше между ними разница, тем меньше НДС.

    …а вот фиг! что-то там было в последнее время типа если к возмещению НДС = 100 тыс, а к уплате =90 тыс, то нифига ты не 10 тыс платишь.. а 90 .. и ждешь когда тебе 100 возместят… (возможно я что-то не так понял…)

    Reply
  39. O-Planet

    Все так. Я это и имею в виду. Чем плохо возмещение?

    Reply
  40. CheBurator

    (39) жлобством государства

    Reply
  41. O-Planet

    (40) Да ладно! Всем ООО возмещают. У меня даже знакомый — предприниматель на НДС, все время ставит к возмещению тысяч 200-300 в конце года, хотя приписывает туда абсолютно все: от покупки кофеварки до интернет. Всегда государство возмещает.

    Reply
  42. CheBurator

    (41) ну значит, вам повезло.. если в конце года тысяч 200-300… а если ежемесячно лимона на полтора-два… правда сейчас поквартально — но от этого не шибко легче…

    Reply
  43. Cthulhu

    (за скобками продолжение беседы — строго по задекларированному в (0) и способу решения задекларированного).

    Братюня, там ещё бедулька. Поместить в начало ТЗ погашаемый кред.документ — это полумера. Потому что «размазывание» оплаты по ФИФО может зацепить кред.документы, которые тоже должны погашаться по ФИФО. Т.е. (0) надо бы дополнить удалением из таблицы строк, в которых есть кред.документы, имеющие подчиненные проведенные оплаты.

    А кроме того, перенос на погашение по ФИФО излишка оплаты выбранного в оплате кред.документа несколько сомнителен. Если уж менеджер/бухгалтер берет на себя определение кредитного документа для оплаты, то дополнительно он должен быть проинформирован о том, что такой алгоритм работоспособен (без косяков) только в том случае, когда оплата соответствует задолженности (ну и дать ему возможность видеть подобный косяк — желательно красным жирным шрифтом). А оплату, которую компетентный работник принял решение привязать к конкретному кред.документу — тупо привязывать целиком, и пусть потом только попробует рассказать, что не понял ответственности принятого им решения, что не увидел красных жирных букв, и что программа работает плохо. Т.е. при реализации такой хотелки — не двигать выбранный к погашению кред.документ вверх, а удалять из таблицы все кроме этого кред.документа, а про излишек оплаты — орать жирно-красно и рекомендовать разделить оплату (ни в коем случае не авто-разделение, это решение ответственного работника о привязке — и осуществление сопутствующих работ также в его компетенции).

    Reply
  44. zak555

    (0) а не проще глДвижениеДолгов поправить так:

    //вставка+

    //будем списывать по основанию документ Строка Выписки (расход), если он есть…

    Если (Конт.Вид() = «СтрокаВыпискиРасход») Тогда

    Если (Конт.ДокОснование.Выбран()=1 ) Тогда

    ВремВзаим.УстановитьЗначениеФильтра(«КредДокумент»,Конт.ДокОснование,1);

    КонецЕсли;

    КонецЕсли;

    //вставка-

    // ************************** окончена установка фильтров ************

    // установим общие для всех движений измерения

    РегВзаим.Фирма = Фирма;

    РегВзаим.Договор = Договор;

    РегВзаим.КодОперации = КодОперации; // если меняем — восстановить обратно!

    // ************************** установили ***

    Reply
  45. CheBurator

    (43) и такой подход имеет место быть… если руководство НАМЕРЕНО бить лопатой по лицу, а не пускать на самотек…

    Reply
  46. CheBurator

    (44) и так тоже можно, просто это чуть менее чем универсально.. 😉

    Reply
  47. andrewks

    публикация-летучий голландец? 🙂 дата свежая, а камменты старые. плюсов 49, а видно только один. мистика

    Reply
  48. zqzq

    Долго «втыкал», потом увидел: ТиС, семёрка… Бр-р, чур меня.

    В УПП в принципе это реализовано (взаиморасчеты по заказам/счетам), но у нас бухгалтерия наоборот от этого хочет уходить, т.к. проблем много с авансами, перекидыванием долгов между счетами и т.д..

    Когда-то давно на рошлой работе во франче просили в ТиС подобное сделать, я им объяснил примерно как в статье и отстали.

    Reply
  49. Yury1001

    Сто раз уже так делал. Задача выгодная – занимает пол часа, берёшь минимум 8.

    Клиент который просит оплату строго по кред.документам готов к сопутствующим сложностям и бить лопатой по лицу буЛГахтеров.

    p.s. кстати делаю как написано (44), остаток, если что, на аванс

    Reply
  50. iov

    Удивлен.

    Удивлен таким количеством именитых людей в такой теме…

    Reply
  51. Иваныч

    Вообще лучше сразу все правильно подвязывать или списывать как поступают платежи

    Reply
  52. Black Cat

    Сильно не пинайте !

    Для данного случая можно сделать таблицу значений на форме документа прихода денег из 4х колонок: Пометка, КредДок, СуммаДок, СуммаСпиасния (как-то так). Туда по нажатию кнопки выгружать кредитные доки. Ну и галочками отмечать, какие кредитные доки закрывать данным приходом, а также вводить сумму списания по документам. Сразу убьём 2х зайцев: если денег пришло точно по кредитному документу, то просто его отметим. Если денег пришло больше — отметим, кредитный док, который нужно полностью списать и на который поместить остаток. В принципе и Пометка, не нужна: там где есть сумма — те доки и списываем.

    Reply
  53. CheBurator

    (52) не пинаю.

    1. в таком варианте: не взлетит: ТЗ на форме недоступна при программном проведении документа — она вообще отсутсвует как класс).

    2.все ваши «расчеты» какие доки отметить — накрываются медным тазиком при малейшем изменении истории кредитных документов задним числом.

    Вообщем, примерно по такому пути пошли на *-ых бухгалтериях.: в табличной части документа отмечают ся доки, на которые разносятся оплаты. И наплевать что там будет потом. То есть все опирается на «что пользователь сказал — так и делаем». Речь в публикации как раз о том, что пользователь в осноновном говорит «наобум».

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *