Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Проведение документов Поступление товаров и услуг в определенное время , Версия программы 1С:Предприятие 8.2 (8.2.18.61)          
Milman Подменю пользователя
сообщение 25.03.18, 18:17
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

Всем добрый день!
Подскажите пжл, можно ли в версии 1С:Предприятие 8.2 (8.2.18.61) сделать так, чтобы все документы Поступления товаров и услуг проводились
в определенное время при нажатии кнопки Провести ? Т.е. сейчас , когда я провожу документ, ему автоматически назначается текущее время.
Мне же надо, чтобы документ проводился в 8.00 утра и каждый последующуй документ Поступление товаров и услуг так же проводился в 8.00.

Если я правильно разобрался, то мне надо ковырять в след. процедуре :
// Процедура вызывается при нажатии кнопки "Заполнить и провести" командной панели формы,
// вызывает заполнение документа с проведением.
Процедура ДействияФормыДействиеЗаполнитьИПровести(Кнопка)

    // Заполнять с проведением можно документы с текущую датой
    Если НачалоДня(Дата) = НачалоДня(ТекущаяДата()) Тогда
        Если НЕ ЭтоНовый() Тогда

            // Если документ ранее был записан, то он будет переноситься в конец дня из-за оперативного проведения, о чем следует предупредить.
            Ответ = Вопрос("В режиме заполнения с проведением документ будет проводиться оперативно. " + Символы.ПС + "Продолжить?", РежимДиалогаВопрос.ДаНет);
            Если НЕ Ответ = КодВозвратаДиалога.Да Тогда
                Возврат;
            КонецЕсли;
        КонецЕсли;
    Иначе
        Возврат;
    КонецЕсли;


Сообщение отредактировал Vofka - 26.03.18, 8:13

uanr81 Подменю пользователя
сообщение 25.03.18, 20:49
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0

Milman @ Сегодня, 18:17 * ,
Я так понял вы хотите всегда при проведении этого документа использовать текущую дату 8:00, когда записан документ другой датой. Не буду спрашивать зачем это вам.
В обработке проведения документа вначале модуля подмените реквизит Дата,
Процедура ОбработкаПроведения(Отказ, Режим)
//В начало модуля добавляем
Дата = дата("" +Лев(строка(текущаядата()), 11)+"08:00:00");
//конец добавления
КонецПроцедуры

Vofka Подменю пользователя
сообщение 26.03.18, 8:37
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

uanr81, так не сработает, потому что так как вы написали, дата меняется после того, как документ записался. Подобные вещи нужно делать перед записью. Но даже если этот код просто перенесте в ПередЗаписью, то работать оно тоже, скорее всего, не будет, потому что в случае когда разрешено оперативное проведение (а это по умолчанию так), то при проведении документа текущей датой, система будет устанавливать текущее время. Ну и сам код можно нужно написать более корректно:

Дата = НачалоДня(ТекушаяДата()) + 8 * 60 * 60;


Milman,

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    РежимПроведения = РежимПроведенияДокумента.Неоперативный;
    
    Дата = НачалоДня(Дата) + 8 * 60 * 60;
    
КонецПроцедуры


Сообщение отредактировал Vofka - 26.03.18, 8:38

uanr81 Подменю пользователя
сообщение 26.03.18, 18:59
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0

Vofka @ Сегодня, 8:37 * ,
Дата документа здесь не меняется, меняется значение для поля период в регистрах проведения этого документа, я понял что это преследовал создатель темы.

Milman Подменю пользователя
сообщение 26.03.18, 20:29
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

uanr81 @ Сегодня, 19:59 * ,
Цель состоит в том, чтобы документы Поступление товаров и услуг всегда проводились в одно время (например 8.00) не зависимо от того, оперативно или нет проводится документ. Это необходимо для того, что зачастую бывает краснота по складу товаров, потому что Реализация проводится раньше , чем Поступление товаров и услуг и за последовательностью этих документов надо следить и проверять.
А при фиксации времени проводки документов этой ошибки можно избежать.

uanr81 Подменю пользователя
сообщение 26.03.18, 21:45
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0


Milman @ Сегодня, 20:29 * ,
Я вам уже написал, дата документа не изменится, проводка будет всегда текущей датой 8:00. Если хотите можно написать

Дата = дата("" +Лев(строка(Дата), 11)+"08:00:00");

тогда проведение документа всегда будет датой записанного документа но временем 8:00:00, и все документы будут проводится в этой секунде. Но вся прелесть того, что поле период в регистрах учета для этого документа соответствует реквизиту дата записанного документа - теряется. Может вы только хотите изменять дату (под этим понимается и время включительно) документа при его записи, тогда меняйте запись самого документа как вам советуют.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 16:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!