Имя: Пароль:
1C
1C 7.7
v7: Точка актуальности
,
0 Insainer
 
10.12.13
09:35
Такая проблема: Есть функция в модуле проведения "Реализация" ПроводитьПослеТА(). Так вот, она не работает, то есть значение ставится "1" в отладчике, а на самом деле документ в конец не становится. Просто в учетt такое дело - документы реализации записываются и откладываются, потом проводятся новые, а старые после проведения должны попасть в конец списка. Раньше, говорят, все работало - теперь нет, в чем может быть проблема?
1 1Сергей
 
10.12.13
09:36
ТА улетела вперёд. Должна стоять на сегодняшний день
2 Insainer
 
10.12.13
09:39
А почему улетела, как сделать, чтобы она всегда ставилась на последнем проведенном документе?
3 1Сергей
 
10.12.13
09:42
(2)
1. Запретить менять Дату на компьютерах
2. В модуле проведения каждого документа добавить запрет на проведение будущим числом. (У меня даже проверка времени была)
3. Запретить пользователям заходить монопольно

Вроде, всё. Возможно, ещё что-то надо для надёжности
4 Insainer
 
10.12.13
09:47
1. Запретить менять какую дату? Та, что в управлении оперативными итогами? Можно поподробнее, а то я с 8 на 7 недавно перешел - пень пнем.
5 1Сергей
 
10.12.13
09:49
(4) 1. нет. та, которая Дата на компьютере. Где часы, справа снизу
6 Insainer
 
10.12.13
09:55
А заходить монопольно - как это может повлиять, просто непонятно, почему раньше документы ставились по порядку и вдруг начали проводиться текущей датой.
7 Insainer
 
10.12.13
09:56
В смысле не текущей, а датой записи
8 Insainer
 
10.12.13
09:57
Объясните пожалуйста, если знаете, как исправить эту ситуацию, что программировать...?
9 1Сергей
 
10.12.13
09:58
(7) Ты ТА посмотрел? на какой дате стоит?
10 1Сергей
 
10.12.13
09:59
ПроводитьПослеТА() действует только когда ТА = текущему дню
11 1Сергей
 
10.12.13
10:00
Достаточно один раз провести документ будущим числом и ТА улетает на эту дату. Чтобы вернуть - надо заходить монопольно и руками сдвигать
12 Insainer
 
10.12.13
10:01
В том-то и вопрос - где устанавливается точка актуальности?
13 1Сергей
 
10.12.13
10:05
Мля... Зайди в базу в режиме предприятия и посмотри строку состояния (внизу окна 1С полоска такая), посмотри чему равно ТА.

А сдвигается ТА в монопольном режиме одним из способов:
1. Операция - Упровление оперативными итогами
2. Открыть журнал документов (лучше Полный или Общий, в разных конфах по разному называется), встать на необходимый документ, нажать правую кнопку мыши - Установить ТА на документ.

Учти, что после ТА проведенных докуметов быть не должно, иначе вообще ничего проводиться не будет
14 пипец
 
10.12.13
10:12
(13) + если база SQL то можно и не монопольно ТА двинуть
15 Insainer
 
10.12.13
10:21
Что я попробовал - на последнем докумене поставил - черточка встала, он пересчитал итоги, взял старый документ (записанный, но не проведенный), но он становится опять с датой записи, а не вперед.
16 Insainer
 
10.12.13
10:27
ПроводитьПослеТА(1,1) = 1, срабатывает, в отладчике смотрел.
17 Insainer
 
10.12.13
10:28
Строчка ТА - как надо тоже
18 ЧеловекДуши
 
10.12.13
10:29
(0) Забей, делай всегда текущем временем и тем днем, каким хотят пользователи :)
19 ЧеловекДуши
 
10.12.13
10:31
(15) Дата документа и ПроводитьПослеТА это две разные весчи...
Если у тебя ТА на 20.12.2014 года, а документа на 10.12.2013, то команда "ПроводитьПослеТА" не сработает :)
Ана сработает только когда Дата документа = дате ТА :)
20 Insainer
 
10.12.13
10:32
Может кто-то знает, раньше - то работало, а то пользователям неудобно очень, не уходите пожалуйста, помогите.
21 ЧеловекДуши
 
10.12.13
10:35
(20) Что знает? Ты хоть представь себе Где ТА в БД и где твой документ? Во временной оси и ты все поймешь сам :)
22 Insainer
 
10.12.13
10:35
Она равна - один документ (записан) 17:18:35, другой (проведен) 17:18:57. ТА соответственно - 17:18:57. Когда проводишь первый - он проводится той же датой (17:18:35), а надо текущей (после ТА).
23 ЧеловекДуши
 
10.12.13
10:36
(22) А кроме времени у ТА, есть еще и дата :)
24 ЧеловекДуши
 
10.12.13
10:36
+(22)Дата какая?
25 ЧеловекДуши
 
10.12.13
10:37
+(22) А вам не кажется, что бредово, проводить документ в 10 утра сегодня, что бы он встал в 18.00 завтра?
26 Insainer
 
10.12.13
10:39
10.12.13 у обоих
27 Insainer
 
10.12.13
10:48
А если текущей датой проводить то где ставится условие на установку текущего времени в проведении. В 8 все в модуле документа можно было посмотреть, как в 7 все это ставится не могу понять :(
28 varelchik
 
10.12.13
11:12
ПроводитьПослеТА(<?>,);
Синтаксис:
ПроводитьПослеТА(<ФлагДляНеПров>,<ФлагДляПров>)
Назначение:
Установить режим проведения документа после ТА. Возвращает текущее значение режима перепроведения документа в зависимости от проведенности.
Параметры:
<ФлагДляНеПров> - режим проведения документа после ТА. Число: -1 (минус единица) - проводить документ всегда задним числом; 0 - при проведении запрашивать режим проведения документа; 1 - проводить документ в реальном потоке времени, т.е. при проведении время документа автоматически устанавливается на время после ТА.
<ФлагДляПров> - режим перепроведения документа после ТА. Числовое выражение: -1 (минус единица) - проводить документ всегда задним числом; 1 - проводить документ в потоке.
Замечание:
Метод доступен только в Модуле формы документа и работает с документом доступным в локальном контексте.