![]() |
![]() |
![]() |
|
Корректировка долга покупателя - криворукость Ø |
☑ | ||
---|---|---|---|---|
0
Чучундер
03.03.06
✎
16:45
|
ТиС 9.2
Есть клиент. На текущее число 03.03.06 за ним числится долг по Договору2005 (например, по Рнк-001). Принято решение этот договор закрыть с переводом долга на Договор2006 Корректировкой долга покупателя переводим: - снимаем с Договор2005 (в регистр взаиморасчетов пишет с минусом долг за товары) - кладем на Договор2006 (в регистр взаиморасчетов пишет с плюсом АВАНС) все ок, долги перевелись как надо. Тока потом, когда приходит оплата и закрывает документ корректировки по Договор2006 - в регистр взаиморасчетов пишется с минусом АВАНС - и при формировании книга продаж сразу орет что не выписана авансовая СЧФ. Кто-нить сталкивался? |
|||
1
Чучундер
04.03.06
✎
02:02
|
А есть вообще, кто юзает ТИС 7.7, с кем вобще можно пообсуждать? Или самому биться..?
|
|||
2
USSR
04.03.06
✎
02:30
|
Давно очень не пользовался ей, но формально: по договору 2006 нет задолженности по ТМЦ, но ты делаешь долг, значит это долг по авансу, клиент должен аванс. Аванс приходит, закрывает этот новый долг, но от этого он не перестал быть авнсом. То есть по регистру он закрыл формально (для математики), а реально платеж авнсовый, отсюда и просит СФ
|
|||
3
Чучундер
04.03.06
✎
19:24
|
Что-то ты, Юсэса, непонял... или я криво объяснид.
Ща смоделирую на чистой 939 и расскажу. |
|||
4
USSR
04.03.06
✎
19:28
|
(3)Что я не понял? так вроде все и есть. Ты долг по ТМЦ(услугам) закрыл, и открыл новый долг не связанный с документом поступления, он погасится авансом. По жизни может и фигня, а формально деньги, закрывающие долг по новому договору, будут авансом
|
|||
5
Чучундер
04.03.06
✎
20:22
|
Клиент = Программист, Договор001, Договор002
Реализация-01, Договор01, Товары на 1000 руб. .. Смотрим ведомость по контрагентам - долг за клиентом по Договор001 = 1000 руб. .. Реализация-01, Договор02, Товары на 5000 руб. .. Смотрим ведомость по контрагентам - - долг за клиентом по Договор001 = 1000 руб. - долг за клиентом по Договор002 = 5000 руб. .. Ага! Договорились с клиентом, перекинули корректировкой долга с Договор001 на Договор002 1000 руб. - по договор001 получилось "минус" "долг за товары" 1000 руб. - по договор002 получилось "плюс" "аванс" 1000 руб. .. Смотрим ведомость по контрагентам - - долг за клиентом по Договор001 = 0 руб. - долг за клиентом по Договор002 = 6000 руб., из них + кред.док реализация-02 = 5000 руб. + кред.док корректировка долга = 1000 руб. .. Заостряю внимание, несмотря на то что в корректировке долга написан "аванс" - данная корректировка увеличивает долг клиента. как я размышляю: сколько клиент нам должен по Договору002? мой ответ: 6000 руб. если клиент заплатит 8000 руб - что будет? По моему: закроется кред.док. "реализация-02" на 5000 руб, закроется кред.док. "корректировка долга" на 1000 руб., 2000 руб. должно лечь на аванс. .. Пробуем. Проводим поступление бабла от клиента на сумму 8000 руб. Смотрим ведомость по контрагентам - - долг за клиентом по Договор002 = 2000 руб., из них + кред.док реализация-02 = 5000 руб. - кред.док реализация-02 = 5000 руб (док.оплаты=выписка-01) + кред.док корректировка долга = 1000 руб. - кред.док корректировка долга = 1000 руб. (док.оплаты=выписка-01) + кред.док выписка-01 = 2000 руб. итого: фирма должна клиенту (аванс 2000 руб.) .. т.е. по ведомости взаиморасчетов - мои ожидания оправдались. возвращаемся к выписке - кнюпаем выписать счф на аванс, предлагает выписать счф на аванс в размере 3000 руб., хм.. с какого хрена...? и как это соотносится с расчетами и выкладками, приведенными выше...? .. Идем в движения по выписке, имеем - "минус" "долг за товары" кред.док = реализация-02, сумма = 5000 руб. (закрылась реализация, согласен) - "минус" "авнас" кред.док = корректировка долга, сумма = 1000 руб. (закрылась корректировка долга, согласен) - "минус" "авнас" кред.док = выписка, сумма = 2000 руб. (открылся аванс, согласен). ... в итоге имеем: из-за того, что корректировка долга (увеличение долга клиента по договор002) вешается на реквизит "аванс" - который вообщем-то потом закрывается - закрытие этого "аванса" трактуется как возникший аванс. ... хорошо, посмотрим как себя поведет этот "аванс" дальше... Сделаем реализация-03 по договор002 на сумму = 10'000 руб, я думаю, что аванса у нас, вообщем-то, по-настоящему (а не по выписанной "кривой" счф) всего 2000 руб. - они и зачтутся, и долг клиента перед фирмой составит 8000 руб. Проверяем по движениям документа "реализация-03" и по "ведомости по контрагентам" - ожидания оправдались, зачлось 2000 руб. .. посмотрим, что скажет книга продаж/покупок в части авансов. Мои ожидания - 1000 руб "неправедного" аванса навсегда уйдут государству. Пробуем... - во-первых, прога сразу сломалась на формировании книги продаж с включенным флажком "формировать СЧФ на аванс": >По документу Корректировка долга СТ00000002 (04.03.06) нет движений по предварительный платежам! >Док = СоздатьОбъект("Документ." + ДокТест.Вид()); >{Документ.КнигаПродаж.Форма.Модуль(279)}: Значение не представляет агрегатный объект (Вид) .. Сломалось понятно почему - по документу "корректировка долга" (который увеличивает долг клиента по Договор002 с видом движения "аванс") - никакого аванса на самом деле нет, что и подтверждает попытка на основании этой корректировки выписать авансовую счф (которая выписывается только "авансу" со знаком "минус", а в корректировке - "аванс" со знаком "плюс") - такая попытка завершается совершенно справедливо выдачей сообщения типа "движения по авансам по данному доку не обнаружены" .. быстренько проведем расследование... ясен перец косяк... полученными авансами считаются все "движение" с реквизитом "аванс" - сюда попадает и корректировка долга (но по ней, как было, описано выше 1. НЕТ ВОЗМОЖНОСТИ выписать аванс - это блокируется алгоритмом выписки авансовых счф которые выписываются только по "авансам" со знаком "минус", а при построении книги продаж проверки на знак минус нет: // ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |ЗапрФирма = Регистр.Покупатели.Фирма.ТекущийЭлемент; |Контрагент = Регистр.Покупатели.Договор.Владелец.ТекущийЭлемент; |ДокАванса = Регистр.Покупатели.КредДокумент.ТекущийДокумент; |СтавкаНП = Регистр.Покупатели.СтавкаНП; |Договор = Регистр.Покупатели.Договор; |ВидДолга = Регистр.Покупатели.ВидДолга; |Остаток = Регистр.Покупатели.СуммаРуб; |Функция Аванс = Расход(Остаток); |Функция ОстАванса = КонОст(Остаток); |Группировка ДокАванса; |Условие(ЗапрФирма = Фирма); |Условие(ВидДолга = Перечисление.ВидыДолга.Аванс); |"//}}ЗАПРОС // На этом расследование закончено. .. МОЕ РЕЗЮМЕ: авансовая счф на сумму 3000 руб. прогой выписывается неверно, потому как настоящих авансов всего 2000 руб, а "обманный" аванс на 1000 руб. - на самом деле надо писать в корректировке долга со знаком плюс не "аванс",а, допустим, "долг по корректировке"/долг за товары например... |
|||
6
Чучундер
04.03.06
✎
20:28
|
(4) Не согласен...
> а формально деньги, закрывающие долг по новому договору, будут авансом Это почему? на момент прихода платежа - долг клиента перед фирмой по Договору002 уже существует! соответсвенно какой аванс? Даже если по бух.проводекам посмотреть - как будет проходить переброс долга с Договор001 на Договор002? По моему так: Дт 62.1/Договор002 Кт 62.1/Договор001 1000 руб. Что, собственно, и подтверждается приведенными выше мною выкладками и ведомостью по контрагентам. Возражения...? |
|||
7
Чучундер
04.03.06
✎
20:43
|
+(5) чтоб уж довести расследование до конца:
в книге продаж с флажком "выписывать счф на аванс имеем: // ОткрытьФорму("Документ.СчетФактураВыданный",Парам,ТабАвансов.ДокАванса); //проверка записи счета - фактуры ДокТест = ""; ДокТест = глНайтиСчетФактуру(ТабАвансов.ДокАванса,"СчетФактураВыданный", 0); Док = СоздатьОбъект("Документ." + ДокТест.Вид()); Док.НайтиДокумент(ДокТест); Док.УстановитьВремя(Часов,Минут,Секунд); Док.Записать(); Док.Провести(); // т.е. делается попытка на основании АВАНСОВОГО ДОКА выписать СЧФ на аванс. в книге продаж авнсовым доком считается док, где есть движение с реквизитом "аванс" - таковым является корректировка долга со знаком "плюс" - такая попытка не увечается успехом, так как при попытке ввести счф на аванс на основании этой корректировки долга делается проверка - можно ди выписывать счф на аванс на основании "ДокОснования"? // Результат = ЗаполнениеПоДокументуОснованию(); Если ПустоеЗначение(Результат) = 0 Тогда Сообщить(Результат); СтатусВозврата(0); КонецЕсли; // что нам и выдоет в результате? > По документу Корректировка долга СТ00000002 (04.03.06) нет движений по предварительный платежам! кстати, авансом считается "аванс" со знаком "минус" (такое движение по корректировке долга отсутсвует: // Если СФНаАванс = 1 Тогда // надо заполнить т.ч. СуммаАванса = 0; УдалитьСтроки(); РегПокупатели = СоздатьОбъект("Регистр.Покупатели"); РегПокупатели.ВыбратьДвиженияДокумента(ДокОснование); Пока РегПокупатели.ПолучитьДвижение() = 1 Цикл Если (РегПокупатели.Расход = 1) и (РегПокупатели.ВидДолга = глВД.Аванс) Тогда СуммаАванса = СуммаАванса + РегПокупатели.СуммаРуб - РегПокупатели.СуммаНП; КонецЕсли; КонецЦикла; Если СуммаАванса = 0 Тогда Возврат ("По документу " + ДокОснование + " нет движений по " + ?(ДокОснование.ДатаДок >= глНачало2006года, "предварительный платежам!", "полученным авансам!")); КонецЕсли; .. соответственно в ДокТест возвращается не счф авансовая, а пустое значение, где и ломается: Док = СоздатьОбъект("Документ." + ДокТест.Вид()); {Документ.КнигаПродаж.Форма.Модуль(279)}: Значение не представляет агрегатный объект (Вид) |
|||
8
Чучундер
04.03.06
✎
21:09
|
Оперативно полечив данный конкретный трабл, строим книгу продаж и книгу покупок, имеем то, что собственно и ожидалось:
в книге продаж - счф на аванс 3000 руб. в книге покупок - зачет аванса на 2000 руб. итого: наши милые программеры из 1С дарят государству от нашего имени (исподтишка) 1000 рублей аванса, которые по существующим алгоритмам возникают, но никогда не будут выставлены к возмещению. Вуаля. Прям как впесне Жуков: 2все, пипец, я теперь властелин колец!" Кстати, а может это заговор? // ЗЫ. Как ОПЕРАТИВНО полечить крэш формирования книги продаж в ДАННОМ КОНКРЕТНОМ СЛУЧАЕ: надо написать так (примерно 273 строка в модуле формы): // Если ДатаСчетов = 1 Тогда // выписываем на дату аванса ОткрытьФорму("Документ.СчетФактураВыданный",Парам,ТабАвансов.ДокАванса); //проверка записи счета - фактуры ДокТест = ""; ДокТест = глНайтиСчетФактуру(ТабАвансов.ДокАванса,"СчетФактураВыданный", 0); Если ПустоеЗначение(ДокТест)=0 Тогда //ДОБАВЛЯЕМ УСЛОВИЕ НА ПРОВЕРКУ ТОГО ЧТО СЧФ ЗАПИСАЛАСЬ Док = СоздатьОбъект("Документ." + ДокТест.Вид()); Док.НайтиДокумент(ДокТест); Док.УстановитьВремя(Часов,Минут,Секунд); Док.Записать(); Док.Провести(); КонецЕсли; //КОНЕЦ ДОБАВЛЕННОГО УСЛОВИЯ // на самом деле "лечить"надо процедуру глДвижениеДолгов, если у кого будут соображения - подискутирую/пообщаюсь с удовольствием. |
|||
9
pit
04.03.06
✎
22:49
|
Серьезное обвинение. Если это так - тогда ....
. P.S. стучу по дереву... У наших клиентов нет ТиС - все решено на бухии... |
|||
10
Чучундер
04.03.06
✎
23:07
|
А че тут "если это так.." - воспроизводится на любой 9.2 в пять минут...
достаточно просто по Договор001 сделать реализацию и перевести ее на Договор002 - дальше как описано... Было немного усложнено с целью более полноценной эмуляции реальных действий... // с корректировками вообще траблы... есть еще некоторые ситуевины... я на бухии не стал делать потому как оценил и получилось что количество доработок в бухии будет для меня очень много - "дешевле" чуть-чуть подкрутить типовую ТиС было... |
|||
11
Zam
05.03.06
✎
10:14
|
Сталкивался, к сожалению, решение этого было отложено в свете других задач. Вообще с точки зрения програмирования задача решаемая, мне больше интересно с точки зрения закона. По идее увеличение долга покупателя почти на пустом месте не очень хорошо. Конечно, я понимаю что основание может служить письмо о переброске суммы по договорам, тройственный взаимозачет, бух. справка и прочие прелести. Кроме того, со временем стало понятно, что без Корректировки долга реально не обойтись :(
|
|||
12
USSR
05.03.06
✎
13:05
|
Мне леньчитать такой объем, но еще раз: корректировкой ты закрыл товарный долг (ЗАКРЫЛ!!!!) и формально (может таки нельзя) отрыл новый. По этому договорц был 0, и вдруг долг. За что???? 1С ставит аванс, не поставит же она услуги, товары, ты их закрыл первой корректировкой, про н ее вотрая и нне знает, вот если бы был акт взаимозачета, и новый долг остался бы товарным долгом. А дальше уже писал, формально - жто долг по авансу, не знаю что тут не понять
|
|||
13
Чучундер
05.03.06
✎
13:17
|
(12) Правильно, согласен. Про то и речь идет.
> бы был акт взаимозачета, и новый долг остался бы товарным долгом Ответь: как такой акт взаимозачета отразить в типовой 1С-ке, чтоб он остался товарным долгом? В этом как раз весь вопрос - уменя как раз такая ситуация. Почитай, не ленись ;-) Ключевое: // > по документу "корректировка долга" (который увеличивает долг клиента по Договор002 с видом движения "аванс") - никакого аванса на самом деле нет, что и подтверждает попытка на основании этой корректировки выписать авансовую счф (которая выписывается только "авансу" со знаком "минус", а в корректировке - "аванс" со знаком "плюс") - такая попытка завершается совершенно справедливо выдачей сообщения типа "движения по авансам по данному доку не обнаружены" // Я полностью согласен, что корректировка не знает, за что ставить долг на Договор002 - вот и бабахает, что осталось "непогашенным" (а по алгоритму получается в этом случае реквизит = "аванс", тока это не аванс, потому что увеличивает долг клиента, а вот за что...? тут и непонятно... по хорошему надо было бы написать "за корректировку", или дать возможность в корректировке указывать (за услуги/товар) и тогда все было бы ОК. |
|||
14
Zam
05.03.06
✎
13:30
|
(13) Можно добавить реквизит "Вид долга" (у меня так сделано) и при вводе корректировки указывать жестко вид долга. Но, во-первых, нужно программно давать доступ к этому реквизиту при опеределенных ситуациях. У меня получилось, что когда по 1 договору списывалась задолженность и ничего указывать в реквизите "Вид долга" не нужно было, бухгалтера указали и документ сформировал не правильные движения. Во-вторых, очень не ясна правовая позиция... Первичного документа по идее нет, а мы долг вляпяли... Как я уже писал выше, понимаю что есть разные варианты, но на практике, за такие дела точно по рукам не дадут?
|
|||
15
Чучундер
05.03.06
✎
14:00
|
(14) у меня мысль примерно к этому же направлению идет.
Что значит "первичного документа нет?" - с двух сторон подписанный главбухами документ о закрытии договора и зачете остатка по первому на договор новый. Может тут есть юридические тонкости, но я имхо криминала в этом не вижу. |
|||
16
nicxxx
05.03.06
✎
14:48
|
а может быть туда поставить "Прочее" в качестве вида долга? завтра попробую
|
|||
17
Чучундер
05.03.06
✎
14:56
|
Надо в глДвижениеДолгов лезть, курочить в районе где-то...
Если ПогашенАванс = 1 Тогда // авансом погашенные суммы. их следует прибавить к основному движению // по отгрузке АвансСумма = АвансСумма + СписСумма; АвансСуммаУпр = АвансСуммаУпр + СписСуммаУпр; АвансСуммаРуб = АвансСуммаРуб + СписСуммаРуб; АвансСуммаНДС = АвансСуммаНДС + СписСуммаНДС; АвансСуммаНП = АвансСуммаНП + СписСуммаНП; Если РегистрУчета = "Покупатели" Тогда АвансСебестоимость = АвансСебестоимость + СписСебестоимость; КонецЕсли; КонецЕсли; КонецЦикла; // по строкам таблицы итогов И еще прописать реквизит не "аванс" - при жтом остальную логику погашения/опредленеия авансов не задеть.. кто наваяет - просьба озвучить... // Второй проход Если (ВторойПроход = 1) и (ОстПогСумма <> 0) Тогда |
|||
18
USSR
05.03.06
✎
18:53
|
а может не морочит голову, с одного договора списать товарный долг корректировкой, а на втором договоре забыть про корректировку и открыть долг документом "ВводНачальныхОстатковПоПокупателю", там и вид долга есть, и это правильнее будет и проблемы решит.
|
|||
19
Гена
05.03.06
✎
19:52
|
дурак
|
|||
20
Чучундер
05.03.06
✎
19:54
|
Ага! Да, действительно, можно и так (вот ведь блин шоры на глазах) - сэньки.
Но это пойдет только в том случае, если по Договор002 нулевой баланс (вроде есть траблы если баланс не нулевой, а делаешь ввод остатков по покупателю - раньше помню такое что-то было, а ща - надо посмотреть, ужо не помню). И это не решает аналогичную ситуацию при переброске суммы с договора на договор среди года, если например отдельно договор по конфетам, отдельно - по печенюшкам... |
|||
21
Чучундер
05.03.06
✎
19:58
|
(19) Вот ведь емкий язык!
Это кому адресовано? Юсесе или мне? |
|||
22
Гена
05.03.06
✎
20:13
|
пришли к кпредседателю клуба пофигистов
- а это? - по фигу - а это? - по фигу - а это? - по фигу -------------------- а деньги? деньги не по фигу... мне по-фигу, что Вы удивлены, что деньги мне не по фигупришли к кпредседателю клуба пофигистов - а это? - по фигу - а это? - по фигу - а это? - по фигу -------------------- а деньги? деньги не по фигу... мне по-фигу, что Вы удивлены, что деньги мне не по фигупришли к кпредседателю клуба пофигистов - а это? - по фигу - а это? - по фигу - а это? - по фигу -------------------- а деньги? деньги не по фигу... мне по-фигу, что Вы удивлены, что деньги мне не по фигупришли к кпредседателю клуба пофигистов - а это? - по фигу - а это? - по фигу - а это? - по фигу -------------------- а деньги? деньги не по фигу... мне по-фигу, что Вы удивлены, что деньги мне не по фигу |
|||
23
Чучундер
05.03.06
✎
20:14
|
Тема пофигизма в корректировке долга осталась нераскрытой!
|
|||
24
nicxxx
06.03.06
✎
02:00
|
Гена, раз уж начал, так продолжай, расскажи свое видение данной проблемы, пожалуйста.
|
|||
25
Чучундер
06.03.06
✎
02:42
|
Я заметил - Гену по выходным штырит не по детски...
|
|||
26
nicxxx
06.03.06
✎
03:04
|
наверное, пьян.
Расследуем далее. в шаблонах проводок смотрим: Хозяйственная операция - "Корректировка долга" Движения регистров - в группе "Увеличение долга покупателя" смотрим проводки элемента с видом долга "Аванс" Видим проводку - Аванс Дт62,2 Кт"Счет" Далее пробуем выгрузить проводки в бухию, предварительно сформировав книги покупок и продаж. После выгрузки в оборотке имеем: Счет Дебет Кредит 62.2 3000 3000 76.АВ 457.63 305.09 т.е. начислили НДС с суммы аванса 3000, а зачли его с суммы аванса 2000 |
|||
27
nicxxx
06.03.06
✎
03:09
|
как вариант обхода этой баги, можно грохнуть шаблон проводки, тогда суммы НДС на 76.АВ будет соответствовать суммам оборотов по 62.2
|
|||
28
nicxxx
06.03.06
✎
03:38
|
+(27) кажется херную сказал, не обращайте внимания :)
|
|||
29
Чучундер
06.03.06
✎
03:46
|
(26) > т.е. начислили НДС с суммы аванса 3000, а зачли его с суммы аванса 2000
это я еще в (8) посте сказал - это было ясно... шаблон проводки грохать низя -остальное как будет выгружаться..? надо в корректировке долга реквизит писать не аванс, а в самом деле "прочее", как в (16) ты сказал - тогда сразу все везде станет шоколадно... |
|||
30
Чучундер
06.03.06
✎
04:03
|
Ща как Юсэса предложил пробую - долг покупателя по Договор002 увеличиваю вводом остатков покупателя, навскидку глянкл - все должно получится ок.
|
|||
31
Чучундер
06.03.06
✎
04:34
|
Можно делать Ввод остатков покупателя, но с оговоркой.
По взаиморасчетам - все ложится шоколадно, в т.ч. по книгам покупок/продаж, кроме того, что ввод остатков шарашит проводку на 62.1 в корреспонденции с 00. Поэтому, до исправления ситуевины в СЛУЧАЕ, КОГДА НА ДОГОВОР002 БАЛАНС НУЛЕВОЙ ИЛИ В ПОЛЬЗУ ФИРМЫ - юзаем док "ввод остатков покупателя", указываем все нуджные реквизиты - вид долга и пр. После выгрузки в бухию смотрим обороты по 00 и отсторнирувываем их. |
|||
32
Чучундер
06.03.06
✎
04:38
|
Конечно, чтоб все было шоколадно и в единой схеме - надо править глДвижение Долгов...
(26) Дт62.2 КтСчет - это проводка по зачету аванса (т.е. по движению регитсра "покупатели" со знаком "плюс" - что к нашему вопросу не имеет отношения... |
|||
33
USSR
06.03.06
✎
05:54
|
(32)Лучше штатно не сделать. Смастери "Взаимозачет" из корректировки долга, первая закладка из нее, а во второй счет выкинешь. Движение по первому логовору оставляешь, а по второму приходное- пишешь сам, оно простое, и вид долга как у списываемого.
|
|||
34
nicxxx
06.03.06
✎
08:17
|
(33) я последние пару часов как раз об этом и думаю, что нужно доделать док Корректировка, добавить туда еще контрагента и договор и дописать движения по взаиморасчетам с нужным видом долга
непонятно одно, почему эта "фича" до сих пор жива, это же надо думать длится с редакции 9.0 ? |
|||
35
ANik
06.03.06
✎
09:54
|
(34) Сначала не заметили, потом было не до того, а теперь в 7.7 исправлять косяки просто невыгодно - надо всех подталкивать к 8.0.
У себя доработал корректировку долга до взаимозачета. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |