7.7 Выгрузка данных в DBF

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем GEN1983, 14 дек 2009.

  1. TopicStarter Overlay
    GEN1983
    Offline

    GEN1983

    Регистрация:
    11 сен 2009
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!

    Помогите, пожалуйста, новичку! Мне необходимо написать отчет, который бы выводил остатки по всем складам в таблицу в DBF-файле.

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



    Код:
    Процедура СоздатьОбъект (xBase)        
    Перем ТЗ;
    DB = СоздатьФайл(Xbase);
    DB.AddField("ТоварРезерв","S",70,0);
    DB.AddField("Склад","S",70,0);
    
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 Цикл
    DB.Добавить();
    DB.РезервОстаток = ТЗ.ЗапросТоварКод;
    DB.РезервОстаток = ТЗ.ПечРезерв;
    DB.Склад = ТЗ.ПечОстаток;
    DB.Записать();
    КонецЦикла;
    
    DB.ЗакрытьФайл();
    
    КонецПроцедуры
    
    
  2. ZEMA
    Offline

    ZEMA Опытный в 1С

    Регистрация:
    5 окт 2007
    Сообщения:
    231
    Симпатии:
    0
    Баллы:
    26
    А сам файл DBF создан.? что-то вроде:
    И в Таблице значения данные имеются?
  3. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    А ето что:
    Код:
    Процедура СоздатьОбъект (”xBase)  
    
    
    
    Где закрывающая ковычка, познакомься с синтаксисом
    +
    Код:
    СоздатьФайл(<ПутьКБазе>,<ПутьКИндексу>)
    
    
  4. TopicStarter Overlay
    GEN1983
    Offline

    GEN1983

    Регистрация:
    11 сен 2009
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1


    Ага, спасибо, я принял к сведению!

    Код:
    Процедура Сформировать ();       
    
    Перем ТЗ;
    DB=СоздатьОбъект("XBase");
    DB.AddField("ТоварРезерв","S",70,0);
    DB.AddField("Склад","S",70,0);
    DB.СоздатьФайл(<ПутьКБазе>,<ПутьКИндексу>)
    
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 Цикл
    DB.Добавить();
    DB.РезервОстаток = ТЗ.ЗапросТоварКод;
    DB.РезервОстаток = ТЗ.ПечРезерв;
    DB.Склад = ТЗ.ПечОстаток;
    DB.Записать();
    КонецЦикла;
    
    DB.ЗакрытьФайл();
    
    КонецПроцедуры
    

    Я немного перебрал процедуру, оцените, пожалуйста?
    И еще вопрос, по скольку у меня складов много, то мне нужно создать Цикл, который бы перебрал все склады по очереди, я так понимаю? Код написанный мною, имеет смысл? Его нужно дополнить?
  5. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Вот ето
    Код:
    DB.РезервОстаток = ТЗ.ЗапросТоварКод;
    
    у тебя поле в дб ТоварРезерв, а не РезервОстаток
    а цикл по складам прописуй при добавлении строк в тз, а не в дб
  6. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    DB.СоздатьФайл(<ПутьКБазе>,<ПутьКИндексу>)

    просто

    DB.СоздатьФайл("путь/файл.dbf");
  7. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    все замечательно.. Но где мы записываем?

    Записать()
    Назначение:
    Записать изменения в базу.
  8. TopicStarter Overlay
    GEN1983
    Offline

    GEN1983

    Регистрация:
    11 сен 2009
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо за помощь!
  9. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Ну, и еще пара ошибок:
    Код:
    Процедура Сформировать ();
    
    
    При объявлении процедуры точку с запятой в конце ставить нельзя.
    Имена полей файла ДБФ должны состоять из латинских букв, цифр и знака подчеркивания количеством не более 10.

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