дата документа БОЛЬШЕ даты проводки
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Может ли быть дата платежного документа БОЛЬШЕ даты проводки? |
Да |
|
27% |
[ 5 ] |
Нет |
|
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. |
Ну что же, рад за вас  |
|
 |
timochev Эксперт
Вступление в Клуб: 02.07.2007
|
Пн Янв 23, 2012 16:19   |
|
Полезность: Нет оценки
|
Random пишет: | Чек-констрейнт не проверяет уже существующие данные, это не уник-констрейнт. Он проверяет только вновь добавляемые/изменяемые данные. Для тех, кто заботится о соблюдении правил - незаменимая вещь. |
Спасибо, что просветили! Желаю дождаться жалующихся!
Лично я не хочу до пенсии ждать... |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Вт Янв 24, 2012 07:01   |
|
Полезность: Нет оценки
|
timochev пишет: | Random пишет: | Чек-констрейнт не проверяет уже существующие данные, это не уник-констрейнт. Он проверяет только вновь добавляемые/изменяемые данные. Для тех, кто заботится о соблюдении правил - незаменимая вещь. |
Спасибо, что просветили! Желаю дождаться жалующихся!
Лично я не хочу до пенсии ждать... |
Ну можно и не дождаться, конечно. Особенно, если бухгалтер, глядя на сообщение об ошибке, скажет, "ну вот, лазейку прикрыли, придётся всё делать по-правилам", и будет делать по правилам. |
|
 |
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 пишет: | Как у вас получается редактировать проводку без изменения даты документа? | Например, можно провести (или служебной - перепровести) документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня" 
Последний раз редактировалось: 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 пишет: | Например, можно провести документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня"  |
Не, я спрашивал Юрия именно про операцию "Редактировать проводку (служебная)", поскольку он ее упомянул...
На практике я вижу, что эта операция не позволяет сделать Дату документа > Даты проводки. |
|
 |
Every Участник со стажем
Вступление в Клуб: 28.12.2008
|
Вт Янв 24, 2012 17:15   |
|
Полезность: Нет оценки
|
timochev пишет: | Alex2019 пишет: | Например, можно провести документ вчерашним днем, а потом редактированием неплатежных реквизитов поменять дату на "сегодня"  |
Не, я спрашивал Юрия именно про операцию "Редактировать проводку (служебная)", поскольку он ее упомянул...
На практике я вижу, что эта операция не позволяет сделать Дату документа > Даты проводки. |
Именно так как написал Alex2019, только правят уже по просьбе бухов специально обученные люди когда например требуется сделать "красивую" печать документа |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|