|
v7: провести документ концом дня | ☑ | ||
---|---|---|---|---|
0
taril115
04.08.11
✎
10:44
|
есть групповая обработка документов.
Перепроводит документы за период. Всё хорошо, но нужно перепровести документы концом дня! В обработке Док.Провести(); - проводит тем же временем, которым и был проведён документ. Помогите, что-то туплю) |
|||
1
Ёпрст
04.08.11
✎
10:46
|
Если проведение в дате = датаТА, то провести с параметром (смотри в СП), иначе - только снимать с проведения, устанавливать новое время, проводить.
|
|||
2
ДенисЧ
04.08.11
✎
10:46
|
Снять проведение, установить нужное время, провести - не предлагать?
|
|||
3
Chum
04.08.11
✎
10:48
|
(2) это, наверное, не кошерно, равно как и автовремяконецдня
|
|||
4
taril115
04.08.11
✎
10:51
|
Вот код процедуры:
Процедура ПоКнопкеВыполнить() // Проверим, все ли задано Если ВариантДействия = 1 Тогда // Печать Если СпособПечати.ТекущаяСтрока() = 0 Тогда Предупреждение("Не выбран способ печати.",60); Активизировать("СпособПечати"); Возврат; КонецЕсли; ИначеЕсли ВариантДействия = 2 Тогда // Пометка на удаление Если ПометкаУдаления.ТекущаяСтрока() = 0 Тогда Предупреждение("Не выбрано действие с пометкой на удаление.",60); Активизировать("ПометкаУдаления"); Возврат; КонецЕсли; КонецЕсли; Попытка Если флТранзакция = 1 Тогда НачатьТранзакцию(); КонецЕсли; Док = СоздатьОбъект("Документ"); ТаблицаДокументов.ВыбратьСтроки(); Пока ТаблицаДокументов.ПолучитьСтроку() = 1 Цикл ТекСтрока = ТаблицаДокументов.НомерСтроки; // Не помечен к обработке Если ТаблицаДокументов.Пометка = МеткиНет Тогда Продолжить; КонецЕсли; // не оказалось документа Если Док.НайтиДокумент(ТаблицаДокументов.Документ) = 0 Тогда Сообщить("Не найден """ + СокрЛП(ТаблицаДокументов.Документ) + """! Действие не выполнено!","!"); Продолжить; КонецЕсли; Сообщить("Выполняется обработка позиции "+СокрЛП(Док.ТекущийДокумент()),"."); Если ВариантДействия = 1 Тогда // Напечатать // глПечатьДокумента(Док.ТекущийДокумент(), СпособПечати.ПолучитьЗначение(СпособПечати.ТекущаяСтрока())) ИначеЕсли ВариантДействия = 2 Тогда // Пометка на удаление Если ПометкаУдаления.ТекущаяСтрока() = 1 Тогда // Если глПриУдаленииДокумента(Док, 0) = 1 Тогда // можно удалять Док.Удалить(0); // КонецЕсли; Иначе // Если глПриУдаленииДокумента(Док, 0) = 1 Тогда Док.СнятьПометкуУдаления(); // КонецЕсли; КонецЕсли; ИначеЕсли ВариантДействия = 3 Тогда // Сделать не проведенным Если Док.Проведен() > 0 Тогда Попытка // Проверка даты запрета редактирования Если Док.ДатаДок<=Константа.ДатаЗапретаРедактирования Тогда Сообщить("Нельзя отменять проведение документов с датой, более ранней чем дата запрета редактирования документов!","!"); Иначе Док.СделатьНеПроведенным(); КонецЕсли; Исключение Сообщить("Не удалось отменить проведение документа "+Строка(Док.ТекущийДокумент()),"!"); КонецПопытки; КонецЕсли; ИначеЕсли ВариантДействия = 4 Тогда // Провести Попытка // Проверка даты запрета редактирования Если Док.ДатаДок<=Константа.ДатаЗапретаРедактирования Тогда Сообщить("Нельзя проводить документы с датой, более ранней чем дата запрета редактирования документов!","!"); Иначе Док.Провести(); КонецЕсли; Исключение Сообщить("Не удалось провести документ "+Строка(Док.ТекущийДокумент()),"!"); КонецПопытки; КонецЕсли; ПерезаполнитьСтрокуТаблицы(ТекСтрока); КонецЦикла; Сообщить("Обработка закончена","."); Если флТранзакция = 1 Тогда ЗафиксироватьТранзакцию(); КонецЕсли; Исключение Если флТранзакция = 1 Тогда ОтменитьТранзакцию(); КонецЕсли; Сообщить(ОписаниеОшибки(), "!"); КонецПопытки; КонецПроцедуры // ПоКнопкеВыполнить() |
|||
5
taril115
04.08.11
✎
10:54
|
куда засунуть АвтоВремяКонецДня ?? )
|
|||
6
taril115
04.08.11
✎
11:02
|
сделал проще
Док.УстановитьВремя(24,0,0); Док.Провести(); )))) |
|||
7
Ёпрст
04.08.11
✎
11:02
|
(5)
Если Док.ДатаДок = ПолучитьДатуТА() Тогда Док.Провести(3); Иначе Док.СделатьНеПроведенным(); Док.АвтоВремяОтключить(); Док.АвтоВремяКонецДня(); Док.Провести(); КонецЕсли; |
|||
8
Ёпрст
04.08.11
✎
11:03
|
(6) наивный какой..
Нельзя менять время у проведенного документа. |
|||
9
taril115
04.08.11
✎
12:38
|
Всем спасибо за ответы.
|
|||
10
Cthulhu
04.08.11
✎
12:42
|
(8): ты ещё забыл рассказать про последствия напихивания кучи документов в одну секунду (это даже если позабыть о времени 24:00:00)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |