Импорт контрагентов из файла экселя, как сделать?

36. logoped99 02.04.12 12:43 Сейчас в теме
Я средствами внешней обработки. Создаю эксель файл шаблон и заполняю нужными данными, затем преобразую в объект конфигурации.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
37. Farkhod82 02.04.12 13:01 Сейчас в теме
я бы еще порекомендовал стандартную обработку "ЗагрузкаДанныхИзТабличногоДокумента.epf"
Можно втягивать как реквизиты, так и различные свойства справочников в Регистры (при написании определенного кода в событиях ПриЗаписи или ПереЗаписью)
38. ra9000 12 09.04.12 17:30 Сейчас в теме
Учите макросы VBA

Процедура ИзЕкселя()

файл="";
кат="";
Если ФС.ВыбратьФайл(0,файл,кат,"Файл для Загрузки Реквизитов","Все файлы (*.xls) |*.xls")=1 Тогда
файл=кат+файл;
иначе
возврат;
КонецЕсли;

попытка
обЭксел = СоздатьОбъект("Excel.Application"); //создаем объект
НашФайл = обЭксел.Workbooks.Open(СокрЛП(Файл)); //Открываем файл
исключение;
возврат;
конецпопытки;
Лист="";
//для
Листов=1 ;
//по 22 Цикл
//Попытка
Лист = НашФайл.Sheets(Листов); //Устанавливаем нужный лист
//Исключение
//Конецпопытки;

НачальнаяСтрока=1;
КРяд=1000;//Лист.Cells(1,1).SpecialCells(11).Row;

обЭксел.Visible=1;
обЭксел.DisplayAlerts = 0;






Для Ряд=НачальнаяСтрока по КРяд Цикл

Если СокрЛП(Лист.Cells(Ряд,1).Value)="№" Тогда
БылаперваяСТрока=1;
Продолжить;
КонецЕсли;

Если БылаперваяСТрока=0 Тогда
Продолжить;
КонецЕсли;

Состояние("Обработано..."+СокрЛП(Ряд)+" из "+СокрЛП(КРяд));

Артикул=СокрЛП(Лист.Cells(Ряд,2).Value);
КолВо=Число(Лист.Cells(Ряд,5).Value);
Цена=Число(Лист.Cells(Ряд,4).Value);
Сумма=Число(Лист.Cells(Ряд,7).Value);
ЦЕНА=Цена/КолВо;
Страна=Лист.Cells(Ряд,73).Value;
ГТД=Лист.Cells(Ряд,78).Value;
КонецЦикла;

обЭксел.DisplayAlerts=1;

КонецПроцедуры
39. Farkhod82 09.04.12 22:01 Сейчас в теме
(1) lodyr,
Если вопрос стоит в том чтобы произвольные Excel втянуть в справочник 1С, то это лучше всего делать с помошью стандартной обработки "ЗагрузкаДанныхИзТабличногоДокумента8_2.epf". Есть в каждой ИТСке. В процедурах ПриЗаписи или ПослеЗаписи можно дописывать свой код в случаи необходимости.
40. dk999 10.04.12 07:33 Сейчас в теме
(39) не смущает, что тема по 7-ке?
41. ceramica 13 11.04.12 20:46 Сейчас в теме
Процедура ИзЕкселя()

файл="";
кат="";
Если ФС.ВыбратьФайл(0,файл,кат,"Файл для Загрузки Реквизитов","Все файлы (*.xls) |*.xls")=1 Тогда
файл=кат+файл;
иначе
возврат;
КонецЕсли;

попытка
обЭксел = СоздатьОбъект("Excel.Application"); //создаем объект
НашФайл = обЭксел.Workbooks.Open(СокрЛП(Файл)); //Открываем файл
исключение;
возврат;
конецпопытки;
Лист="";
//для
Листов=1 ;
//по 22 Цикл
//Попытка
Лист = НашФайл.Sheets(Листов); //Устанавливаем нужный лист
//Исключение
//Конецпопытки;

НачальнаяСтрока=1;
КРяд=1000;//Лист.Cells(1,1).SpecialCells(11).Row;

обЭксел.Visible=1;
обЭксел.DisplayAlerts = 0;






Для Ряд=НачальнаяСтрока по КРяд Цикл

Если СокрЛП(Лист.Cells(Ряд,1).Value)="№" Тогда
БылаперваяСТрока=1;
Продолжить;
КонецЕсли;

