Задача: для некоторых доков, которые вводятся задним числом, нужно при проведении установить конкретное время на эту дату. Если документы проводятся оперативно - проблем нет. Пробовал так:
// =============================== Процедура ОбработкаПроведения() если ДатаДок <> ТекущаяДата() тогда док = создатьОбъект("Документ"); если док.найтиДокумент(ТекущийДокумент())=1 тогда док.УстановитьВремя(05,55,0);
конецесли; конецесли; ....
не работает - устанавливается время на минуту больше после последнего док-та в этот день (стандартное поведение платформы). Можно ли изменить такое поведение платформы?
[додано пізніше]
Цитата(mister-x @ 10.10.12, 12:57)
стандартное поведение платформы
або ні, може я туплю
Сообщение отредактировал mister-x - 10.10.12, 12:16
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
1) пере-позиционирование (изменение даты и/или времени) проведенного документа - невозможно (и это - правильно). 2) в обработке проведения ТекущийДокумент() всегда(!!!!) Выбран()=1 (и всегда .НайтиДокумент(ТекущийДокумент())=1). 3) манипуляции со временм/датой документа нужно выполнять до записи документа - сиречь, как правило, в предопределенной процедуре ПриЗаписи() модуля формы документа. 4) если документ новый, в модуле формы возможно манипулирование его временем с помощью методов "АвтоВремяХхххх" 5) кроме того, некоторые параметры позиционирования при записи/проведении документов регулируются с помощью настроек в режиме предприятия.
3) манипуляции со временм/датой документа нужно выполнять до записи документа - сиречь, как правило, в предопределенной процедуре ПриЗаписи() модуля формы документа.
вже взнав, задача вирішена
Сообщение отредактировал mister-x - 10.10.12, 13:53
2) я до сего момента наивно предполагал, что правила хорошего тона на ресурсах, посвященных любым проблемам и способам их решения, предполагают неявное обязательство автора вопроса (выделяемого в топик или даже ветвь обсуждения) опубликовать способ решения проблемы
Цитата(Vofka @ 10.10.12, 14:56)
Вот только ответ Cthulhu, в отличии от вашего ответа, доносит эту информацию до всех, кто будет читать эту тему.
я рішення опублікував всім ЗІ. окреме дякую Cthulhu за детальну відповідь для всіх
1) пере-позиционирование (изменение даты и/или времени) проведенного документа - невозможно (и это - правильно).
Смотря в каком контексте это рассматривать. Если имеется ввиду просто перетаскивание документов на оси времени, перезапись атрибутов времени, тогда это однозначно правильно. А если это рассматривать, как непросто перепозиционирование, а оперативное перемещение, тоесть перепроведение(Отмена проведения + Проведение) с новыми атрибутами времени. Это можно использовать, в обработке, напрмер по переносу ПН в начало дня, а РН в конец. Что некоторые из моих клиентов уже давно постоянно используют, и именно из-за невозможности оперативно вносить информацию.
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
Цитата(mister-x @ 11.10.12, 11:49)
поправив для випадку, коли відміняємо проведення документу, змінюємо щось в ньому і проводимо ще раз
Вместо включения в попытку (которое само по себе тормозное, и скорее предназначено для "аварийно-устойчивости" в не отлаженном коде) - можно проверять на "Выбран()". Навскидку и например (а может и с синтаксическими ошибками):
Процедура ПриЗаписи() Если Выбран()<>1 Тогда АвтоВремяОтключить(); УстановитьВремя(05,55,0); ИначеЕсли ПолучитьВремя()<>"05:55:00" Тогда тТхт="Время документа """+ТекущийДокумент()+""" = "+ПолучитьВремя()+" >>> АВТО-УСТАНОВка времени на 05:55:00 НЕ ВЫПОЛНена!.."; Сообщить(тТхт,"!!"); Предупреждение(тТхт,12); КонецЕсли; ...
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
Цитата(mister-x @ 11.10.12, 12:58)
обгрунтуйте
вместо этого требования - вполне могли бы и самостоятельно протестировать скорость выполнения одного и того же кода в попытке и без неё (и с .Выбран() для полноты эксперимента, например). неужто не знаете функции _GetPerformanceCounter() или не знаете, как в конфигураторе замер производительности делать???
Цитата(mister-x @ 11.10.12, 12:58)
в якому плані - в плані раціональності програмування чи по замірах часу метод Выбран() працює швидше ніж Попытка?
в обох
Сообщение отредактировал Cthulhu - 11.10.12, 15:54
вполне могли бы и самостоятельно протестировать скорость выполнения одного и того же кода в попытке и без неё (и с .Выбран() для полноты эксперимента, например). неужто не знаете функции _GetPerformanceCounter() или не знаете, как в конфигураторе замер производительности делать???
ось ви це робили, можна і одразу сказати
Цитата(Cthulhu @ 11.10.12, 16:53)
в обох
і добавити
Цитата
щоб переконатися, можете, протестувати самі
а не починати тут філософію, протестуйте-зробіть
ЗІ. для моєї задачі і мій варіант підходить; в 7.7 я вже не хочу глибоко копатись, так як перехожу на 8.х
Сообщение отредактировал mister-x - 11.10.12, 16:50
Группа: Основатель
Сообщений: 13983
Из: Киев
Спасибо сказали: 4553 раз
Рейтинг: 3682.7
Цитата(mister-x @ 11.10.12, 17:43)
ось ви це робили, можна і одразу сказати а не починати тут філософію, протестуйте-зробіть
Я выступлю на стороне Ктулху: я с ним полностью согласен, что можно было самому померять за 5 минут, а не ждать несколько часов, пока это кто-то другой сделает, тем более там много ума не надо. Если не знаете (не знали) как сделать - так и скажите.
Цитата(mister-x @ 11.10.12, 17:43)
для моєї задачі і мій варіант підходить; в 7.7 я вже не хочу глибоко копатись, так як перехожу на 8.х
Я выступлю на стороне Ктулху: я с ним полностью согласен, что можно было самому померять за 5 минут, а не ждать несколько часов, пока это кто-то другой сделает, тем более там много ума не надо. Если не знаете (не знали) как сделать - так и скажите.
мені достатньо було відповіді
Цитата(Cthulhu @ 11.10.12, 16:53)
в обох
всім дякую, тема закрита
Сообщение отредактировал mister-x - 11.10.12, 19:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!