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

Автор Тема: Загрузка в ТЧ из Excel  (Прочитано 1680 раз)

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

Оффлайн mashencev_anton

  • ****
  • Сообщений: 315
  • РЕПУТАЦИЯ: 6
  • КПД: 2%
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
Заполняю ТЧ обработки из EXCEL вот таким вот образом для примера:
Попытка
        ДокExcel = ПолучитьCOMОбъект(ИмяФайла);
        Лист = ДокExcel.Sheets(1);
    Исключение
        Предупреждение("Документ не открыт!!!");
        Возврат;
    КонецПопытки;
   
   
    ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
    Для Колонка = 1 по ВсегоКолонок цикл
            Значение = СокрЛП(Лист.Cells(Колонка).Value);
       
           
            а=Объект.Товары.Добавить();
            а.Номенклатура=Значение;
           
        КонецЦикла;
и вот собственно в чем вопрос: Почему когда заполняемый реквизит ТЧ "Номенклатура" имеет ссылочный тип, то он не заполняется, а если тип СТРОКА то заполняется?


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
потому что типы разные. нельзя впихнуть невпихуемое.

Оффлайн mashencev_anton

  • ****
  • Сообщений: 315
  • РЕПУТАЦИЯ: 6
  • КПД: 2%
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
потому что типы разные. нельзя впихнуть невпихуемое.
это печально(((( а как быть?

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 185
  • КПД: 20%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
потому что типы разные. нельзя впихнуть невпихуемое.
это печально(((( а как быть?
Как и все в таком случае: Ищите в базе элемент по коду, по наименованию, по цвету глаз, по религиозной принадлежности, по сочетанию этого всего.
Получайте ссылку (если находите) и уже её пишите в ТЧ.

Оффлайн mashencev_anton

  • ****
  • Сообщений: 315
  • РЕПУТАЦИЯ: 6
  • КПД: 2%
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
Возвращаясь к прошлому...Как 1с получает данные из Excel??  Можно ли выбрать данные только определенного столбца?

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Возвращаясь к прошлому...Как 1с получает данные из Excel??  Можно ли выбрать данные только определенного столбца?
Как в программе вы зададите так они и будут выбиратся, все в ваших руках.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн mashencev_anton

  • ****
  • Сообщений: 315
  • РЕПУТАЦИЯ: 6
  • КПД: 2%
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Возвращаясь к прошлому...Как 1с получает данные из Excel??  Можно ли выбрать данные только определенного столбца?
Как в программе вы зададите так они и будут выбиратся, все в ваших руках.
Как получить определенную колонку из Excel?

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Вам нужно почитать про оператор Cells, его аргумент может иметь несколько видов.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн mashencev_anton

  • ****
  • Сообщений: 315
  • РЕПУТАЦИЯ: 6
  • КПД: 2%
  • Регистрация: 2012-12-05
  • Сайт: 
  • Профессия: Программист 1С
В общем сделал так:
&НаКлиенте
Процедура ЗаполнитьТЧ(Команда)

Объект.Товары.Очистить();                      

Попытка
COMОбъект = Новый COMОбъект("Excel.Application");
Workbook   = COMОбъект.Workbooks.Open(ИмяФайла);
ExcelЛист  = COMОбъект.Sheets(1);
ActiveCell = COMОбъект.ActiveCell.SpecialCells(11);
RowCount = ActiveCell.Row;
ColumnCount = ActiveCell.Column;

Для Строка = 1 По RowCount Цикл   
Для Колонка = 1 По ColumnCount Цикл
Значение = СокрЛП(ExcelЛист.Cells(Строка,2).Value);
Значение2 = СокрЛП(ExcelЛист.Cells(Строка,1).Value);
Значение3 = СокрЛП(ExcelЛист.Cells(Строка,3).Value);
КонецЦикла; 

ДанныеНаСервере(Значение,Значение2,Значение3);
КонецЦикла;
WorkBook.Close();
Исключение
COMОбъект.Quit();
COMОбъект = 0;
СообщениеОбОшибке = НСтр("ru = 'Не удалось прочитать данные из файла. Подробности: '")
+ КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ВызватьИсключение СообщениеОбОшибке; 

КонецПопытки;                   

КонецПроцедуры


&НаСервере
Процедура  ДанныеНаСервере(Значение,Значение2,Значение3)

НоваяСтрока=Объект.Товары.Добавить();
НайденноеЗначение=Справочники.Номенклатура.НайтиПоНаименованию(Значение,Истина);
НоваяСтрока.Номенклатура=НайденноеЗначение;
НоваяСтрока.Атрикул=Значение2;
НоваяСтрока.ЦенаИзПрайса=Значение3;

КонецПроцедуры
работает так как нужно, но я сомневаюсь в правильности решения...


Теги:
 

Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

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

Ответов: 1
Просмотров: 8570
Последний ответ 26 Апр 2012, 23:08
от Dethmontt
загрузка из "клиента банка"

Автор miximlРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2692
Последний ответ 19 Июн 2012, 09:49
от miximl
Загрузка в 1С Управление Торговлей 11.1.5.16 электронных выписок из клиент банка "Альфа-Банк"

Автор regnusРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 11998
Последний ответ 11 Июл 2014, 17:22
от regnus
Проблема с внешней обработкой "Загрузка банк-клиент.erp"

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

Ответов: 6
Просмотров: 2154
Последний ответ 24 Сен 2015, 20:13
от Kironten
Загрузка из "нестандартного" табличного документа (exel) в справочник

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

Ответов: 1
Просмотров: 999
Последний ответ 03 Июн 2016, 07:15
от cska-fanat-kz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 129
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal