Подскажите, пожалуйста, как сделать чтобы при проведении уже не нового документа (т.е.
того который уже был ранее создан и сохранен) он автоматически (без диалога
с выбором времени) сохранял его на конец дня и проводил?
p.s. проведение документа делает сам пользователь нажатием кнопки Провести, а не групповой обработкой.
того который уже был ранее создан и сохранен) он автоматически (без диалога
с выбором времени) сохранял его на конец дня и проводил?
p.s. проведение документа делает сам пользователь нажатием кнопки Провести, а не групповой обработкой.
По теме из базы знаний
- Контроль записи/проведения документов в заданном интервале дней
- Средство поиска "узких мест" при проведении документов
- 6-НДФЛ из ЗУП 2.5 без проблем. Специальная обработка проведения документов. Методика
- Контроль суммы задолженности при неоперативном проведении документа продажи (Реализации товаров и услуг)
- Ускоренное проведение документов в 1С (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Именно на конец дня? А так не годится?
вот вариант
Процедура ПриЗаписи()
УстановитьВремя(23, 59, 59);
КонецПроцедуры
вот вариант
Процедура ВремяВКонецДня()
Перем Часы, Минуты, Секунды;
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(ДатаДок,ДатаДок);
Док.ОбратныйПорядок();
Если Док.ПолучитьДокумент() = 1 Тогда
Док.ПолучитьВремя(Часы,Минуты,Секунды);
//Потом нужно инкриминировать результат
УстановитьВремя(Часы,Минуты,Секунды);
КонецЕсли;
КонецПроцедуры // ВремяВКонецДня()
Процедура ПриЗаписи()
Процедура ВремяВКонецДня();
КонецПроцедуры
Показать
Используя (2) и (4) :
// диалог форма документа
// формула кнопки "Провести" заменяем на
ПровестиВКонец = 1; #Записать Закрыть
// модуль формы документа
Перем ПровестиВКонец; // доп. переменная
Процедура ПриЗакрытии()
Если ПустоеЗначение(ПровестиВКонец) = 0 Тогда
ПровестиВКонец = 0;
ОткрытьФорму("Обработка.ПроведениеВКонецДня",ТекущийДокумент());
КонецЕсли;
КонецПроцедуры
// модуль обработки ПроведениеВКонецДня
Процедура ПриЗакрытии()
Перем Часы;
Перем Минуты;
Перем Секунды;
Док=СоздатьОбъект("Документ");
Док.ОбратныйПорядок(1);
Если Док.ВыбратьДокументы(Форма.Параметр.ДатаДок,Форма.Параметр.ДатаДок) = 1 Тогда
Док.ПолучитьВремя(Часы,Минуты,Секунды);
Док.НайтиДокумент(Форма.Параметр);
Если Док.Проведен() = 1 Тогда
Док.СделатьНеПроведенным();
КонецЕсли;
Док.УстановитьВремя(Часы,Минуты,Секунды+1);
Иначе
Док.НайтиДокумент(Форма.Параметр);
КонецЕсли;
Док.Провести();
ОткрытьФорму(Док.ТекущийДокумент()); // переоткрыть документ
КонецПроцедуры
Процедура ПриОткрытии()
Форма.Закрыть();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот