перебор документов по дате

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

  1. Stim

    Stim Гость

    Подскажите пож-та алгоритм перебора документов по дате.. Как подступиться к проблеме этой7 нужно чтобы программа сверяла дату документа с заданым интервалов времени(например с 1.01.07 по 31.02.07). как задать этот интервал можно? если кто нибудь знает, подскажите, а то идей пока конкретных нету..
     
  2. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Посмотри метод ВыбратьДокументы(<Дата1>,<Дата2>) помоему тут понятно и без пояснений.
     
  3. Stim

    Stim Гость

    спасибо, сейчас попробую

    вопрос только, как эти документы перебрать?

    ВыбратьДокументы(дата1,дата2);
    Пока Док.ПолучитьДокумент()=1 Цикл
    //тело программы
    КонецЦикла;
    будет открываться вся выборка в заданых датах?что-то легко прям..
     
  4. Stim

    Stim Гость

    Код (Text):
    Процедура ОК()
    Перем ДатаДок;
    ы=0;
    Док=СоздатьОбъект("Документ");
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент() > 0 Цикл
    ТекДок=Док.ТекущийДокумент();
    ы=ы+1;
    Сообщить("датадок" +ТекДок.ДатаДок +ы +ТекДок.Модифицированность);

    КонецЦикла;  
    КонецПроцедуры;
    Выдает ошибку
    Сообщить("датадок" +ТекДок.ДатаДок +ы +ТекДок.Модифицированность);
    {D:\1C\EXTFORMS\СЧЕТФАКТУРА.ERT(16)}: Поле агрегатного объекта не обнаружено (Модифицированность)

    Не подскажите в чем дело?
     
  5. Pro

    Pro Гость

    Модифицированность работает только непосредственно из формы документа... imho
     
  6. jj_mail

    jj_mail Гость

    к тому же - это еще и функция Модифицированность() B)
     
  7. Stim

    Stim Гость

    блин а еще 1 проблемка возникла, которую ввиду своей неопытности немогу решить :
    как закрыть форму ? т.е ее можно открыть строчкой:
    Код (Text):
    ОткрытьФорму("Документ." + "СчетФактура", , Док.ТекущийДокумент());
    //тек.док берется из выборки док-ов по датам
    когда открывается форма, она создаёт счетфактуру для каждого док-та, и после этого ее нужно закрыть и сохранить док-т, который она создаёт. как это можно сделать ?
     
  8. jj_mail

    jj_mail Гость

    а для чего его вобще открывать ?
     
  9. Stim

    Stim Гость

    суть работы программы:
    перебор документов по заданым датам, для каждого док-та создается счетфактура или открывается если она создана. все это делается формой, которую я немогу закрыть програмно.

    и еще обьясните кому нетрудно разницу между открыть форму и открытьформумодально
     
  10. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Форму документа открывать не обязательно, для того, чтобы изменить или создать документ. Хуже того, 1С не позволяет программно заполнить табличную часть документа, ч-з контекст формы. (извращения в счет не берем.)
    Модально, открытая форма останавливает выполнение модуля, который ее открыл.
    Не модальная открывается, и выполнение идет дальше.
    Я надеюсь, ты в курсе, что при открытой модальной форме, ты не сможешь переключиться на другое окошко.

    Для закрытия формы, смотри Форма.Закрыть(<ЗапрСохр>) или атрибут СтрокаДействийФормы
     
  11. Stim

    Stim Гость

    как же тогда решить проблему : Есть документ, который создает счетфактуру для документа реализация товара...нужен внешнией отчет, который будет перебериать документы в заданых датах,и создавать счетфактуру для них, если а.Это документ "реализация товара". б.счетфактура для тек.док-та несоздана.



    Что смог сделать я :
    Проверка названия док-та "реализация товара"
    Проверка на существование счетфакуты для текдока есть
    Перебор док-ов есть


    как видно это совсем, мало..пытаюсь разобраться, рад всем советам...
    Нужен метод, совет, как использовать уже готовый док-т , который создает счетфактуру эту...а потом в цикл перебора док-та вставить и все... свиду просто, а не получается, или подход к решению этой проблемы неправильный?
     
  12. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Код (Text):
    Процедура СоздатьСФ()
    Док=СоздатьОбъект("Документ.СчетФактура");
    Док.Новый();
    // заполнение реквизитов дока.
    Док.Записать();
    КонецПроцедуры
    помогло? :(
     
  13. Stim

    Stim Гость

    ага. )) а вот вопрос еще 1. если это все мне нужно реализовать во внешнем отчете, что изменится в синтаксисе или еще в чем-нибудь. ?
     
  14. Stim

    Stim Гость

    вот непонятно например, в реквизитах шапки документа есть такой реквизит : тип , имеющий значение перечисление.типысчетов фактур.. так же в модуле этого же документа есть строчка
    Код (Text):
    Если Тип = Перечисление.ТипыСчетовФактур.Отгрузка Тогда
    как эта же строчка будет выглядеть во внешнемочтете(обработке)
     
  15. jj_mail

    jj_mail Гость

    Если Док.Тип = Перечисление.ТипыСчетовФактур.Отгрузка Тогда
     
  16. Stim

    Stim Гость

    Ура. Программа сделал. Спасибо всем, кто помог.
     
Загрузка...
Похожие Темы - перебор документов по
  1. Altaya
    Ответов:
    10
    Просмотров:
    2.812
  2. 123456789igor
    Ответов:
    1
    Просмотров:
    1.571
  3. sima12
    Ответов:
    4
    Просмотров:
    1.775
  4. iivvnn
    Ответов:
    4
    Просмотров:
    1.860
  5. MMN
    Ответов:
    28
    Просмотров:
    7.637

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