Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 05:54
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Формирование Exsel-файла с определенными типами данных в ячейках  (Прочитано 1850 раз)

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

Оффлайн Mrs.Смит

  • Я же только учусь ))
  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
Добрый день! Помогите, пожалуйста.
Суть такова. Клиенту необходимо сформировать прайс-лист по определенным параметрам в Exsel-файл.

Обработка работает таким образом.
1. Сначала вводиться фильтр, где определяются: номенклатура, вид цены и т.д.
2. Формируется таблица со значениями:Производитель, Строка(Артикул), Кол-во, Цена и Наименование.
3. Создается Exsel-файл по данным таблицы
Проблема: в самом Exsel-файле в колонке Артикул тип данных разнится, в основном текст, но там где артикул начинается на "0" - тип данных становиться "общий" и при поиске данные не находятся.
Подскажите, как решить проблему. Код прощедурки прилагаю:
Процедура СформироватьПрайс1(ТаблицаОтчета,ПараметрыЗапроса)
   ТаблицаОтчета.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Прайс_Лист";
   ТаблицаОтчета.АвтоМасштаб = Истина;
   ТаблицаОтчета.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
   
   Макет = ПолучитьМакет("Макет");
   
   Схема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   КомпоновщикНастроекИзХранилища = ПолучитьИзВременногоХранилища(ПараметрыЗапроса.АдресСхемыВХранилище);

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, КомпоновщикНастроекИзХранилища.Настройки);

   ТЕКСТЗАПРОСА = МакетКомпоновки.НаборыДанных.НаборДанных.Запрос;
   
   Запрос = Новый Запрос;   
   Запрос.Текст = ТЕКСТЗАПРОСА;
   
   Для Каждого ПараметрЗапроса Из МакетКомпоновки.ЗначенияПараметров Цикл
      Если Найти(ТЕКСТЗАПРОСА,"&"+ПараметрЗапроса.Имя) > 0 Тогда
         Запрос.УстановитьПараметр(ПараметрЗапроса.Имя, ПараметрЗапроса.Значение);
      КонецЕсли;
   КонецЦикла;
   
   РезультатЗапроса = Запрос.Выполнить();
   
   Если РезультатЗапроса.Пустой() Тогда
      Возврат;
   КонецЕсли;
   
   Выборка =  РезультатЗапроса.Выбрать();

   
   // Выводим шапку накладной.
   
   Секция = Макет.ПолучитьОбласть("Шапка");
   ТаблицаОтчета.Вывести(Секция);
   Секция = Макет.ПолучитьОбласть("Строка");
   Пока Выборка.Следующий() Цикл
   
      Секция.Параметры.Артикул = Строка(Выборка.Артикул);
      Секция.Параметры.Производитель = Выборка.Родитель;
      Секция.Параметры.Остаток = Выборка.Остаток; //ыборка.Резерв;
      Секция.Параметры.Цена     = Выборка.Цена;
      Секция.Параметры.Номенклатура = Выборка.Номенклатура;
      ТаблицаОтчета.Вывести(Секция);
   КонецЦикла;
   
   
   
КонецПроцедуры

Процедура ПодготовитьФайлыКОтправке(СписокФайлов, ТабличныеДокументы) Экспорт
   
   ИмяВременнойПапки = ПолучитьИмяВременногоФайла();
   СоздатьКаталог(ИмяВременнойПапки);
   
   Для Каждого Элемент Из ТабличныеДокументы Цикл
      ТабДок = Элемент.Значение;
      
      ИмяФайла = "CONOR "+ТекущаяДата()+".xls";
      
      ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайла);
      
      ИмяВременногоФайла = ИмяВременнойПапки + "\" + ИмяФайла;
      
      ТабДок.Записать(ИмяВременногоФайла,ТипФайлаТабличногоДокумента.XLS97);
      
      ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
      ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
      СписокФайлов.Добавить(ПутьВоВременномХранилище, ИмяФайла);
      УдалитьФайлы(ИмяВременногоФайла);
   КонецЦикла;
   
   УдалитьФайлы(ИмяВременнойПапки);
         
КонецПроцедуры

Процедура СформироватьВложениеПрайса(Команда)
   
   СформироватьВложениеПрайсаСервер();
   
   Элементы.Закладки.ТекущаяСтраница = Элементы.Закладки.ПодчиненныеЭлементы.Рассылка;
   
   ОбновитьПредставлениеВложений();
      
КонецПроцедуры

Процедура СформироватьВложениеПрайсаСервер()
   
   ТабличныеДокументы = Новый СписокЗначений;
    ТабличныеДокументы.Добавить(ТаблицаОтчета);
   
   СписокВложений = Новый СписокЗначений;

   РеквизитФормыВЗначение("Отчет").ПодготовитьФайлыКОтправке(СписокВложений, ТабличныеДокументы);

   ВложенияВПисьмо = СписокВложений;
   
   // помечаем те вложения, которые являются путями к файлам на клиенте
   Для Каждого ОписаниеВложение из ВложенияВПисьмо Цикл
      Если ТипЗнч(ОписаниеВложение.Значение) = Тип("Строка") Тогда
         Если ЭтоАдресВременногоХранилища(ОписаниеВложение.Значение) Тогда
            ОписаниеВложение.Значение = ПолучитьИзВременногоХранилища(ОписаниеВложение.Значение);
         Иначе
            ОписаниеВложение.Пометка = Истина; // Это путь к файлу в локальной файловой системе
         КонецЕсли;
      КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры


Оффлайн Mrs.Смит

  • Я же только учусь ))
  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
Может, кто сталкивался с обработкой
SubSys: Многофункциональная загрузка в 1С из Excel прайсов, цен, номенклатуры, документов для 1С УТ11 (Управление торговлей 11)
Добавлено: 05 Дек 2012, 14:34

Все! Вопрос снят!!! Сделала :zebzdr:

Как закрыть или удалить тему?

Последний раз редактировалось: Mrs.Смит; 05 Дек 2012, 14:34

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Проблема: в самом Exsel-файле в колонке Артикул тип данных разнится, в основном текст, но там где артикул начинается на "0" - тип данных становиться "общий" и при поиске данные не находятся.
Лучше поделитесь как решили проблему...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

Автор Владимир87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7444
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

Автор kot_ooРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3887
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2119
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 7350
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6961
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
39 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 294
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal