Установить время документа #805362


#0 by treor
Добрый вечер! Стоит следующая задача: установить время первого создаваемого документа на некоторую дату в начало дня, а каждому последующему документу присваивать время на секунду больше Пробую сделать это следующим образом: Но в запросе некорректно отрабатывает секция ГДЕ: запрос при наличии документов на указанную дату ничего не возвращает(((
#1 by treor
Будет ли в этом случае как-нибудь влиять настройка формы АвтоВремя?
#2 by treor
Методом проб и ошибок пришла к тому, что код нужно переместить в процедуру ПриЗаписи
#3 by youalex
не вникал, но ПередЗаписью - было бы логичнее.
#4 by treor
если ПередЗаписью,то программа после выполнения процедуры автоматически выставляет время документа
#5 by youalex
А в ПриЗаписи - запись объекта в БД уже состоялась. Но еще есть ДокументОбъект.УстановитьВремя .  Сам не пользовал, но, сдается, где-то рядом по смыслу.
#6 by youalex
+ ну и тут еще опер. проведение может вклиниваться, можно поэкспериментировать с вышеупомянутым методом в разных режимах проведения.
#7 by treor
Обязательно попробую. Но мне нужна подсказка почему область ГДЕ в запросе не работает
#8 by VS-1976
Попробуй так: ЗП_НачислениеОтпуска.Дата МЕЖДУ &ДатаНачалоДня И КОНЕЦПЕРИОДА( &ДатаНачалоДня, День ) И проверь передаётся ли у тебя дата
#9 by rudnitskij
может потому, что условие ГДЕ выполняется при чтении данных из таблицы, без вычисления всяких функций? Для условия "ГДЕ ЗП_НачислениеОтпуска.Дата..." - любые условия выполняться будут, а для "ГДЕ НАЧАЛОПЕРИОДА(ЗП_НачислениеОтпуска.Дата..." - не выполняются, что вы уже установили опытным путем
#10 by treor
Уважаемые, форумчане, спасибо ОГРОМНОЕ за помощь!!! Изначально приведенный код рабочий!!! Просто некоторым, не постесняюсь этого слова, ЛОШАРАМ тестировать надо на тех документах, к которым делаешь запрос!))) Приведу измененный код:
#11 by breezee
Странная задача. Я не стал бы так делать. Добавил бы еще один реквизит. Как потом понять, когда создан документ? Как потом объяснить пользователю, почему у него время не так работает, как обычно? Есть шанс потерять доверие юзера к системе
#12 by treor
Это как раз для пользователей и делается). Если в двух словах:в документах Пользователя1  обрабатываются данные из документов, доступа к которым у него нет. Для корректной работы нужно, чтобы эти документы были проведенны до начала рабочего дня. Пользователь2 (бухгалтер)проводит их в рабочее время не парясь о времени документа (т.е. программа выставляет автоматически). На просьбу проводить документы со временем до начала рабочего дня отвечает: "Кому надо, тот пусть и меняет" Здесь документ "Отуска" взят просто для проработки алгоритма. Алгоритм будет внедрен, только с ведома и согласия всех сторон)
#13 by rudnitskij
и все же советую условие переписать как в , запрос по вашей модели выполняется дольше. За счет вычисления начала периода
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С