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

сохранение в excel

Автор mila1231, 13 июл 2015, 12:10

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

mixqn

Цитата: mila1231 от 14 июл 2015, 12:31По сути я должна обращаться к табличному документу.. или нет??
как вы в табличном документе определите тип значения ячеек?
проще уже обращаться к первоисточнику, то есть в вашем случае к результату запроса, и последовательно выводить по ячейкам - точно так же, как в том фрагменте кода, что вы приводили.

вопрос о целесообразности данного мероприятия остается открытым. есть какие-то конкретные негативные последствия того, что эксель неправильно формат воспринимает, или для чего все это нужно? просто чтобы формат был правильный? или боретесь с какой-то конкретной проблемой? какой?


mila1231

Цитата: mixqn от 14 июл 2015, 12:50
Цитата: mila1231 от 14 июл 2015, 12:31По сути я должна обращаться к табличному документу.. или нет??
как вы в табличном документе определите тип значения ячеек?
проще уже обращаться к первоисточнику, то есть в вашем случае к результату запроса, и последовательно выводить по ячейкам - точно так же, как в том фрагменте кода, что вы приводили.

вопрос о целесообразности данного мероприятия остается открытым. есть какие-то конкретные негативные последствия того, что эксель неправильно формат воспринимает, или для чего все это нужно? просто чтобы формат был правильный? или боретесь с какой-то конкретной проблемой? какой?

Этот отчёт дальше необходимо будет загрузить на сайт сторонней компании, а там жёсткое требование к форматам, ещё можно в формате cvs и xml.
Т.е вы имеете в виду обращаться к этой строке:???
ВыборкаДанные = Запрос.Выполнить().Выбрать();

mixqn

ёклмн, конечно же делайте в cvs!!!
cvs - это простой текст! с ним работа проще в разы - просто последовательно выводите нужные данные в текст, разделяете точкой с запятой и все!

vitasw


mixqn

Цитата: vitasw от 14 июл 2015, 13:16
? может csv?
ну естественно )) опечатка там
CSV

mila1231

да csv попробовала получилось, почти.... может ещё подскажете.... если не трудно.. пока над xls думала, забыла об том, что некоторые данные у меня выводятся в зависимости от некоторых данных.. проще наверно текст представить, чем сказать.. в общем вот...

Запрос.Текст = "ВЫБРАТЬ
                  |   Свидетельство.Номер_в_гос_реестре,
                  |   Свидетельство.Тип_прибора.Наименование,
                  |   Свидетельство.Марка.Наименование,
                  |   Свидетельство.Заводской_Номер,
                  |   Свидетельство.Год_выпуска_прибора,
                  |   Свидетельство.Дата_от,
                  |   Свидетельство.Действителен_до,
                  |   Свидетельство.Номер,
                  |   Свидетельство.Контрагент.Полное_наименование,
                  |   Свидетельство.Контрагент.ИНН,
                  |   Свидетельство.Средство_Измерения.Наименование
                  |ИЗ
                  |   Документ.Свидетельство КАК Свидетельство
                  |ГДЕ
                  |   Свидетельство.Дата МЕЖДУ &ДатаНач И &ДатаКон";

     Запрос.УстановитьПараметр("ДатаНач", НачалоПериода);
      Запрос.УстановитьПараметр("ДатаКон",КонецДня(КонецПериода));                                                   
                          
    ВыборкаДанные = Запрос.Выполнить().Выбрать();
   

             
    // вывод даных в форму
   

   
    Пока ВыборкаДанные.Следующий() Цикл
   
            
       //перечисляем все столбцы, которые в макете
      
        ОбластьДанные.Параметры.рег_номер = ВыборкаДанные.Номер_в_гос_реестре;
      ОбластьДанные.Параметры.тип_прибора = ВыборкаДанные.Тип_прибораНаименование;
        ОбластьДанные.Параметры.марка= выборкаДанные.МаркаНаименование ;
      ОбластьДанные.Параметры.Номер_прибора = ВыборкаДанные.Заводской_номер;
      ОбластьДанные.Параметры.Год_выпуска = ВыборкаДанные.Год_выпуска_прибора;
        ОбластьДанные.Параметры.количество_СИ = "1";
      ОбластьДанные.Параметры.Дата_от = Формат(ВыборкаДанные.Дата_от,"ДФ=""дд.ММ.гггг""");
      ОбластьДанные.Параметры.Дата_до = Формат(ВыборкаДанные.Действителен_до,"ДФ=""дд.ММ.гггг"""); 

      ОбластьДанные.Параметры.Номер_свид = ВыборкаДанные.Номер;
      ОбластьДанные.Параметры.Контрагент = ВыборкаДанные.КонтрагентПолное_наименование;
      ОбластьДанные.Параметры.ИНН = ВыборкаДанные.КонтрагентИНН;
      ОбластьДанные.Параметры.Пригодность = "1";
      ОбластьДанные.Параметры.Дата_выгрузки = Формат (ТекущаяДата(),"ДФ=""дд.ММ.гггг""") ;
      //ОбластьДанные.Параметры.Дата_выгрузки = ТекущаяДата() ;

      
      // смотрим признак контрагента
      Если (СтрДлина(ВыборкаДанные.КонтрагентИНН)>1)  тогда   
         
      ОбластьДанные.Параметры.Признак_конрагента = "ЮЛ"
         
   иначе
      
      ОбластьДанные.Параметры.Признак_конрагента = "ФЛ";
      
      конецЕсли;

      
      // заполнение эталонов
СИ =ВыборкаДанные.Средство_измеренияНаименование;
ОД = ОбластьДанные.Параметры.Свед_СИ;
      
Если ВыборкаДанные.Средство_измеренияНаименование="Расходомер-счетчик" тогда
      
   ОбластьДанные.Параметры.Свед_СИ = "Установка поверочная «Взлет ПУ № 40011»"
   
конецЕсли;

Если СИ="Расходомер-счетчик электромагнитный «Взлет ЭР» модификация «Лайт М»" тогда
   

   
   ОД = "Установка поверочная «Взлет ПУ № 40011»"
   

конецЕсли;

так вот, счас я вывожу данные из запроса, а как быть с теми,которые выводятся  на основании других данных?

mixqn

Все это можно вынести в запрос. Хотя ничто вам не мешает обрабатывать это точно так же кодом.

Отправлено с моего Nexus 5 через Tapatalk


Теги:

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

Рейтинг@Mail.ru

Поиск