Время документа

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. areavel 19.02.14 15:30 Сейчас в теме
Здравствуйте. Вопрос: создаю любой документ, выбираю прошедшую дату, затем записываю документ, при этом время меняется на (время любого последнего + 1 секунда); проблема в том что бухгалтерам нужно заносить приход задним числом, поэтому иногда выходит что приход позже расхода; кто сталкивался подскажите как с этим боролись.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
16. GPetr 21 20.02.14 11:51 Сейчас в теме
(1) areavel, сталкивались с такой проблемой.
вариант 1 - перед закрытием месяца использовать групповую обработку (стандартная). При помощи её поменять время прихода на 8:00:00, время расхода на 17:00:00.
вариант 2 - Подписка на события (Например, ПередЗаписью..), проверять время и присваевать нужное.
хотя тут могут быть и нюансы.
вариант 3 - ручками..
2. Release 19.02.14 15:32 Сейчас в теме
Небось, в конфигурации задано проводить только оперативно.
3. areavel 19.02.14 15:50 Сейчас в теме
(2) Release, в данном документе оперативное проведение запрещено
4. Bukaska 140 19.02.14 16:04 Сейчас в теме
(3) areavel, А неоперативное проведение разрешено или запрещено?
5. areavel 19.02.14 16:06 Сейчас в теме
(4) Bukaska, Проведение - разрешить
Оперативное проведение - запретить
6. Mafoni 20.02.14 02:20 Сейчас в теме
а в код посмотреть и понять чего так происходит не вариант ??? наверное же есть тому причина ?
7. areavel 20.02.14 10:45 Сейчас в теме
(6) Mafoni, подскажи тогда в каком месте смотреть код, если знаешь. ПередЗаписью() - процедуры нет, ПриЗаписи() - кода про дату или время нет.
8. Salavat 14 20.02.14 10:58 Сейчас в теме
(7) areavel, нужно смотреть эти процедуры и в форме и в модуле объекта.

для формы ещё - ПередЗакрытием() можно глянуть.
9. Release 20.02.14 10:59 Сейчас в теме
(7) areavel, ищи в модуле объекта по слову "оперативный". Или в подписках. Вообще-то не совсем понятно, это у одного вида документа или у всех. И конфа какая?
12. areavel 20.02.14 11:37 Сейчас в теме
(9) Release, конфа Бух 8.2 (8.2.17.169). Подписок нет. Для всех документов срабатывает одинаково.В модуле объекта тоже ничего.
10. Salavat 14 20.02.14 10:59 Сейчас в теме
(7) areavel, просто в отладчике добавить переменную. этотобъект.Дата и смотреть на его изменения.
11. areavel 20.02.14 11:34 Сейчас в теме
(10) Salavat, я описал как меняется объект дата. Вопрос в том как это разрешить.
14. Salavat 14 20.02.14 11:45 Сейчас в теме
(11) areavel, так и я тоже описал - посмотреть в отладчике - почему она меняется и решить, что делать.

у меня вопрос - за вчерашнюю дату она берёт все доки и... прибавляет к последнему 1 сек?
а если последний док (за ту веддь дату, я правильно понял?) - последний док с временем 23:59. как изменится оно?

в отладчике посмотреть нужно. возможно оно там и много, а возможно и нет.
15. Release 20.02.14 11:51 Сейчас в теме
(14) Salavat, с 99% вероятностью останется 23:59, для таких случаев в дату включены миллисекунды, которые на форме обычно не отображаются.
17. Salavat 14 20.02.14 12:29 Сейчас в теме
(15) Release, т.е. есть исходный док 23:59:00, допустим и мы прибавляем 1 сек, получаем всё-равно 23:59:хх (сколько уж милисекунд я вообще не знаю, получается).

или как?
18. Release 20.02.14 12:52 Сейчас в теме
(17) Salavat, не совсем, я вначале немного недопонял вопрос: если последнее время 23:59:00, то установит 23:59:01, а если 23:59:59, то визуально время не измениться, но "внутри" запишет 23:59:59:001, потом 23:59:59:002 и т.д.
19. Salavat 14 20.02.14 13:04 Сейчас в теме
(18) Release, так я и спрашиваю (изобразил правда неверно - поэтому и ответ получил не тот).

был док со временем 23:59:59:000 (допустим, для больших милисекунд ещё хуже здесь)
мы прибавляем 1 сек и получаем - 23:59:59:ххх.
что мы получаем?
если снова 23:59:59:ууу (но ххх<ууу - мы же всёже прибавляли 1 сек, поэтому ууу никак не м.б. меньше 000, для данного случая, ну и по идее оно должно быть из следующей секунды)
20. Release 20.02.14 13:17 Сейчас в теме
(19) Salavat, секунда прибавляется, если время не упирается в ограничение суток, в противном случае прибавляется миллисекунда. Также как и в случае, когда время устанавливается вручную, а документ с таким временем и датой существует.
С 8-й версии добавили еще какой-то(точно уже не помню какой) дополнительный механизм учета временной последовательности, чтобы снять ограничение на 1000 документов с одним временем, в отличие от 7-ки.
21. Salavat 14 20.02.14 13:23 Сейчас в теме
(20) Release, Механизм называется МоментВремени()

а вот насчёт того, что мы задаём прибавить одну секунду, а 1С прибавляет меньше секунды (ну я так понял из текста) - хотелось бы знать что это?

можно ссылкой посмотреть?
22. Release 20.02.14 13:31 Сейчас в теме
(21) Salavat,
Механизм называется МоментВремени()

Это понятно, я имел ввиду логическую/физическую реализацию, так же как с прибавлением миллисекунд.
мы задаём прибавить одну секунду, а 1С прибавляет меньше секунды

Я такого никогда не утверждал, я писал только об оперативном проведении, где дата/время документа устанавливается автоматически. Ручная интерактивная установка времени приводит, к тому, что я описывал выше, а неинтерактивная реализуется только через момент времени.
23. Salavat 14 20.02.14 13:38 Сейчас в теме
(22) Release,
Я такого никогда не утверждал,

значит я невнимательно читал. поэтому и спрашивал как так - нужно прибавить секунду, а прибавляет меньше.

яж спрашивал про ситуацию с исходным временем 23:59:59.
24. Release 20.02.14 13:54 Сейчас в теме
(23) Salavat,
у меня вопрос - за вчерашнюю дату она берёт все доки и... прибавляет к последнему 1 сек?
а если последний док (за ту веддь дату, я правильно понял?) - последний док с временем 23:59. как изменится оно?

отсюда я понял, что Она - это платформа, которая и устанавливает время при оперативном проведении, о ручном неинтерактивном изменении времени речь вроде бы не шла.
13. kanalya 109 20.02.14 11:41 Сейчас в теме
Это где-то в коде прописано. Если в модуле ничего такого нет - возможно в подписках на событие. Включайте отладчик и пошагово следите за значением даты.
25. Release 20.02.14 14:00 Сейчас в теме
Если в коде прописать НоваяДата = Дата('20140220235959') + 1; то дата станет 20140221000000
26. Salavat 14 20.02.14 14:06 Сейчас в теме
(25) Release, поэтому я и спрашивал - какая дата получается если нам нужно тоже самое число (на 1 сек больше исходного), а время (исходное) 23-59-59.

Спрашивал я кстати Топикстартера.
27. Release 20.02.14 15:10 Сейчас в теме
(26) Salavat, если условие задачи некорректное, результат может быть каким угодно.
Спрашивал я кстати Топикстартера.

Ну, что же, извиняюсь, что "влез в не свое дело". :)
28. Salavat 14 20.02.14 15:17 Сейчас в теме
(27) Release, да я сам тоже не понял было.
29. areavel 20.02.14 15:22 Сейчас в теме
Всем спасибо за ответы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот