1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
1 | |
Давайте поборемся со временем док-та15.09.2010, 01:00. Показов 11400. Ответов 4
Метки нет (Все метки)
Вот сколько работаю, а жля меня время документа - какой-то зверь неукротимый.
Реализую принцип: каждому виду документа принудительно свое время. Приходным в 9.00 Расходным к 17.00 и т.д. Для чего пишу: Код ( (Unknown Language)): Процедура ВводНового(Копирование) УстановитьВремя(17, 00, 00); Процедура ПриОткрытии() АвтоВремяОтключить(); Все работает. Почти работает. Непонятность поведения вот в чем: 1) первый док дня ложится как надо (17.00). А вот следующий этого вида прибавляет по 1 минутке. Ну, это не плохо, Но почему ОНА так игнорирует команду? 2) и вот юзер вносит док, приписываемый к 9.00. Если дата у него вчерашняя и ранее - ложится нормально. А сегодняшний выдает жуткое 1С-кое окно: "Время док-та меньше ТА". Варианты: 1-провести задним числом, 2-изменить время. Меня бы устроил первый, но активным установлен второй (точечка на нем). Пользователь пошевелил губами, ничего не понял и нажал Enter. Док-т изменил время и лег в конец дня. Опять Ignore. 3) третий зверь самый страшный. Это когда 1С пишет: "Существуют более ранние проведенные документы" (по памяти). Тут - все. Экспериментально лечится только одним - док закрыть, войти монопольно, сдвинуть ТА на 1-2 дня вперед. 4) ну, напоследок, умиляет меня сообщение у пользователей по утрам: "ТА будет перенесена на новую дату". Я за долгие годы наконец придумал для них объяснение: "Это самый первый документ на сегодня. Она всегда так говорит." Я, вроде, все закоулки программы знаю. Но вдруг у кого есть рецепт, как эти дурацкие вопросы обойти, как железно добиться нужного времени на документе? Замечу напоследок: - что за многие годы не установил никакого влияния галочек в "Сервис/Параметры/Оперативный учет" равно как и не могу признаться в их ясном понимании. - до написания темы осмотрел форум и видел рекомендации устанавливать время ПриЗаписи(). Не помню почему, молодым экспериментировал, но не фурычит. - это я писал про док-ты, создаваемые руками. А нашел в своей программе вот такую ерунду при создании док-та программно: Код ( (Unknown Language)): ДокС.Новый(); ДокС.ДатаДок = МояДата; ДокС.Записать(); // 1 ДокС.УстановитьВремя(11,00,00); ДокС.Записать(); // 2 Помню, долго терзал эти строки, но раз так оставил, значит это единственный вариант, дающий результат.
0
|
15.09.2010, 01:00 | |
Ответы с готовыми решениями:
4
Как получить разницу между текущем временем и временем создания файла? Вычислить промежуток времени между текущей датой/временем и временем, введенным пользователем Определить интервал между текущим временем и временем до звонка А давайте сыграем? |
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
|
15.09.2010, 09:56 | 2 |
Сообщение от Дайнеко
Сообщение от Дайнеко
0
|
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
|
|
15.09.2010, 10:03 | 3 |
1)Ну раз первый док ложится как надо, для остальных можно попробовать СформироватьПозициюДокумента(). Насчет минуты - не знаю, по хорошему должны быть секунды.
2)Периодичность итогов день? Их реально так много? может месяца хватит? 3) Каждый час ночи пакетно и монопольно запускается 1с и сдвигает ТА на денек (или на дату последнего документа +1).Или УстановитьТАПо(). У меня таких проблем нет - так как периодичность итогов месяц. Только по первым числам. 4)См пункт 3 up.Что то не видно в помошнике как документу позицию присвоить, получить можно - присвоить неа.
0
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
15.09.2010, 12:48 | 4 |
Сообщение от puh14
0
|
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
16.09.2010, 02:57 | 5 |
Сообщение от Hryv
Сообщение от puh14
Сообщение от puh14
Сообщение от puh14
Но вы же понимаете - время проведения чуть уменьшится. Ну, спасибо за соображения.
0
|
16.09.2010, 02:57 | |
16.09.2010, 02:57 | |
Помогаю со студенческими работами здесь
5
Давайте поищем Давайте сыграем Давайте пофантазируем А давайте повспоминаем! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |