7.7 Проблема с выгрузкой периодического реквизита

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем slimuz, 4 июн 2015.

  1. TopicStarter Overlay
    slimuz
    Offline

    slimuz Новичок в 1С

    Регистрация:
    4 июн 2015
    Сообщения:
    14
    Симпатии:
    1
    Баллы:
    4
    Здравствуйте!
    Необходимо выгрузить Основные средства в DBF, написаной обработкой выгружаю код, наименование, дата приобретения, дата ввода в эксплуатацию, дата выбытия, но первоначальная стоимость выгружается с нулевым значением.
    Код:
    Процедура ПриОткрытии()
            ДатаПер=РабочаяДата(); Загрузка=1;
    КонецПроцедуры   
    
    Процедура ВыгрузкаОС()
        Перем Запрос, ТекстЗапроса, Таб;
        Каталог ="d:\";
        ИмяФайла = "OC.dbf";
        ДБФ = СоздатьОбъект("XBase");
        ДБФ.ДобавитьПоле("kod","s",10,0);
        ДБФ.ДобавитьПоле("name","s",63,);
        ДБФ.ДобавитьПоле("p_stoim","n",15,);
        ДБФ.ДобавитьПоле("d_preobr","s",12,);
        ДБФ.ДобавитьПоле("d_vvoda","s",12,);
        ДБФ.ДобавитьПоле("spisanie","s",12,);
       
        Если ПустоеЗначение(Каталог)=1 Тогда
            Сообщить("Ошибка! Не выбран каталог!");
            Возврат;
        КонецЕсли;
       
        ДБФ.СоздатьФайл(Каталог+"\"+ИмяФайла);
        Если ДБФ. Открыта() = 0 Тогда
            Предупреждение("Невозможно создать файл!!!",60);
            Возврат;
        КонецЕсли;
       
        ДБФ.АвтоСохранение(1);
       
        СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");
    
    //    СпрОС.ИспользоватьДату(ТекущаяДата()); 
        СпрОС.ИспользоватьДату(ДатаПер,1);   
    
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса =
        "//{{ЗАПРОС(Сформировать)
        |спОС = Справочник.ОсновныеСредства.ТекущийЭлемент;       
        |Группировка спОС Без Групп;   
        |"//}}ЗАПРОС
        ;
        // Если ошибка в запросе, то выход из процедуры
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
            Сообщить("Запрос не выполнен");
            Возврат;
        КонецЕсли;   
       
        ТЗ = СоздатьОбъект("ТаблицаЗначений");
        Запрос.Выгрузить(ТЗ);   
    
        ТЗ.ВыбратьСтроки();
        К=1;
        Пока ТЗ.ПолучитьСтроку()=1 Цикл
            Если (ТЗ.спОС.ЭтоГруппа()=1) ИЛИ (ПустоеЗначение(ТЗ.спОС)=1)  Тогда
                Продолжить;
            КонецЕсли;
           
            ДБФ.Добавить();
            ДБФ.kod=СокрЛП(ТЗ.спОС.Код);
            ДБФ.name =СокрЛП(ТЗ.спОС.Наименование); 
            ДБФ.p_stoim =СокрЛП(ТЗ.спОС.ПервоначальнаяСтоимость);
            ДБФ.d_preobr =СокрЛП(ТЗ.спОС.ДатаПриобретения);
            ДБФ.d_vvoda =СокрЛП(ТЗ.спОС.ДатаВводаВЭксплуатацию);
            ДБФ.spisanie =СокрЛП(ТЗ.спОС.ДатаВыбытия);
           
            К=К+1;
        КонецЦикла; 
       
        ДБФ.ЗакрытьФайл(); 
       
        Сообщить("ОС выгружены успешно!");
        Сообщить("Выгружено: " + К + " (а)(ов)");
    КонецПроцедуры
  2. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    ТЗ.спОС.ПервоначальнаяСтоимость.Получить()

    Не так ли надо получать периодический реквизит? Он не понимает на какую дату брать значение. Я правильно понял ПервоначальнаяСтоимость периодический реквизит?
    slimuz нравится это.
  3. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Код:
    ТЗ.спОС.ПервоначальнаяСтоимость.Получить(НужнаяДата)
    - так точнее
    slimuz нравится это.
  4. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Не спорю, лет 6 на семерке не писал уже и под рукой нет)
  5. TopicStarter Overlay
    slimuz
    Offline

    slimuz Новичок в 1С

    Регистрация:
    4 июн 2015
    Сообщения:
    14
    Симпатии:
    1
    Баллы:
    4
    Большое спасибо. Я незнал)
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Можно использовать ИспользоватьДату(<Дата>);
    В этом случает не нужно применять метод "получить"...
    Периодический реквизит в ОС не один.......

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