Имя: Пароль:
1C
 
Фоновое задание создаёт файл, но потом файл исчезает
0 tigrandis
 
13.02.19
15:29
1С:Комплексная автоматизация 2 (2.4.6.175)
1С:Предприятие 8.3 (8.3.13.1513)

Фоновое задание которое выгружает товары в формате csv


Процедура ВыгрузкаОстатков() Экспорт

    ФайлCSV = Новый ТекстовыйДокумент;
    ИмяФайлаCSV     = "\\192.168.0.8\1cexch\exmarket\goodsKC.csv";
    ФайлCSV.Записать(ИмяФайлаCSV,КодировкаТекста.ANSI);
    
    Разделитель = ";";
    ТаблицаЗначений = ПолучитьНоменклатуру();
    Текст = СоздатьДанныеCSV(ТаблицаЗначений,Разделитель);
    ЗаписатьCSV(Текст,ИмяФайлаCSV);
Фоновое задание
КонецПроцедуры

Функция ПолучитьНоменклатуру()

    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЕСТЬNULL(ТоварыНаСкладахОстатки.Склад.ID_Склад, """") КАК ID_Склад,
        |    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК Остаток,
        |    Товар.ID_Товара КАК ID_Товара
        |ИЗ
        |    Справочник.Номенклатура КАК Товар
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки
        |        ПО Товар.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
        |ГДЕ
        |    Товар.ID_Товара <> """"";
    
    РезультатЗапроса = Запрос.Выполнить();    
    
Возврат РезультатЗапроса.Выгрузить();
        
КонецФункции //    

// Создаем строку загоовков для CSV-файла
Функция СоздатьЗаголовкиCSV(ТаблицаЗначений,Разделитель)
    
    КолонкиТЗ = ТаблицаЗначений.Колонки;
    Для Каждого Колонка Из КолонкиТЗ Цикл
        СтрКолонки = "" + СтрКолонки + Колонка.Имя + разделитель ;
    КонецЦикла;
    Возврат стрКолонки;
    
КонецФункции

// Создаем Текст CSV:
// Текст заголовков и
// Текст данных
Функция СоздатьДанныеCSV(ТаблицаЗначений,Разделитель)
    
    Текст="";
    Для Каждого Запись ИЗ ТаблицаЗначений Цикл
        Если Текст="" Тогда
            Текст=СоздатьЗаголовкиCSV(ТаблицаЗначений,Разделитель)
            + Символы.ПС;    
        КонецЕсли;    
        
        Текст = Текст + Запись.ID_Товара
        + разделитель + Запись.ID_Склад
        + разделитель + Запись.Остаток
        + Символы.ПС;        
        
    КонецЦикла;
    
    //Сообщить(Текст);
    Возврат Текст;

КонецФункции //

// Запишем данные в файл
Функция ЗаписатьCSV(Текст,имяФайла)              
    кодировка = КодировкаТекста.ANSI;
    
    ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);            
    ТекстовыйФайлЗапись.ЗаписатьСтроку(Текст);
    ТекстовыйФайлЗапись.Закрыть();    
    Возврат 0;

КонецФункции //

Все норм выполняет, но через 1-3 минуты после выгрузки файл очищается, помогите разобраться ? что за магия непонятная ??? ахаха
1 tigrandis
 
13.02.19
15:47
и никто не сталкивался? =)
2 sieben
 
13.02.19
15:50
Ищи копию базы, которая туда же пишет азаза
3 ptiz
 
13.02.19
15:56
(2) +100
4 tigrandis
 
13.02.19
17:38
(2)  Спасибо ахахаха