CftClub.ru
Клуб специалистов ЦФТ-Банк

дата документа БОЛЬШЕ даты проводки
На страницу Пред.  1, 2
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  

Может ли быть дата платежного документа БОЛЬШЕ даты проводки?
Да
27%
 27%  [ 5 ]
Нет
72%
 72%  [ 13 ]
Всего проголосовало : 18

Автор Сообщение
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПн Янв 23, 2012 08:01    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Random пишет:
Давайте локально сделаем чек-констрейнт на MAIN_DOCUM и посмотрим, сколько этот констрейнт проживёт и кто придёт жаловаться?

Зачем так сложно? Почему бы просто не проверить накопившуюся базу документов?
Код:
select count(*) from z#main_docum md
where md.state_id||'' = 'PROV' and trunc(md.c_date_doc) > trunc(md.c_date_prov)


Говорю ж, есть такие.

Чек-констрейнт не проверяет уже существующие данные, это не уник-констрейнт. Он проверяет только вновь добавляемые/изменяемые данные. Для тех, кто заботится о соблюдении правил - незаменимая вещь.
timochev пишет:

Для скорости я свою выборку ограничил 2011 годом. Результат = 0.


Ну что же, рад за вас Smile
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПн Янв 23, 2012 16:19    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
Чек-констрейнт не проверяет уже существующие данные, это не уник-констрейнт. Он проверяет только вновь добавляемые/изменяемые данные. Для тех, кто заботится о соблюдении правил - незаменимая вещь.

Спасибо, что просветили! Желаю дождаться жалующихся! Wink
Лично я не хочу до пенсии ждать...
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Янв 24, 2012 07:01    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Random пишет:
Чек-констрейнт не проверяет уже существующие данные, это не уник-констрейнт. Он проверяет только вновь добавляемые/изменяемые данные. Для тех, кто заботится о соблюдении правил - незаменимая вещь.

Спасибо, что просветили! Желаю дождаться жалующихся! Wink
Лично я не хочу до пенсии ждать...


Smile Ну можно и не дождаться, конечно. Особенно, если бухгалтер, глядя на сообщение об ошибке, скажет, "ну вот, лазейку прикрыли, придётся всё делать по-правилам", и будет делать по правилам.
Every
Участник со стажем


Вступление в Клуб: 28.12.2008
СообщениеВт Янв 24, 2012 10:15    Ответить с цитатой
Полезность: Нет оценки
прогнал описанный выше селект -
select count(*) from z#main_docum md
where md.state_id = 'PROV' and trunc(md.c_date_doc) > trunc(md.c_date_prov)

в результате десятки тысяч документов ... Если создано такое количество документов и нигде это не "выстрелило", значит ничего в этом страшного нет и оно имеет место быть
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 11:26    Ответить с цитатой
Полезность: Нет оценки
Every пишет:
в результате десятки тысяч документов ...

Отлично! Вы можете описать бухгалтерский смысл самого свежего документа? Какие виды документов? Как вашим пользователям удается проводить такие документы в ЦФТ?
У меня при попытке провести подобный мем.ордер дата документа автоматически сбрасывается на дату проводки.
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 12:33    Ответить с цитатой
Полезность: 2
timochev пишет:
У меня при попытке провести подобный мем.ордер дата документа автоматически сбрасывается на дату проводки.

Дмитрий, почему так происходит с м/о - понятно. Где-то в 4 кв. прошлого года в расширение MD_FOR_PROV добавлена точка вызова SYNCH_DATE_DOC, которая в зависимости от настройки SET_DATE_FOR_MEM_ORD для указанных там видов документов и выравнивает даты. А настройка, как понимаете, дело индивидуальное (кстати, это изменение сделано по нашей заявке, но у нас вызывается другая точка вызова - CHECK_DATE_DOC, которая предлагает сделать выбор пользователю).
Мне кажется, что дело не в реализации, а в принципе: как может быть проведен текущим днем документ, который будет создан "завтра". Так?
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 12:51    Ответить с цитатой
Полезность: Нет оценки
Александр, спасибо! О настройках не знал.
Alex2019 пишет:
Мне кажется, что дело не в реализации, а в принципе: как может быть проведен текущим днем документ, который будет создан "завтра". Так?
Да, так.
Every
Участник со стажем


Вступление в Клуб: 28.12.2008
СообщениеВт Янв 24, 2012 15:04    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Every пишет:
в результате десятки тысяч документов ...

Отлично! Вы можете описать бухгалтерский смысл самого свежего документа? Какие виды документов? Как вашим пользователям удается проводить такие документы в ЦФТ?
У меня при попытке провести подобный мем.ордер дата документа автоматически сбрасывается на дату проводки.


Нашёл самый свежий документ ,банковский ордер, проводка со счёта невыясненных сумм на счёт клиента. Примером может быть и овердрафт которым воспользовались вчера ночью, а узнали о движениях по счёту сегодня утром, документ породится сегодняшним числом, а проведут вчерашним. Провести документ предыдущим днём можно, но ограничено размером глубины архива, доступом к архиву и другими нюансами. Есть кстати штатная операция "Редактировать проводку (служебная)" позволяющая перепровести задним числом.
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 15:10    Ответить с цитатой
Полезность: Нет оценки
Every пишет:
документ породится сегодняшним числом, а проведут вчерашним.

Вы не путаете понятия "дата документа" и "дата создания документа"? Разумеется, работа в архивном дне - вынужденная норма жизни. Документ создаваемый для проводки задним числом и датирован должен быть соответственно
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 15:26    Ответить с цитатой
Полезность: Нет оценки
У меня настройка SET_DATE_FOR_MEM_ORD = Нет
Несмотря на это при выполнении операции "Редактировать проводку (служебная)" и уменьшении даты проводки на 1 день дата документа синхронно уменьшается на 1 день!
В операции SET_INSERT нашел вот такой код:
Код:
      if P#DATE_VAL > today then
         [ACC_OPER] := null;
         [DATE_VAL] := trunc(P#DATE_VAL);
      else--elsif P#DATE_VAL < today then
         [DATE_DOC] := least(nvl([DATE_DOC], today), nvl(trunc(P#DATE_VAL), today));
         if P_CHECK_INS_DAYS then
            [MAIN_DOCUM].[PROSUPPORT].[MAY_IN_PAST](P#DATE_VAL, this%Class, today, false, branch);
         end if;
         [ACC_OPER] := nvl(P#ACC_OPER, ::[ACC_OPER]([CODE ] = '40'));
         [DATE_VAL] := trunc(P#DATE_VAL) + (1-1/24/60/60); --Последняя секунда указаного дня
      end if;

Здесь можно увидеть, что при установке признака и даты вставки в прошлое (без учета SET_DATE_FOR_MEM_ORD !!!) дата документа принимает наименьшее значение.

Как у вас получается редактировать проводку без изменения даты документа?
Alex2019
Профи


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 15:35    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Как у вас получается редактировать проводку без изменения даты документа?
Например, можно провести (или служебной - перепровести) документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня" Smile

Последний раз редактировалось: Alex2019 (Вт Янв 24, 2012 15:41), всего редактировалось 1 раз
Every
Участник со стажем


Вступление в Клуб: 28.12.2008
СообщениеВт Янв 24, 2012 15:37    Ответить с цитатой
Полезность: Нет оценки
Alex2019 пишет:
Every пишет:
документ породится сегодняшним числом, а проведут вчерашним.

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


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


Вступление в Клуб: 02.07.2007
СообщениеВт Янв 24, 2012 15:38    Ответить с цитатой
Полезность: Нет оценки
Alex2019 пишет:
Например, можно провести документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня" Smile

Не, я спрашивал Юрия именно про операцию "Редактировать проводку (служебная)", поскольку он ее упомянул...
На практике я вижу, что эта операция не позволяет сделать Дату документа > Даты проводки.
Every
Участник со стажем


Вступление в Клуб: 28.12.2008
СообщениеВт Янв 24, 2012 17:15    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Alex2019 пишет:
Например, можно провести документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня" Smile

Не, я спрашивал Юрия именно про операцию "Редактировать проводку (служебная)", поскольку он ее упомянул...
На практике я вижу, что эта операция не позволяет сделать Дату документа > Даты проводки.


Именно так как написал Alex2019, только правят уже по просьбе бухов специально обученные люди когда например требуется сделать "красивую" печать документа
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах