|
1с 8.2 УПП: устанавливать время в доках 23:58:00 при неоперативном проведении | ☑ | ||
---|---|---|---|---|
0
Kleo
07.07.14
✎
08:35
|
Здравствуйте!
Подскажите, пожалуйста, необходимо устанавливать время в документах 23:58:00, если этот документ создается задним числом, неоперативно, если дата документа - последний день месяца. Понимаю, что нужно сделать Подписку на события, Событие - При записи. Но как поставить условие, что неоперативное проведение и последний день месяца? Так, чтобы все было корректно |
|||
1
Бешеная Нога
07.07.14
✎
08:57
|
ДокументОбъект.<Имя документа>.ПередЗаписью (DocumentObject.<Имя документа>.BeforeWrite)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) ПередЗаписью (BeforeWrite) Синтаксис: ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>) Параметры: <Отказ> Тип: Булево. Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись документа выполнена не будет. Значение по умолчанию: Ложь <РежимЗаписи> Тип: РежимЗаписиДокумента. В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи. <РежимПроведения> Тип: РежимПроведенияДокумента. В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения. Описание: Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа. |
|||
2
Kamas
07.07.14
✎
09:02
|
Примерно так
если дата =<конецмесяца(Источник.Дата) и дата>= началоДня(конецмесяца(Источник.Дата)) и РежимПроведения= РежимПроведенияДокумента.Неоперативный тогда |
|||
3
Kamas
07.07.14
✎
09:06
|
(2) либо условие можно заменить на День(Источник.Дата)= День(конецмесяца(Источник.Дата))и РежимПроведения= РежимПроведенияДокумента.Неоперативный
|
|||
4
Kleo
07.07.14
✎
12:38
|
сделала подписку на события, обработчик событий в общем модуле:
Процедура АкУстановкаВремени (Источник, Отказ, РежимПроведения) Экспорт ДатаДок = Источник.Дата; Если ДатаДок <= КонецДня(ТекущаяДата()) Тогда Если КонецДня(ДатаДок) = КонецМесяца(КонецДня(ДатаДок)) и РежимПроведения = РежимПроведенияДокумента.Неоперативный Тогда Источник.Дата = Дата(Формат(источник.Дата, "ДФ=dd.MM.yyyy") +" 23:58:00"); Источник.Записать(); КонецЕсли; КонецЕсли; КонецПроцедуры но есть другой вопрос: мне нужно, чтобы это выполнялось для всех документов, кроме регламентных. а регламентные документы - это 4 журнала документов. как сделать отбор по вхождению в тот или иной журнал документов? |
|||
5
Kleo
18.07.14
✎
11:02
|
Все сделано и прописано проведение в ОПРЕДЕЛЕННОЕ время для доков в хронологической последовательности для последнего дня месяца - но теперь при проведении доков при помощи обработки "Проведение по партиям" вываливаются ошибки:
Управленческий учет. документ Требование-накладная №422535235 от 30.06.2014 ..... Не списано по партиям 1 шт товара Наименование товара ... ... ... и так далее причем если просто проводить документ, то ничего - никаких ошибок не выдает. ничего страшного? или не нужно было дописывать принудительное время проведения? в принципе обработка проведения по партиям документ не проводит, она перезаписывает движения по партиям. все оставить так? что делать? |
|||
6
mikecool
18.07.14
✎
11:04
|
(4) тебе же сказали - делай в передзаписью
причем - хочешь при программной записи - тогда делай в модуле объекта но тебе скорее всего надо выстраивать документы в пределах дня - приходы, потом перемещения, потом расходы |
|||
7
Kleo
18.07.14
✎
11:15
|
(6) документы в пределах дня выстроены.
что значит в модуле объекта? в каждый документ прописывать??? зачем??? у меня сделана подписка на событие - Событие "Обработка проведения" и код в (4) в общем модуле. имеется ввиду, что поменять Обработку проведения - Перед записью ? не помню почему, но не выбрала, почему-то это вариант. сейчас гляну |
|||
8
Kleo
18.07.14
✎
12:17
|
Изменила. сделала Перед записью - все равно при проведении по партиям выдает ошибки
|
|||
9
shuhard
18.07.14
✎
12:20
|
(8) значит дело было не в бобине (с)
|
|||
10
mikecool
18.07.14
✎
12:20
|
(8) проверяй - может у тебя там тупо не хватает товара
|
|||
11
LORD
18.07.14
✎
12:44
|
(0) то что хотите, это не правильно, так нельзя делать
|
|||
12
Kleo
18.07.14
✎
13:10
|
(10) по всем документам? все везде хватает. если проводить тот же документ руками - то ошибок не выдает
|
|||
13
Kleo
18.07.14
✎
13:10
|
(11) почему?
|
|||
14
Kleo
18.07.14
✎
13:31
|
Переделала на Перед записью - теперь при попытке вообще провести или сделать непроведенным - программа вылетает, выдает ошибку памяти дампа и так несколько раз. хорошо, что на копии сделала. вернула обратно на Обработка Проведения - все встало нормально
|
|||
15
Kleo
18.07.14
✎
13:47
|
Эта ошибка при Проведении по партиям, которая сообщает, что не списано по партиям столько-то товара. она критична? на что влияет? что по партиям не выполнилось движение? а если хронология соблюдена и все ок? то можно игнорировать эту ошибку. и главное ошибка есть не по всем документам, а только по Требованиям-накладным и нескольким реализациям. хотя реализации много за последний день месяца
|
|||
16
mikecool
18.07.14
✎
13:48
|
(12) тогда надо понять - почему у тебя разные данные при ручном и программном проведении
|
|||
17
LORD
18.07.14
✎
14:13
|
(13) потому что это не рауз, а партионный учет
|
|||
18
Kleo
21.07.14
✎
05:00
|
вы сами попробуйте прописать хотя бы для одного документа такую подписку на события - и посмотрите, что получится?
(17) я понимаю, что это не РАУЗ. на сколько я понимаю, Проведение по партиям изменяет движения по регистрам, но сам док не проводит. и что тогда ему мешает? каким образом повлияли мои изменения? |
|||
19
Kleo
22.07.14
✎
09:23
|
Помогло проведение документов за последний день месяца, а затем запускается Проведение по партиям. и нет ошибок
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |