АвтоВремяКонецДня

Тема в разделе "1C и всё что с ней связано", создана пользователем Helena, 6 сен 2007.

  1. Helena

    Helena Гость

    v7:Бухгалтерский учет ред.4.5. Для новых документов время надо утанавливать на конец дня.Пробую по-всякому, но не получается :(

    в модуле формы:

    Процедура ВводНового()
    АвтоВремяОтключить();
    АвтоВремяКонецДня();
    КонецПроцедуры

    Подскажите, пожалуйста, что я не так делаю
     
  2. jj_mail

    jj_mail Гость

    Нужно не на ВводНового(), а ПриЗаписи()
     
  3. Helena

    Helena Гость

    Исправила. Нужный документ (списание) записывается последним в журнале. Любой другой новый записывается следом за ним :( . Т.е. так же идет в конец дня. А мне надо, чтоб всегда в журнале последним был определенный вид документов.

    Процедура ПриЗаписи()
    Если глМожноЗаписатьДокумент(Контекст) = 0 Тогда
    СтатусВозврата(0);
    Возврат;
    ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента) = 1 Тогда
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    АвтоВремяОтключить();
    АвтоВремяКонецДня();
    КонецПроцедуры
     
  4. jj_mail

    jj_mail Гость

    тогда нужно создавать последовательность документов, а в конце дня ее восстанавливать
     
  5. b00tch

    b00tch Гость

    УстановитьВремя(<?>,,);
    Синтаксис:
    УстановитьВремя(<Часы>,<Минуты>,<Секунды>)
    Назначение:
    Установить время документа.
    Параметры:
    <Часы> - число часов;
    <Минуты> - число минут;
    <Секунды> - число секунд.
    Замечание:
    Метод можно использовать только для объектов, созданных функцией СоздатьОбъект
     
  6. Helena

    Helena Гость

    Выдает ошибку
    ТекДок.УстановитьВремя(24,0,0); Не выбран документ!

    Процедура Перепроведение()
    Док = СоздатьОбъект("Документ.ТребованиеНакладная");
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()>0 Цикл
    ТекДок = Док.ТекущийДокумент();
    ТекДок.АвтоВремяОтключить();
    ТекДок.УстановитьВремя(24,0,0);
    КонецЦикла;
    КонецПроцедуры
     
  7. b00tch

    b00tch Гость

    Метод можно использовать только для объектов, созданных функцией СоздатьОбъект

    Код (Text):
    Пока Док.ПолучитьДокумент()>0 Цикл
    //ТекДок = Док.ТекущийДокумент();
    //ТекДок.АвтоВремяОтключить();
    Док.УстановитьВремя(24,0,0);
    Док.Записать();
    КонецЦикла;
     
  8. Helena

    Helena Гость

    Теперь получается. Но обрабатывается только первый документ. неужели нужно подсчитывать кол-во доков и каждый раз вызывать процедуру?

    //*******************************************
    Процедура Перепроведение()
    кол=0;
    Док = СоздатьОбъект("Документ.ТребованиеНакладная");
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()>0 Цикл
    Док.СделатьНеПроведенным();
    Док.АвтоВремяОтключить();
    Док.УстановитьВремя(24,0,0);
    Док.Записать();
    Док.Провести();
    кол=кол+1;
    КонецЦикла;
    предупреждение(кол);
    КонецПроцедуры
     
  9. b00tch

    b00tch Гость

    судя по коду, должны обрабатываться все в периоде (НачДата,КонДата)

    кстати, неплохо бы добавить
    Код (Text):
    Если Док.Проведен() = 0 Тогда
    Продолжить;
    КонецЕсли;
    иначе проведуцца доки, бывшие непроведенными...

    и еще - правильнее будет
    Док.УстановитьВремя(23,59,59);
     
  10. Helena

    Helena Гость

    время так и так устанавливается в 23.59.59
     
  11. Helena

    Helena Гость

    Работает
    Всем большое спасибо
     
  12. b00tch

    b00tch Гость

    <!--QuoteBegin-Helena+7:09:2007, 14:42 -->
    <span class="vbquote">(Helena @ 7:09:2007, 14:42 )</span><!--QuoteEBegin-->большое спасибо
    [snapback]77503" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а плюсеГ?...
    хехе
     
  13. Granata005

    Granata005 Гость

    не нужен тебе плюсик....

    Код (Text):
    Процедура ПриЗаписи()
    АвтоВремяОтключить ();
    УстановитьВремя(23,59,59);
    КонецПроцедуры
    Описание:

    Метод АвтоВремяОтключить отключает режим автоматической установки времени нового документа, при этом новые документы заносятся с временем устанавливаемым при помощи метода УстановитьВремя.
     
  14. Granata005

    Granata005 Гость

    И ещё нужно на всякий случай добавить СделатьНеПроведённым() если вдруг это повторная запись...
     

Поделиться этой страницей