7.7 Экспорт Расходных накладных

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

  1. TopicStarter Overlay
    maxxim
    Offline

    maxxim

    Регистрация:
    19 июл 2006
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Каким образом сделать экспорт накладных в dbf файл?? Нужно для системы ЕГАИС
  2. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    Пишите обработку. В синтаксис помошнике ищите Объект Xbase
  3. TopicStarter Overlay
    maxxim
    Offline

    maxxim

    Регистрация:
    19 июл 2006
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Могу предложить одну посоветуйте что с ней делать!!!

    Процедура Выгрузить()
    Если СЗдок.РазмерСписка() = 0 Тогда
    Предупреждение("Ошибка выгрузки!
    |Не заполнен список документов.",60);
    Возврат;
    КонецЕсли;

    ОтветНаВопрос = Вопрос("Выгружать только помеченные и обработанные документы?
    |Нажмите - 'Да' для выгрузки только помеченных и обработанных документов
    |Нажмите - 'Нет', для выгрузки всех помеченных документов
    |Нажмите - 'Отмена' для отмены выгрузки",3);

    ТолькоПомеченныеИОбработанные = 0;
    Если ОтветНаВопрос = 6 Тогда
    ТолькоПомеченныеИОбработанные = 1;
    ИначеЕсли ОтветНаВопрос = 2 Тогда
    Возврат;
    КонецЕсли;

    КолТоварныхСтрок = ТЗТЧ.КоличествоСтрок();

    ИмяФШ = СокрЛП(КаталогВыгрузки + ?(Прав(КаталогВыгрузки,1) = "\","","\") + "wbh.dbf");
    //открываем / создаем файл выгрузки

    ДБФ = СоздатьОбъект("XBase");
    //ДБФ.КодоваяСтраница(0);

    Если ФС.СуществуетФайл(ИмяФШ) = 0 Тогда
    ДБФ.ДобавитьПоле("ID","S",100,);
    ДБФ.ДобавитьПоле("Number","S",50,);
    ДБФ.ДобавитьПоле("Date","D",,);
    ДБФ.ДобавитьПоле("OutDate","D",,);
    ДБФ.ДобавитьПоле("Sender","S",255,);
    ДБФ.ДобавитьПоле("Recepient","S",255,);
    ДБФ.ДобавитьПоле("Supplier","S",255,);
    ДБФ.ДобавитьПоле("Payer","S",255,);
    ДБФ.ДобавитьПоле("Basis","S",200,);
    ДБФ.ДобавитьПоле("DocType","N",1,0);
    ДБФ.ДобавитьПоле("StrucDiv","S",200,);
    ДБФ.ДобавитьПоле("InDate","D",,);
    ДБФ.ДобавитьПоле("PriceNDS","N",1,0);
    ДБФ.ДобавитьПоле("WithNDS","L",,);

    Попытка
    ДБФ.СоздатьФайл(ИмяФШ);
    ДБФ.ЗакрытьФайл();
    Исключение
    Предупреждение("Ошибка выгрузки!
    |Плохое имя файла " + ИмяФШ,60);
    Возврат;
    КонецПопытки;
    Иначе
    //Если Вопрос("Очистить существующий файл перед формированием сведений?",4,0) = 6 Тогда

    ДБФ.ОткрытьФайл(ИмяФШ);
    ДБФ.ОчиститьФайл();
    ДБФ.ЗакрытьФайл();
    //КонецЕсли;

    КонецЕсли;


    ИмяФТЧ = СокрЛП(КаталогВыгрузки + ?(Прав(КаталогВыгрузки,1) = "\","","\") + "wbc.dbf");
    //открываем / создаем файл выгрузки

    ДБФтч = СоздатьОбъект("XBase");
    //ДБФтч.КодоваяСтраница(0);

    Если ФС.СуществуетФайл(ИмяФТЧ) = 0 Тогда
    ДБФтч.ДобавитьПоле("WCID","S",38,);
    ДБФтч.ДобавитьПоле("WBID","S",100,);
    ДБФтч.ДобавитьПоле("PartyId","S",100,);
    ДБФтч.ДобавитьПоле("ProdName","S",255,);
    ДБФтч.ДобавитьПоле("Amount","N",20,3);
    ДБФтч.ДобавитьПоле("Price","N",34,4);
    ДБФтч.ДобавитьПоле("RateNDS","N",34,4);

    Попытка
    ДБФтч.СоздатьФайл(ИмяФТЧ);
    ДБФтч.ЗакрытьФайл();
    Исключение
    Предупреждение("Ошибка выгрузки!
    |Плохое имя файла " + ИмяФТЧ,60);
    Возврат;
    КонецПопытки;
    Иначе
    //Если Вопрос("Очистить существующий файл перед формированием сведений?",4,0) = 6 Тогда

    ДБФтч.ОткрытьФайл(ИмяФТЧ);
    ДБФтч.ОчиститьФайл();
    ДБФтч.ЗакрытьФайл();
    //КонецЕсли;

    КонецЕсли;

    Если (ФС.СуществуетФайл(ИмяФШ) = 1) И (ФС.СуществуетФайл(ИмяФТЧ) = 1) Тогда

    ДБФ.ОткрытьФайл(ИмяФШ);
    ДБФ.Автосохранение(1);

    ДБФТЧ.ОткрытьФайл(ИмяФТЧ);
    ДБФТЧ.Автосохранение(1);

    Если (ДБФ.Открыта() = 1) И (ДБФТЧ.Открыта() = 1) Тогда
    Состояние("Выгрузка накладных");

    НПП = 0;
    НППш = 0;
    Для СчЦ = 1 По СЗдок.РазмерСписка() Цикл
    Если СЗдок.Пометка(СчЦ) = 1 Тогда
    Представление = "";
    ТекДок = СЗдок.ПолучитьЗначение(СчЦ,Представление);
    Если (ТолькоПомеченныеИОбработанные = 1) И (Найти(Представление,"-ОБРАБОТАН-") = 0) Тогда
    //пропускаем необработанные

    Продолжить;
    КонецЕсли;

    ИДДок = "" + Прав(ДатаГод(ТекДок.ДатаДок),2) + ТекДок.НомерДок; //уникальность год + номер док(в пределах года)


    //Добавление строк в накладные

    НППш = НППш + 1;
    ДБФ.Добавить();
    ДБФ.ID = ИДДок;
    ДБФ.Number = "ДЗ " + ТекДок.НомерДок;
    ДБФ.Date = ТекДок.ДатаДок;
    ДБФ.DocType = 2;
    ДБФ.InDate = "";
    ДБФ.OutDate = ТекДок.ДатаДок;
    ДБФ.Sender = Константа.НазваниеОрганизации;
    ДБФ.Recepient = ТекДок.Контрагент.Наименование;
    ДБФ.Supplier = Константа.НазваниеОрганизации;
    ДБФ.Payer = ТекДок.Контрагент.Наименование;
    ДБФ.StrucDiv = "";
    ДБФ.Basis = "";
    ДБФ.PriceNDS = 18;
    //ДБФ.WithNDS = 0;

    ДБФ.Записать();

    НомСтр = "";
    ТЗТЧ.НайтиЗначение(ИДДок,НомСтр,"ИДДок");
    ТЗТЧ.ПолучитьСтрокуПоНомеру(НомСтр);
    НПП = НПП + 1;
    ДБФтч.Добавить();
    ДБФтч.WCID = ТЗТЧ.ИДСтрокиДок;
    ДБФтч.WBID = ТЗТЧ.ИДДок;
    ДБФтч.PartyId = ТЗТЧ.Партия;
    Если (ТЗТЧ.ЦенаПоПрайсу = 0) Тогда
    Предупреждение("Нулевая цена в "+ ТекДок + " " + ТЗТЧ.Товар);
    КонецЕсли;
    ДБФтч.ProdName = "" + ТЗТЧ.Товар;
    ДБФтч.Amount = ТЗТЧ.Количество;
    ДБФтч.Price = ТЗТЧ.ЦенаПоПрайсу;
    ДБФтч.RateNDS = ТЗТЧ.СтавкаНДС;
    ДБФтч.Записать();
    Пока 1 = 1 Цикл
    НомСтр = НомСтр + 1;
    Если КолТоварныхСтрок < НомСтр Тогда
    Прервать;
    КонецЕсли;
    ТЗТЧ.ПолучитьСтрокуПоНомеру(НомСтр);
    Если ТЗТЧ.ИДДок = ИДДок Тогда
    НПП = НПП + 1;
    ДБФтч.Добавить();
    ДБФтч.WCID = ТЗТЧ.ИДСтрокиДок;
    ДБФтч.WBID = ТЗТЧ.ИДДок;
    ДБФтч.PartyId = ТЗТЧ.Партия;
    Если (ТЗТЧ.ЦенаПоПрайсу = 0) Тогда
    Предупреждение("Нулевая цена в "+ ТекДок + " " + ТЗТЧ.Товар);
    КонецЕсли;
    Имя1С = УстановитьИмяДляВырузки(ТЗТЧ.Товар, ТЗТЧ.Партия);
    ДБФтч.ProdName = Имя1С;
    ДБФтч.Amount = ТЗТЧ.Количество;
    ДБФтч.Price = ТЗТЧ.ЦенаПоПрайсу;
    ДБФтч.RateNDS = ТЗТЧ.СтавкаНДС;
    ДБФтч.Записать();
    Иначе
    Прервать;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    ДБФ.ЗакрытьФайл();
    ДБФтч.ЗакрытьФайл();
    Иначе
    Предупреждение("Ошибка выгрузки!
    |Неудачная попытка открытия файлов!",60);
    Возврат;
    КонецЕсли;
    Иначе
    Предупреждение("Ошибка выгрузки!
    |Невозможно открыть файлы для выгрузки!",60);
    Возврат;
    КонецЕсли;

    Предупреждение("Выгрузка завершена! Выгружено документов: " + НППш + " (товарных строк - " + НПП + ")");
    ВрКон = ТекущееВремя();
    ЗаписьЖурналаРегистрации("Выгружено документов: " + НППш + " (товарных строк - " + НПП + ") Начало: " + ВрНач + ", Окончание: " + ВрКон,,"Выгрузка для ЕГАИС");
    //ВыгрузитьОстатки();

    //Форма.Закрыть(0);

    КонецПроцедуры //Выгрузить
  4. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    вы спрашивайте про решение проблемы , а не выдавайте информацию для проверки!
Похожие темы
  1. romko
    Ответов:
    4
    Просмотров:
    2.681
  2. SAPer
    Ответов:
    1
    Просмотров:
    684
  3. Cotm
    Ответов:
    4
    Просмотров:
    804
  4. Demag
    Ответов:
    2
    Просмотров:
    1.580
  5. Demag
    Ответов:
    16
    Просмотров:
    4.365
Загрузка...

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