7.7 Как найти последний док-т перед выбранным периодом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем M a x i m, 26 янв 2009.

  1. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Такое дело:
    Делаю отчет по типу "было-приход-расход-остаток-передача смены" за выбранный период
    Дык вот "было" хочу брать из последнего документа передачи смены перед выбранным периодом.
    При этом надо учесть, что передача смены может быть не обязательно в предыдущем дне перед началом периода (например, новогодний простой предприятия). Хотя чаще всего она является последней записью деятельности за раб.день.
    Как получить этот документ?
  2. alvenav
    Offline

    alvenav Опытный в 1С

    Регистрация:
    7 янв 2009
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Делай отбор документов, используя ОбратныйПорядок() отбора
    при обратном порядке выбираешь первый док из выборки, он и будет последней передачей смены
    Попробуй так

    Код:
    ПРоцедура Отобрать()
    Док = СоздатьОбъект("Документ.ПередачаСмены");
    // устанавливаем обратный порядок выборки документов
    Док = ОбратныйПорядок(1);
    // открываем выборку документов
    Док.ВыбратьДокументы(ДатаНачало, ДатаКонец);
    Док.ПолучитьДокумент(); 
    ТекДок = Док.ТекущийДокумент();//-вероятно это и будет последний документик
    КонецПроцедуры;
    
    
    
    
    
    
  3. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    я так понимаю, что это поиск последнего документа в заданном периоде, а мне нужен последний ПЕРЕД указанным периодом
  4. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    в чем разница? если у тебя период это ДатаНачало и ДатаКонец, тогда ищи в интервале НачалоВремен и ДатаНачало-1... как искать тебе сказали выше...
  5. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Я просто думал, что есть метод рекурсивно перебирать в обратном порядке предыдущие док-ты. А что такое НачалоВремен - синтаксис-помощник ничего не показывает?
  6. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    НачалоВремен в 1ц это дата 01.01.80
  7. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Получилось так
    Код:
    Док.ОбратныйПорядок(1); 
    Док.ВыбратьДокументы(,НачДата-1);
    
    

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