|
|
|
Загрузка из Excel и mxl . ₽ |
☑ | ||
|---|---|---|---|---|
|
0
Goruch
26.12.06
✎
16:27
|
Вот передо мной лежат 2 файла (эксель и xml) с данными справочника сотрудников (порядка 700 человек) мне их надо загрузить в 1С. Вот думаю как их удобнее загружать, и не могли бы порекомендовать статьи на эту тему.
1С v7.7 |
|||
|
1
Ёпрст2
26.12.06
✎
16:35
|
"Вот передо мной лежат 2 файла" ... порнография какая то, надеюсь, они хоть в одежде ? :)
|
|||
|
2
gr13
26.12.06
✎
16:38
|
dbf)))
|
|||
|
3
gr13
26.12.06
✎
16:38
|
ТелепатБот Ответь
|
|||
|
4
gr13
26.12.06
✎
16:38
|
блин как оно работает(
|
|||
|
5
gr13
26.12.06
✎
16:38
|
http://www.yandex.ru/yandsearch?rpt=rad&text=1C%20Загрузка%20из%20Excel%20и%20mxl%20.
на ya нажимаешь и все |
|||
|
6
Ёпрст2
26.12.06
✎
16:40
|
||||
|
7
MAGician_
26.12.06
✎
16:40
|
Если эксель - кури в сторону технологии OLE.
Если xml - в самой 1-ке (1Сv7plus) - есть парсер xml. Кури методы этой дллки. |
|||
|
8
Goruch
26.12.06
✎
16:43
|
Xml я так понимаю удобнее?
|
|||
|
9
Ёпрст2
26.12.06
✎
16:44
|
(0) Для Excel советую xls21c.dll ...
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=7262 |
|||
|
10
Ёпрст2
26.12.06
✎
16:44
|
(8) Кому как ...
|
|||
|
11
Goruch
26.12.06
✎
16:47
|
Смотри у меня многоуровневый справочник, с большим количеством подчиненных и ветвей, + довольно много всякой инфы по ним, как думаешЬ?
|
|||
|
12
Ёпрст2
26.12.06
✎
16:51
|
(11) МОД :)
|
|||
|
13
Ёпрст2
26.12.06
✎
16:51
|
(11) tranref чем не подходит? ...Да и помимо него полно обработок по переносу ..
|
|||
|
14
Goruch
26.12.06
✎
16:53
|
(13)
Хм, что за tranref ? Я хрен-с два правила напишу, там все довольно сложно выходит. |
|||
|
15
Goruch
26.12.06
✎
16:57
|
(14)
В смысле надо програмно это задавать. |
|||
|
16
Ёпрст2
26.12.06
✎
16:57
|
(14) Универсальная загрузка-выгрузка справочников с ИТС
|
|||
|
17
Goruch
26.12.06
✎
17:07
|
Дело в том что выгрузка не из 1С шла а из стороней с 1С не связанной программы.
|
|||
|
18
mun2
26.12.06
✎
17:33
|
OLE
+1 |
|||
|
19
Diter
26.12.06
✎
17:33
|
мыло свети кое что кину в тебя
|
|||
|
20
AcaGost
26.12.06
✎
17:38
|
(17) примерно так
//******************************************* Процедура Выполнить() Эксель = СоздатьОбъект("Excel.Application"); Книга = Эксель.Workbooks; //Эксель.Visible=1; Состояние("Открывается файл Excel."); Попытка Книга = Книга.Add(СокрЛП(КаталогФ) + СокрЛП(ИмяФайла)); Состояние("Открывается файл Excel." + СокрЛП(ИмяФайла)); Исключение Сообщить("Нет Файла "+ СокрЛП(ИмяФайла)); СтатусВозврата(0); Книга.Close(); Эксель = 0; Книга = 0; Возврат ; КонецПопытки; КодТовара = 0; _Год = ""; _Месяц = ""; _Число = ""; _Дата = ""; ВсегоСтрок = Книга.ActiveSheet.Range("A1").CurrentRegion.Rows.Count; Осталось = ВсегоСтрок; Ном = 0; СчЦ = 0; Для СчЦ = Перв По ВсегоСтрок Цикл Если Ном = 0 Тогда Док = СоздатьОбъект("Документ.ВводОстатковТоваров"); СоздДок(Док); КонецЕсли; Осталось = Осталось - 1; Ном = Ном + 1; Тов = СоздатьОбъект("Справочник.Товары"); Сер = СоздатьОбъект("Справочник.Серии"); Пост = СоздатьОбъект("Справочник.Клиенты"); Лаб = СоздатьОбъект("Справочник.Клиенты"); КодТовара = Число(Книга.ActiveSheet.Cells(СчЦ, 1).Value); Если Тов.НайтиПоКоду(КодТовара, 0) = 0 Тогда Сообщить("Товар с кодом - " + КодТовара + " отсутствует. Строка - " + СчЦ); Книга.ActiveSheet.Rows(СчЦ).Interior.ColorIndex = 3; Продолжить; КонецЕсли; КодТовара = Число(Книга.ActiveSheet.Cells(СчЦ, 10).Value); Если Пост.НайтиПоКоду(КодТовара, 0) = 0 Тогда Сообщить("Поставщик с кодом - " + КодТовара + " отсутствует. Строка - " + СчЦ); Книга.ActiveSheet.Rows(СчЦ).Interior.ColorIndex = 3; Продолжить; КонецЕсли; КодТовара = Число(Книга.ActiveSheet.Cells(СчЦ, 14).Value); Если Лаб.НайтиПоКоду(КодТовара, 0) = 0 Тогда Сообщить("Лаборатория с кодом - " + КодТовара + " отсутствует. Строка - " + СчЦ); Книга.ActiveSheet.Rows(СчЦ).Interior.ColorIndex = 3; Продолжить; КонецЕсли; Док.НоваяСтрока(); Состояние("Обрабатывается товар " + Тов.ТекущийЭлемент()); Док.Товар = Тов.ТекущийЭлемент(); Сер.ИспользоватьВладельца(Док.Товар); Сер.Новый(); Сер.Наименование = Книга.ActiveSheet.Cells(СчЦ, 3).Value; _Дата = СокрЛП(Строка(Книга.ActiveSheet.Cells(СчЦ, 4).Value)); _Год = Число(Лев(_Дата, 4)); _Месяц = Число(Сред(_Дата, 5, 6)); Сер.ГоденДо = Дата(_Год, _Месяц, 1); Сер.ЦенаИзг = Число(Книга.ActiveSheet.Cells(СчЦ, 5).Value); Сер.Прих_Цена = Число(Книга.ActiveSheet.Cells(СчЦ, 6).Value); Сер.Розн_Цена = Число(Книга.ActiveSheet.Cells(СчЦ, 7).Value); Сер.ЦенаАпт = Число(Книга.ActiveSheet.Cells(СчЦ, 8).Value); Сер.Прих_ЦенаСНалогами = Число(Книга.ActiveSheet.Cells(СчЦ, 9).Value); Сер.Поставщик = Пост.ТекущийЭлемент(); Сер.ГТД = СокрЛП(Строка(Книга.ActiveSheet.Cells(СчЦ, 11).Value)); Сер.НомерСерт = СокрЛП(Строка(Книга.ActiveSheet.Cells(СчЦ, 12).Value)); _Дата = СокрЛП(Строка(Книга.ActiveSheet.Cells(СчЦ, 13).Value)); _Год = 2000 + Число(Лев(_Дата, 2)); _Месяц = Число(Сред(_Дата, 3, 2)); _Число = Число(Сред(_Дата, 5, 2)); Сер.СрокДействия = Дата(_Год, _Месяц, _Число); Сер.Лаборатория = Лаб.ТекущийЭлемент(); Сер.Валюта = Константа.ОснВалюта; Сер.Записать(); Док.Серия = Сер.ТекущийЭлемент(); Док.Количество = Число(Книга.ActiveSheet.Cells(СчЦ, 15).Value); Док.Сумма = Число(Книга.ActiveSheet.Cells(СчЦ, 16).Value); Док.НДС = Док.Сумма * Число(Книга.ActiveSheet.Cells(СчЦ, 2).Value) / 100; Док.Всего = Док.Сумма + Док.НДС; Если (Ном = СтрДок) и (Осталось >= (СтрДок * 0.4)) Тогда Ном = 0; КонецЕсли; Док.Записать(); КонецЦикла; Книга.Close(); Эксель = 0; Книга = 0; Предупреждение("Всё"); КонецПроцедуры // Выполнить() |
|||
|
21
Злопчинский
27.12.06
✎
02:50
|
Ёпрст2! а в (8) самюзал? корректно возвращает в 1С данные из экселя к типам 1с?
если есть возможность - замыль! |
|||
|
22
Злопчинский
27.12.06
✎
02:50
|
Тьфу, промазал
xls21c.dll - имелось в виду |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |