Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 01:50

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

Автор slimuz, 04 июн 2015, 12:53

0 Пользователей и 1 гость просматривают эту тему.

slimuz

Здравствуйте!
Необходимо выгрузить Основные средства в 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;
КонецЦикла; 

ДБФ.ЗакрытьФайл(); 

Сообщить("ОС выгружены успешно!");
Сообщить("Выгружено: " + К + " (а)(ов)");
КонецПроцедуры

slimuz

Оказывается надо было написать: ТЗ.спОС.ПервоначальнаяСтоимость.Получить()
или ТЗ.спОС.ПервоначальнаяСтоимость.Получить(НужнаяДата)

дфтын


prog1c7.7

Ну и еще в  гору тогда :
ты получишь ПервоначальнаяСтоимость на дату ТА тогда,
т.к. дату в получении не указываешь, а тебе надо судя по тексту "ДатаПер"
тобишь   типа    :         Получить(ДатаПер)


э-э-э- я так думаю...      <_<

Теги: выгрузка dbf 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск