Змінюй хід війни! Допомагай ЗСУ!

Программисты, подскажите!

🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
Статус: Offline
Реєстрація: 15.07.2009
Повідом.: 198
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #1
Программисты, подскажите!

Программисты, подскажите! Хочу научиться вытягивать данные из 1С в Excel. Я так понимаю, это делается с помощью макросов на Visual Basic?
Если кому-то не жалко, поделитесь, пожалуйста, книгой (электронной или обычной), по которой я смогу научиться, или подскажите, ЧТО именно мне нужно искать :rolleyes:
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #2
а я недавно делал это наоброт :D из экселя затягивал в Ску и проводил документы... Делаеца это помоему и правда на ВБ...но если не изменяет память есть встроенная обработка выгрузки данных.
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #3
встроенная есть вроде, но мне нужно вытягивать из разных типов док-тов разные данные... И именно из 1С в Эксель
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #4
а какого типа данные?

то есть, если у вас 1с 8.0-8.1, и просто нужен реестр доков, то он выгружается одной левой... )
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #5
Есть встроенная утилита для экспорта данных, в том числе. и в Excell.
Точнее, даже не утилита, а набор методов.

Чтобы вытягивать данные из разных таблиц. надо написать соответствующую процедуру 1с.
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #6
нужен не просто реестр док-тов, а (например) из док-та Реализация - сумма отгрузки, из док-та Расходный складской ордер - себестоимость и т.д
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #7
Нада обработку писать...ручками
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #8
хм... мне программист написал программу для этого в Экселе. Я хочу тоже научиться писать такую программу, чтобы создавать себе другие отчеты, поэтому и спрашиваю авторитетного совета. Поможет мне одна книга по Вижуал бэйсик (поделитесь ссылкой на хорошую книжку) или нужно быть программистом, чтобы писать такие программки?
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #9
Чтобы извлекать данные с помощью VB (а точнее, MS Office VBA), нужно их извлекать не из документов или "сферической 1С в вакууме", а непосредственно из ее БД. Для этого мало книжки (или книжек). Нужно точно знать, что и в каких таблицах лежит, уметь писать правильные SQL-запросы, в конце концов, знать логин и пароль для административного доступа к БД.

Так что, не напрягайте вашу симпатичную головку, звоните своему программисту :)
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #10
вот пример функции для вытягивания из экселя в 1С:

Функция ДанныеИзЭкселя(ИсточникФайла) Экспорт

тбДанные = Новый ТаблицаЗначений;

Попытка
Excel = Новый COMОбъект("Excel.Application");
WB = Excel.Workbooks.Open(ИсточникФайла);
WS = WB.Worksheets(1);//указываем номер листа - 1
arr = WS.UsedRange.Value;
WB.Close(0);
Исключение
Предупреждение("Внимание! Файл не открыт."+Символы.ПС+"Попробуйте открыть и пересохранить данный файл программой Эксель.");
Возврат тбДанные;
КонецПопытки;

//Узнаём данные выходные данные об листе ексель
МассивКолонок = arr.Выгрузить();
колКол = МассивКолонок.ВГраница();
колСтр = МассивКолонок.Получить(0).Количество();
//

тбДанные = Новый ТаблицаЗначений;

тбДанные.Колонки.Добавить("ПН", ,"ПН").Ширина = 5; //Добавим новый столбец номер строки

Для кол = 0 По колКол Цикл
назКолМК = "Колонка"+(кол+2); //Сообщить("наз "+имяКолМК);
имяКолМК = назКолМК; //Сообщить("имя "+имяКолМК);
тбДанные.Колонки.Добавить(назКолМК, ,имяКолМК);
КонецЦикла;

//Вставляем необходимое колличество строк в ТЗ
Для новСтрока = 1 По колСтр Цикл
новСтр = тбДанные.Добавить();
номСтр = тбДанные.Индекс(новСтр);
новСтр.Установить(0, номСтр+1);
КонецЦикла;

//Заполняем ТЗ
столбец = 1;
Для Каждого Колонка Из МассивКолонок Цикл
СтолбецИмя = тбДанные.Колонки.Получить(столбец).Имя; //Сообщить("-"+СтолбецИмя);
тбДанные.ЗагрузитьКолонку(Колонка, СтолбецИмя); //табельный номер
столбец = столбец + 1;
КонецЦикла;

Возврат тбДанные;
КонецФункции
 
  • 🟠 23:59 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #11
спасибо всем
 
Назад
Зверху Знизу