Если БылаперваяСТрока=0 Тогда
Продолжить;
КонецЕсли;

Состояние("Обработано..."+СокрЛП(Ряд)+" из "+СокрЛП(КРяд));

Артикул=СокрЛП(Лист.Cells(Ряд,2).Value);
КолВо=Число(Лист.Cells(Ряд,5).Value);
Цена=Число(Лист.Cells(Ряд,4).Value);
Сумма=Число(Лист.Cells(Ряд,7).Value);
ЦЕНА=Цена/КолВо;
Страна=Лист.Cells(Ряд,73).Value;
ГТД=Лист.Cells(Ряд,78).Value;
КонецЦикла;

обЭксел.DisplayAlerts=1;

КонецПроцедуры
42. lodyr 28.10.07 00:53 Сейчас в теме
Подскажите пож-та, как сделать импорт контрагентов из другой базы, не 1с. Все данные в файле экселя, разбиты по столбцам.
43. O-Planet 6403 28.10.07 02:54 Сейчас в теме
Варианты:
1. Через буфер обмена в пустую таблицу и ее уже расшифровываешь. Я так всегда делаю
2. Работать с файлом Экселя, например, как с OLE
44. lodyr 28.10.07 14:09 Сейчас в теме
спасибо за совет
возможно ли немного более подробно описать первый пункт

из экселевского файла скопировал данные в файл 1с, получился файл с расширением .mxl, что делать с ним дальше? как расшифровывать?
45. O-Planet 6403 28.10.07 21:09 Сейчас в теме
Не так несколько.

В начале модуля -
Перем Таб;

В пруцедуре ПриОткрытии ее создаешь.

Добавляешь кнопку "Таблица". Она эту твою таблицу пустую выводит. Вот сюда и копируешь содержимое твоего файла.

Кнопка "Расшифровать" - к сожержимому ячеек таблицы по переменной "Таб" лезешь и забираешь.
edpipiya; +1 Ответить
46. lodyr 28.10.07 23:42 Сейчас в теме
O-Planet, спасибо

я не программист 1с, а просто пользователь, решил попробывать поставить и немного изучить, т.е. в последствии буду со всем этим разбираться, а сейчас хотел просто импортировать контрагентов как обычный пользователь
т.е. я так понимаю просто импорта нет?


47. CheBurator 2725 29.10.07 01:51 Сейчас в теме
Автор!
Откуда куда импорт?
www.telepatov.net
может у вас в файлу 230 столбцов на 5 листах и вы их хотите закинуть в самописную 1Ску по учету услуг б..ей на трассе Москва-Ярославль...
согласитесь - что в таком учете тоже клиенты есть... только это те клиенты которые вам нужны или нет...? мне это неизвестно...
48. lodyr 29.10.07 16:24 Сейчас в теме
Сhe Burashka
есть база на аксессе
оттуда можно вытянуть клиентов в файл эксель
в файле экселя столбцы: название фирмы, физ. адрес, телефоны, конт.лицо

1С предприятие 7.70.027
конфигурация Торговля+склад редакция 9.2
Оптово-розничная конфигурация 7.70.944
49. lodyr 16.12.07 13:28 Сейчас в теме
Люди! Помогите импортировать контрагентов:)
есть файл экселя, в нем 4 столбца:
краткое наименование контрагента, адрес, телефон, контактное лицо
все это импортирвать в
1С предприятие 7.70.027
конфигурация Торговля+склад редакция 9.2
Оптово-розничная конфигурация 7.70.944

скачал обработки, которые есть здесь на сайте для импорта из экселя, пробывал через них, но там можно импортировать только в справочник контрагенты, а адрес, телефон и контактное лицо находится в связанных справочниках, как их импортировать? Помогите:)
50. Abadonna 3971 16.12.07 15:32 Сейчас в теме
2 lodyr: Не мучайся с ОЛЕ и прочим. Лист ёксель легко сохраняется в dBase IV (стандартно через Сохранить как..). А уж потом объект 1С XBase и вперед и с песней ;)
51. beer 58 16.12.07 18:30 Сейчас в теме
Добрый день.
Вопрос не стоит стольких мук.
Конвертировать в DBF - коллега Вы мазохист???
52. maloi_a 16.12.07 18:49 Сейчас в теме
Все делается в 1С.
Добавляете В справочник "Контрагенты" реквизиты адрес, телефон, контактное лицо если их там нет.
Далее стандартной обработкой из типовой конфигурации торговля "Импорт контрагентов" или любой
другой обработкой переносите в справочник адрес, телефон и контактное лицо из Excel.
Далее небольшой программкой переносите в связанные справочники
соответствующие данные. И всё.
53. Abadonna 3971 16.12.07 19:57 Сейчас в теме
2 beer Нажать Сохранить как... - это муки?!!!!
Человек пока с трудом представляет как штатно выполнить элементарную операцию по добавлению элементов справочника,
а ты хочешь, чтобы он еще в cells[i,j] разбирался?
А с дбф, по крайней, мере можно средствами языка 1С работать
54. O-Planet 6403 16.12.07 21:43 Сейчас в теме
Блин! Я такие задачки обычно решаю на месте у клиентов, поэтому обработки нет для общего случая. Так бы выложил.
55. lodyr 16.12.07 23:11 Сейчас в теме
воз и ныне там:)))
Господа! Давайте я по другому напишу:) я в 1с туп:), только начинаю разбираться и пока с трудом и не все понимаю т.д. и т.д.

мне надо импортировать контрагентов:)
как импортировать краткое название контрагентов при помощи обработок выложенных на сайте я научился:)))
но как импортировать остальные поля в связанные справочники я не знаю, если кто-то может помочь, напишите пож-та
56. Abadonna 3971 16.12.07 23:36 Сейчас в теме
Ну ты вопрос-то конкретизируй. Что ты понимаешь под связанными справочниками? Если, например, банковский счет (да! это связанный), но из твоего описания полей у тебя и в помине оного нет.

Считаем, что до этого у тебя уже создан СпрК=СоздатьОбъект("Справочник.Контрагенты")
СпрК.Новый();
СпрК.Наименование=ЗанесИзЕкселя
Если есть реквизит ЮрФизЛицо тогда примерно так:
в зависимости юридическое или физическое лицо этот контрагент
Спр=СоздатьОбъект("Справочник.ЮрЛица") либо Спр=СоздатьОбъект("Справочник.ФизЛица")
Спр.Новый();
Спр.Наименование=ТоКакоеУжеЗанесНовомуКонтрагенту
Спр.ФактАдрес=ТвойАдресИзЁкселя
..... и т.д.
Спр.Записать(); // записали твой связанный
СпрК.ЮрФизЛицо=Спр.ТекущийЭлемент();
СпрК.Записать(); // вот тут твоего нового контрагета записали со всеми потрохами
57. lodyr 16.12.07 23:51 Сейчас в теме
вот поля, которые позволяет импортировать обработка(и) скачанные с этого сайта из раздела 1с+эксель:
Группа
Это группа?
Код
Наименование
Юридическое или физическое лицо
Основной договор
Основной счет
Идентификатор для XML-обмена
Основное свойство
Адрес электронной почты
Web-страница
Комментарий

если мы откроем справочник контрагенты, то там мы еще увидим такие поля, как
юр.адрес, физ.адрес, телефон и т.д.
т.е. я понимаю, что эти дополнительные поля лежат в каких-то связанных справочниках, так?
так вот как туда занести всю оставшуюся информацию
или это так просто не сделать и надо изучать язык 1с?
Спасибо всем:)))))




58. Abadonna 3971 17.12.07 00:01 Сейчас в теме
>юр.адрес, физ.адрес
Ну я ж тебе выше написал:
ЮрАдрес и ФактАдрес - поля либо справочника ЮрЛица, либо ФизЛица
ЭлПочта - это поле самого справочника Контрагенты...
Короче, без бутылки ты самостоятельно не разберешься ;)
И сомневаюсь, чтобы была универсальная обработка, ибо структура справочника Контрагенты может быть совершенно разная...
59. lodyr 17.12.07 00:23 Сейчас в теме
Abadonna Написал:
-------------------------------------------------------
> Короче, без бутылки ты самостоятельно не
> разберешься
> И сомневаюсь, чтобы была универсальная обработка,
> ибо структура справочника Контрагенты может быть
> совершенно разная...
>
так как структура справочника Контрагенты может быть разной, если конфигурация стандартная?
конфигурация Торговля+склад редакция 9.2
Оптово-розничная конфигурация 7.70.944





60. Abadonna 3971 17.12.07 01:33 Сейчас в теме
Ну вот у тебя 7.70.944 , а у меня под рукой только 7.70.930
И я совсем не уверен, что структуры одинаковые....
А в Бухгалтерский учет, редакция 4.5 справочник Контрагенты САВСЭМ другой, нет там реквизита
ЮрФизЛицо вообще, поэтому и адреса не реквизиты связанных справочников, а реквизиты САМОГО справочника Контрагенты. И в прежних стандартных конфах не было реквизита ЮрФизЛицо, а был реквизит ФизЛицо, для контрагентов типа физлицо. И т.д. и т.п....
А у меня например, реквизит Телефоны не строка, а подчиненный справочник, и email - подчиненный справочник. Вот я тебе и говорю: не может быть универсальной обработки для импорта
61. O-Planet 6403 17.12.07 02:26 Сейчас в теме
lodyrФирма готова немного вебманей бросить? За завтра все импортируем тогда, и не мучайся...
62. maloi_a 17.12.07 05:44 Сейчас в теме
И всё-таки можно обойтись БЕЗ ЗНАНИЙ 1С.
1. Импортировать из Excel в 1С данный файл из 4-х колонок в справочники:
СвоиЮрЛица,
ФизЛица,
ЮрЛица - там эти реквизиты присутствуют физически.
2. Импортировать из Еxcel в 1С данный файл из 4-х колонок в справочник Контрагенты.
3. В типовой Торговле зайти в каждого контрагента и установить вид контрагента, а затем
выбрать из соотв. связанного справочника нужный элемент (озаглавлено "Фамилия и инициалы")
и получим установленные нужные реквизиты логически.
4. Всё.
Насчет контактного лица. Такого реквизита нет нигде.
Поэтому придётся ввести новый реквизит в справочник Контрагенты и вывести
его в поле для редактирования в форме для элемента справочника.
Для этого нужны минимальные знания 1С и помощь конструкторов 1С.
Программирования не нужно.
63. Abadonna 3971 17.12.07 09:37 Сейчас в теме
>4. Всё.
Не всё, а писец вашей норке, если там пара тысяч или поболее...
64. maloi_a 17.12.07 10:48 Сейчас в теме
Тихо едешь-дальше будешь.
За два месяца можно и больше настругать.
Зато не надо обращаться к программистам.
65. Abadonna 3971 17.12.07 10:56 Сейчас в теме
За 2 месяца можно, даже побираясь у магазина, заработать хотя бы пару тысяч.
Так что, если это время сэкономить на побирушки, лучше нанять прога за 500 рублей
Чистая выгода - 1500 ;)
66. maloi_a 17.12.07 11:18 Сейчас в теме
Вот и надо начинать с количества Контрагентов.
А так спор ни о чём.
Вообще-то выбор за lodyr.
Наше дело предложить.
Кстати, там есть ВидКонтрагента, его-то надо тоже как-то вводить.
Иначе писец Вашей норке.
67. lodyr 17.12.07 12:06 Сейчас в теме
Abadonna Написал:
-------------------------------------------------------
> >4. Всё.
> Не всё, а писец вашей норке, если там пара тысяч
> или поболее...
>
да, их как раз за пару тысяч
если бы было разумное число, уже ввел бы ручками:)

> Кстати, там есть ВидКонтрагента, его-то надо тоже как-то вводить.
> Иначе писец Вашей норке.
:)

посмотрел справочник ЮрЛица
там как раз есть телефон, фактический адрес и полное наименование
так если все туда импортировать, то как раз это и будет в контрагентах и сразу с правильным ВидКонтрагента, да?






68. poppy 17.12.07 13:19 Сейчас в теме
maloi_a Написал:
-------------------------------------------------------
> Кстати, там есть ВидКонтрагента, его-то надо тоже
> как-то вводить.
> Иначе писец Вашей норке.

ВидКонтрагента - это реквизит формы элемента. И то, что его нужно вводить при программном создании элемента - это глубокое заблуждение начинающего одноэсника.
69. poppy 17.12.07 13:25 Сейчас в теме
lodyr Написал:
-------------------------------------------------------
> посмотрел справочник ЮрЛица
> там как раз есть телефон, фактический адрес и
> полное наименование
> так если все туда импортировать, то как раз это и
> будет в контрагентах и сразу с правильным
> ВидКонтрагента, да?

Нет, в контрагентах это сразу не будет, но будет только в справочнике ЮрЛица.
Если у тебя среди контрагентов нет ИП и частных лиц, то у тебе нужно загрузить все элементы как в справочник ЮрЛица, так и в Контрагенты. Причем у элементов справочника Контрагенты в реквизите ЮрФизЛицо должны быть ссылки на соотвествующие элементы справочника ЮрЛица
70. maloi_a 17.12.07 13:45 Сейчас в теме
poppy:
Нет, этого недостаточно.
ВидКонтрагента в справочнике Контрагенты
влияет на выбор справочника из 3-х
СвоиЮрЛица,
ФизЛица,
ЮрЛица -
где есть доп. информация Адрес и телефоны.
Даже если мы введём адрес и телефоны в справочник ЮрЛица,
в справочнике Контрагенты они не появятся.
Чтобы выбрать эту информацию, необходимо каждую запись
справочника Контрагенты связать с записью одного из 3-х справочников.
А какого, указывает ВидКонтрагента.
Для этого сначала вводим ВидКонтрагента при вводе записи справочника,
каким образом это будет - неважно, но его надо ввести.

Для lodyr:
Попробуйте ввести в справочник ЮрЛицо новую запись,
а затем в Контрагенты новую запись с ВидомКонтрагента ЮрЛицо
и выберите запись из справочника ЮрЛицо.
Только тогда появляется адрес и телефоны и в Контрагентах.
71. poppy 17.12.07 16:20 Сейчас в теме
2maloi_a

Извини, брат, но тыкать в дветыщи форм контрагентов - это не наш метод. У нас с тобой разные дороги.

Если говорить о
> Для этого сначала вводим ВидКонтрагента при вводе записи справочника,
> каким образом это будет - неважно, но его надо ввести.

В большинстве случаев контрагент - это стороннее юридическое лицо. Так вот, если ты откроешь форму контрагента с незаполненым реквизитом ЮрФИзЛицо (не выбранным ВидомКонтрагента - в твоей терминологии), то программа предложит выбрать ЮрФизЛицо из справочника ЮрЛица. Т.е. ВидКонтрагента можно и не выбирать!

72. maloi_a 17.12.07 16:41 Сейчас в теме
Делать связку руками - это не мой метод тоже.
Это было условием задачи. Обойтись без программирования.
А если не только стороннее Юридическое лицо?
Тогда надо будет как-то указывать это в Excel-файле?

Надо спросить у lodyr.

Короче вот связка, если только стороннее Юр. лицо:
Код
   Спр=СоздатьОбъект("Справочник.Контрагенты");
   Спр.ВыбратьЭлементы();
   Пока Спр.ПолучитьЭлемент()=1 Цикл 
      Если Спр.ЭтоГруппа()=1 Тогда
          Продолжить;
      КонецЕсли;
      ЮрФизЛицо = ПолучитьПустоеЗначение("Справочник.ЮрЛица");
      СпрЮрФиЗЛицо=СоздатьОбъект("Справочник.ЮрЛица"); 
      Если ПустоеЗначение(Спр.ЮрФизЛицо)=1 Тогда
         Если СпрЮрФиЗЛицо.НайтиПоНаименованию(Спр.Наименование,0)=1 Тогда
            Спр.ЮрФизЛицо=СпрЮрФиЗЛицо.ТекущийЭлемент();   
         КонецЕсли;
         Спр.Записать();
      КонецЕсли;
                КонецЦикла;
Показать полностью

73. maloi_a 17.12.07 17:12 Сейчас в теме
Подведём итоги.
Если контрагенты только ЮрЛица, то:
1. Импортировать из Excel в 1С данный файл из 4-х колонок в справочники:
ЮрЛица - там эти реквизиты присутствуют физически.
2. Импортировать из Еxcel в 1С данный файл из 4-х колонок в справочник Контрагенты колонку наименование.
3. Запустить обработку см. выше для установления связей.
4. Всё.
Насчет контактного лица. Такого реквизита нет нигде.
Поэтому придётся ввести новый реквизит в справочник Контрагенты и вывести
его в поле для редактирования в форме для элемента справочника.
Для этого нужны минимальные знания 1С и помощь конструкторов 1С.
Программирования не нужно.
74. lodyr 17.12.07 17:26 Сейчас в теме
аааааа:))))
спасибо, сегодня попробую:)
75. lodyr 18.12.07 15:43 Сейчас в теме
maloi_a
Спасибо большущее :) все получилось
готов отблагодарить вебманями :), пишите

маленький вопросик, после применения обработки с индексами в таблицах будет все нормально, никаких проблем не будет?
76. maloi_a 18.12.07 18:28 Сейчас в теме
После обработки проблем не будет. Проверял.
Кошелек R171468033188
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот