Что нового

Добавить значения в текстовый файл

Ed_Vard

Новичок
Сообщения
19
Репутация
0
Доброго времени суток уважаемые форумчане!
Прошу помощи в реализации следующей задачи: Необходимо сформировать большое количество файлов на основании данных - находящихся в екселевской форме - как оттуда взять данные я знаю. Файлы будут однотипными в них будут меняться только некоторые данные - вопрос в том как это реализовать. Вот пример создаваемого файла! Некоторые места - в которых нужно использовать данные отмечены "нужно вставить переменные".
Заранее спасибо!

Код:
$RegNomer = ; получаем из экселя вот такого вида - 022-055-000055
$Pahk= ; получаем из экселя вот такого вида - 00008
$Naimenovanie = ; получаем из экселя вот такого вида - РОГА И КОПЫТА и т.д.

$hFile = FileOpen(@ScriptDir & '\PFR-700-Y-2012-ORG-$RegNomer-DCK-$Pahk-DPT-000000-DCK-00000.XML', 2); нужно вставить переменные
$sCode = '<?xml version="1.0" encoding="Windows-1251"?>' & @CRLF & _
'<ФайлПФР>'& @CRLF & _
  '<ИмяФайла>PFR-700-Y-2012-ORG-$RegNomer-DCK-$Pahk-DPT-000000-DCK-00000.XML</ИмяФайла>'& @CRLF & _; нужно вставить переменные
  '<ЗаголовокФайла>'& @CRLF & _
    '<ВерсияФормата>07.00</ВерсияФормата>'& @CRLF & _
    '<ТипФайла>ВНЕШНИЙ</ТипФайла>'& @CRLF & _
    '<ПрограммаПодготовкиДанных>'& @CRLF & _
      '<НазваниеПрограммы>SPU_ORB</НазваниеПрограммы>'& @CRLF & _
      '<Версия>1.87</Версия>'& @CRLF & _
    '</ПрограммаПодготовкиДанных>'& @CRLF & _
    '<ИсточникДанных>СТРАХОВАТЕЛЬ</ИсточникДанных>'& @CRLF & _
  '</ЗаголовокФайла>'& @CRLF & _
  '<ПачкаВходящихДокументов Окружение="В составе файла" Стадия="До обработки">'& @CRLF & _
    '<ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ>'& @CRLF & _
      '<НомерВпачке>1</НомерВпачке>'& @CRLF & _
      '<ТипВходящейОписи>ОПИСЬ ПАЧКИ</ТипВходящейОписи>'& @CRLF & _
      '<СоставительПачки>'& @CRLF & _
        '<НалоговыйНомер>'& @CRLF & _
          '<ИНН>7111024668</ИНН>'& @CRLF & _
          '<КПП>711121001</КПП>'& @CRLF & _
        '</НалоговыйНомер>'& @CRLF & _
        '<НаименованиеОрганизации>$Naimenovanie</НаименованиеОрганизации>'& @CRLF & _; нужно вставить переменные
        '<НаименованиеКраткое>$Naimenovanie</НаименованиеКраткое>'& @CRLF & _; нужно вставить переменные
        '<РегистрационныйНомер>$RegNomer</РегистрационныйНомер>'& @CRLF & _ ; нужно вставить переменные
      '</СоставительПачки>'& @CRLF & _
      '<НомерПачки>'& @CRLF & _
        '<Основной>$Pahk</Основной>'& @CRLF & _; нужно вставить переменные
      '</НомерПачки>'& @CRLF & _
      '<СоставДокументов>'& @CRLF & _
        '<Количество>1</Количество>'& @CRLF & _
        '<НаличиеДокументов>'& @CRLF & _
          '<ТипДокумента>СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ</ТипДокумента>'& @CRLF & _
          '<Количество>1</Количество>'& @CRLF & _
        '</НаличиеДокументов>'& @CRLF & _
      '</СоставДокументов>'& @CRLF & _
      '<ДатаСоставления>16.02.2013</ДатаСоставления>'& @CRLF & _
      '<ТипСведений>КОРРЕКТИРУЮЩАЯ</ТипСведений>'& @CRLF & _
      '<КодКатегории>НР</КодКатегории>'& @CRLF & _
      '<ОтчетныйПериод>'& @CRLF & _
        '<Квартал>4</Квартал>'& @CRLF & _
        '<Год>2012</Год>'& @CRLF & _
      '</ОтчетныйПериод>'& @CRLF & _
      '<КорректируемыйОтчетныйПериод>'& @CRLF & _
        '<Квартал>2</Квартал>'& @CRLF & _
        '<Год>2010</Год>'& @CRLF & _
      '</КорректируемыйОтчетныйПериод>'& @CRLF & _
      '<СуммаВзносовНаСтраховую>'& @CRLF & _
        '<Начислено>8612.00</Начислено>'& @CRLF & _
        '<Уплачено>10265.76</Уплачено>'& @CRLF & _
      '</СуммаВзносовНаСтраховую>'& @CRLF & _
      '<СуммаВзносовНаНакопительную>'& @CRLF & _
        '<Начислено>0.00</Начислено>'& @CRLF & _
        '<Уплачено>0.00</Уплачено>'& @CRLF & _
      '</СуммаВзносовНаНакопительную>'& @CRLF & _
    '</ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ>'& @CRLF & _
    '<СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'& @CRLF & _
      '<НомерВпачке>2</НомерВпачке>'& @CRLF & _
      '<ВидФормы>СПВ-1</ВидФормы>'& @CRLF & _
      '<ТипСведений>КОРРЕКТИРУЮЩАЯ</ТипСведений>'& @CRLF & _
      '<РегистрационныйНомер>022-055-000055</РегистрационныйНомер>'& @CRLF & _
      '<НаименованиеКраткое>РОГА И КОПЫТА</НаименованиеКраткое>'& @CRLF & _
      '<НалоговыйНомер>'& @CRLF & _
          '<ИНН>7111024668</ИНН>'& @CRLF & _
          '<КПП>711121001</КПП>'& @CRLF & _
      '</НалоговыйНомер>'& @CRLF & _
      '<КодКатегории>НР</КодКатегории>'& @CRLF & _
      '<ОтчетныйПериод>'& @CRLF & _
        '<Квартал>2</Квартал>'& @CRLF & _
        '<Год>2010</Год>'& @CRLF & _
      '</ОтчетныйПериод>'& @CRLF & _
      '<СтраховойНомер>032-360-254 17</СтраховойНомер>'& @CRLF & _
      '<ФИО>'& @CRLF & _
        '<Фамилия>ИВАНОВА</Фамилия>'& @CRLF & _
        '<Имя>НАТАЛЬЯ</Имя>'& @CRLF & _
        '<Отчество>ПЕТРОВНА</Отчество>'& @CRLF & _
      '</ФИО>'& @CRLF & _
      '<СуммаВзносовНаСтраховую>'& @CRLF & _
        '<Начислено>8612.00</Начислено>'& @CRLF & _
        '<Уплачено>10265.76</Уплачено>'& @CRLF & _
      '</СуммаВзносовНаСтраховую>'& @CRLF & _
      '<СуммаВзносовНаНакопительную>'& @CRLF & _
        '<Начислено>0.00</Начислено>'& @CRLF & _
        '<Уплачено>0.00</Уплачено>'& @CRLF & _
      '</СуммаВзносовНаНакопительную>'& @CRLF & _
      '<ДатаЗаполнения>16.02.2013</ДатаЗаполнения>'& @CRLF & _
      '<ДатаСоставленияНа>31.12.2010</ДатаСоставленияНа>'& @CRLF & _
      '<СтажевыйПериод>'& @CRLF & _
        '<НомерСтроки>1</НомерСтроки>'& @CRLF & _
        '<ДатаНачалаПериода>01.07.2010</ДатаНачалаПериода>'& @CRLF & _
        '<ДатаКонцаПериода>31.12.2010</ДатаКонцаПериода>'& @CRLF & _
      '</СтажевыйПериод>'& @CRLF & _
    '</СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'& @CRLF & _
  '</ПачкаВходящихДокументов>'& @CRLF & _
'</ФайлПФР>'

        
FileWrite($hFile, $sCode)
FileClose($hFile)
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Код:
'<ИмяФайла>PFR-700-Y-2012-ORG-' & $RegNomer & '-DCK-' & $Pahk & '-DPT-000000-DCK-00000.XML</ИмяФайла>'& @CRLF & _

Ну как вставлять перенос строки Вы же догадались....
 
Верх