gifts2017

Загрузка данных из Excel в документы 1С УТ 10.3 и не только...

Опубликовал Сергей Зарайкин (CXY) в раздел Обработки - Обработка документов

Писалась по заказу клиента, в итоге теперь пишется для души (не торопясь). Здесь представлен основной механизм, который должен отвечать концепции универсальной загрузки. До конца не доработан (пока) универсальный механизм привязки реквизитов шапки документа. В первую очередь обработка предназначена для загрузки данных в документ "Поступление товаров и услуг", однако может работать во всех других случаях (при необходимости возможно сделать изменения, код ПОЛНОСТЬЮ ОТКРЫТЫЙ.

Вкратце о последовательности действий:
1) Загрузить файл для предпросмотра, затем выбрать лист для загрузки, двойной щелчок для загрузки.
2) Правой кнопкой мыши на столбце, содержащем заголовки таблицы - и выбрать Поставить заголовки.
3) Затем также контекстным меню правой кнопкой мыши определить начало и конец табличной части
4) Определиться, по какому критерию будет производиться сопоставление с номенклатурой в 1С, установить название соответствующего столбца (Код, Наименование или Артикул) через позицию контекстного меню.
5) Заполнить реквизиты Тип документа и Организация
6) Нажать кнопку Произвести сопоставление...
7) Перейти на страницу 2 и вручную (через меню по правой кнопке мыши) проставить недостающие соответствия. В случае отсутствия нужной номенклатуры сначала ввести её в справочник, а потом выбрать.
8) Заполнить реквизиты внизу страницы.
9) Перейти на страницу 1, через контекстное меню проставить соответствия колонок файла Excel и реквизитов табличной части (например Товары). При этом не обязательно заполнять все соответствия.
10) Остается нажать на кнопку Загрузить данные в документ 1С.

Обработка постоянно дорабатывается, прежде всего в концептуальном плане с точки зрения универсальности, и в то же время простоты использования для обычного пользователя.  При этом обработка останется бесплатной.
Конструктивные предложения приветствуются.

(01.05.2011) Загрузка из Excel реализована через загрузку диапазонов, что гораздо быстрее.

(03.05.2011) Теперь можно работать с листами Excel файла. Вставлена работа с форматами колонок, а также возможность очистки значений от пробелов, произвольных символов а также от спецсимвола 160. Вызов этих функций работает через контекстное меню (правая кнопка мыши).

(04.05.2011) Использован механизм транзакций при загрузке. При успешной загрузке выдает форму документа (загрузка пока проводится на документе "Поступление товаров и услуг").

(15.05.2011) Включен функционал поиска по коду, расширена система контекстного меню - при переименовании колонки можно выбрать конкретные имена (Код, Наименование, Артикул).

(20.05.2011) При необходимости можно править содержимое ячеек таблицы загружаемых данных. Причем двумя способами: как в списке, так и в диалоге (через контекстное меню).

(30.05.2011) Добавлена возможность загрузки номеров ГТД. Для этого необходимо вначале проверить очередность полей, содержащих информацию о номере ГТД и стране происхождения. Столбец, содержащий номер ГТД, должен стоять перед столбцом, содержащим страну происхождения (для этого достаточно в окне обработки просто перетащить столбец в нужное место). Механизм сопоставления переработан, теперь в нем можно указывать соответствия не только полям документа, но и составляющим их реквизитов (например реквизитов поля Серии номенклатуры). Более того, теперь можно назначить несколько соответствий одной колонке табличных данных (см. последний скриншот). При загрузке ГТД необходимо помнить, что в карточке номенклатуры должна стоять галочка "Вести учет по сериям". В этом случае загруженный и записанный этой обработкой документ можно будет провести.

(06.06.2011) Сделан еще один шаг в сторону универсальности, теперь можно загружать не только документ Поступление товаров и услуг, но и другие документы, связанные с номенклатурой, например Оприходование товаров. Эти изменения сделаны благодаря помощи со стороны z r.

(09.06.2011) Вставлен пункт "Замена" в контекстном меню (подменю "Исправление содержимого колонок"). Эта команда позволяет сделать замену значений по колонке. Например, вставить "%" в колонке СтавкаНДС. Работает на основе функции СтрЗаменить().

(12.06.2011) Небольшое исправление,  решающее проблему при загрузке ГТД и страны происхождения.

(14.10.2011) Переработан интерфейс обработки, внесены коррективы для повышения универсальности. Скоро выйдет очередная версия...

(24.10.2011) Теперь стало возможным сохранение номенклатуры в справочник. Советую не забывать про механизм проверки соответствий по номенклатуре, чтобы не создавать дубли. Появилась фильтрация данных (например в колонке данных должны быть только цифры, или только латиснкие символы и цифры), вызывается контекстно правой кнопкой мыши, подменю Исправление содержимого колонок. В обработке увеличилось и количество настроек, они вынесены на отдельную страницу...

(20.12.2011) Исправлены найденные ошибки. Советую обратить внимание на возможность сохранения данных в справочнике Номенклатура в подгруппах...

(01.04.2012) Появилась возможность поиска соответствий по полному наименованию номенклатуры (4-й способ поиска). В этом случае во вкладке Соответствия появятся дополнительно две колонки. Кроме этого, в настройках добавилась возможность корректировки поля НаименованиеПолное справочника Номенклатура. Во всех перечисленных случаях в загружаемом массиве данных из EXCEL должна быть колонка под именем НаименованиеПолное...

Скачать файлы

Наименование Файл Версия Размер
ЗагрузкаИзExcel.epf 1523
.epf 31,37Kb
01.04.12
1523
.epf 31,37Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Сергей Зарайкин (CXY) 29.04.11 23:07
Писалась по заказу клиента, в итоге теперь пишется для души (не торопясь). Здесь представлен основной механизм, который должен отвечать концепции универсальной загрузки. До конца не доработан (пока) универсальный механизм привязки реквизитов шапки документа. В первую очередь обработка предназначена для загрузки данных в документ "Поступление товаров и услуг", однако может работать во всех других случаях (при необходимости возможно сделать изменения, код ПОЛНОСТЬЮ ОТКРЫТЫЙ.


Перейти к публикации

1. Ирина Пятакова (Alraune) 29.04.11 23:07
Минус от Eugeneer без объяснения выглядит как-то не очень.
2. Eugeneer (Eugeneer) 30.04.11 07:40
(1) Посмотрел программу. Так и не понял чем она лучше чем обработка с ИТС "Загрузка данных из табличного документа". Не увидел ни одного преимущества кроме ограничений
А то что автор пишет что под универсальность - в модуле совершенно отличается от действительности.
3. Eugeneer (Eugeneer) 30.04.11 07:56
Автор хотел критику, отвечу - дилетанская работа начинающего 1Сника. Изобретание велосипеда с квадратными колесами. Хуже всего того который уде 100 раз изобретен, включая саму фирму 1C с их обработкой на ИТС. Я так понимаю призывы к открытому коду говорят о том, что автору лет так 22.

В описании какие то промахи...

"Писалась по заказу клиента, в итоге писалась для души (не торопясь)." - посалась под заказ - что олзначает "в итоге писаласьб для души не торопясь" т.е. вы не торопясь клиенту потом счет на какое количество часов предоставили? )))

В начале написаено- "Здесь представлен основной механизм, который должен отвечать концепции универсальной загрузки. "
А в конце - "На какую-то уникальность не претендую"

"но не нашел подходящей обработки (платные не в счет). Пришлось самому." - странно. я ьтут их десятками нахожу. а на диске ИТС лежит что ни на есть самая универсальная разработка по загрузке, какая только может быть.

В конце - "Обработка пока еще не совсем доработана, но это будет сделано и достаточно быстро." не сочетается с нчалом -"писалась для души (не торопясь)".

"при необходимости можно сделать изменения, код ПОЛНОСТЬЮ ОТКРЫТЫЙ." - посмотрел код. Крайне неудачный. плохо объявленые переменные (слишком короткие). Автор поленился текст модуля отформатировать. По процедуре считывания из Экселя - ну зачем читать ячейки?!?!? он же док на 40 тысяч строк будет час читать. Посмотри обработку с ИТС.

Судя по описанному. Спасибо - не надо. Проект будет мертв уже через неделю. Я так понимаю автору нужно совсем немного чтобы достичь рейтинга в 30 балов. Пусть образается в личку, у меня полно интересных задач. Поделюсь чем нибудь интересным.
Rustig; e.kogan; Yashazz; Ish_2; +4 Ответить 5
4. Игорь Исхаков (Ish_2) 30.04.11 07:59
(1) Он исправился в (3). По - моему, очень убедительно.
5. Артур Аюханов (artbear) 30.04.11 09:21
(4) Ага, убедительно показано, что писалось очень быстро и без доп.проверок.
Куча ошибок при написании :(
6. Денис (1cspecialist) 30.04.11 14:23
(2) Давайте скажем честно, что универсальная загрузка из табличных документов с ИТС либо для супер-продвинутых пользователей, либо вообще не для пользователей, а для внедренцев. Задумка автора понятна - дать максимально простой инструмент рядовому пользователю. Как у него получилось реализовать его - это отдельный вопрос. А то, что он не воспользовался поиском и не нашел возможные аналоги на ИС - ну что же, в следующий раз будет умнее, прежде чем тратить свое время на изобретение велосипеда.
(3) Непонятно, зачем вы пытаетесь поймать автора на словах? Дал конструктивную критику - молодец, помог "начинающему 1снику" сделать работу над ошибками. Но зачем сразу "дилетантом" называть? Это как минимум не этично.
7. mosAdm (mosAdm) 02.05.11 18:35
(0) Однозначный плюс, за внешний вид, открытый код и бескорыстность. А ошибки наверняка будут исправлены. Успехов.
8. Сергей Зарайкин (CXY) 02.05.11 18:40
9. Яков Коган (Yashazz) 02.05.11 23:12
Автор, окстись. Здесь таких обработок - десятки, уж доработать напильником за полчаса можно каждую вторую бесплатную. Плохо искал. Вот (3) правильно пишет, увы.
10. Eugeneer (Eugeneer) 03.05.11 03:15
(8) за бесплатно... кстати если есть желание за бесплатно поработать могу предложить работу.
11. Эстер Коган (e.kogan) 05.05.11 17:01
(4) В ЗагрузкеИзТабличногоДокумента:
	ActiveCell = Excel.ActiveCell.SpecialCells(xlLastCell);
	RowCount = ActiveCell.Row;
	ColumnCount = ActiveCell.Column;
	Для Row = 1 По RowCount Цикл
		
		Для Column = 1 По ColumnCount Цикл
			ТабличныйДокумент.Область("R" + Формат(Row, "ЧГ=") +"C" + Формат(Column, "ЧГ=")).Текст = ExcelЛист.Cells(Row,Column).Text;
		КонецЦикла;
		
	КонецЦикла;
...Показать Скрыть

Тут умудрились сделать менее оптимально???
12. Игорь Исхаков (Ish_2) 05.05.11 17:12
(11) Я так понимаю : Вы обратились к (3).
13. Eugeneer (Eugeneer) 05.05.11 17:16
(11) в тысячу раз. Прайс на 100000 строк считывается пару минут.
14. Иван Шинаков (new_Human) 11.05.11 11:41
Самый удобный интерфейс для пользователя из всех, представленных на infostarte для 8.1, а стандартная с ИТС "Загрузка данных из табличного документа", она и есть стандартная - попробуйте загрузить произвольный док xls этой обработкой, я окончания процесса так и не дождался.
15. Сергей Зарайкин (CXY) 15.05.11 17:24
(11)(13) Неправда ваша. Из Excel копируется весь диапазон, а вставка - по колонкам:

Область = Excel.ActiveWorkbook.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).Range(Excel.ActiveWorkbook.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).Cells(1,1), Excel.ActiveWorkbook.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).Cells(ФайлСтрок,ФайлКолонок));

Данные = Область.Value.Выгрузить();

Для Счетчик = 1 По ФайлКолонок Цикл
ДанныеЛиста.ЗагрузитьКолонку(Данные[Счетчик-1], Счетчик);
КонецЦикла;
16. Аркадий Кучер (Abadonna) 16.05.11 05:15
(13)
в тысячу раз. Прайс на 100000 строк считывается пару минут.

Это по твоему быстро?
MiracleV8
Abadonna 08.11.09 17:58 Модератор ID HID
+(69) Ха! Сам не ожидал:
время заполнения xls-матрицы 50000х10 (пятьдесят тыс. строк, 10 столбцов) словом "Тест"
Старт: 08.11.2009 21:51:36
Финиш: 08.11.2009 21:51:58
Старт: 08.11.2009 21:52:09
Финиш: 08.11.2009 21:52:32
Старт: 08.11.2009 21:52:59
Финиш: 08.11.2009 21:53:21
______________________________________
тачка:
Процессор:AMD Athlon™ 64 X2 Dual Core Processor 4600+ частота 2420
Оперативная память, MB: 2146

30 секунд и на запись.
И не надо никакого ёкселя в системе, который обычно ворованный
17. Eugeneer (Eugeneer) 20.05.11 20:13
(16) а ты про синхронизацию забыл чтоли?
Я вообще не использую никаких экселей (хотя возможность такая есть).
В форме обработки табличное поле 1С. вставляем туда через буфер обмена любую таблицу хоть 200 тысяч строк, и встроенным языком она обработается и синхронизируется вообще без всякого чтения экселевских ячеек.
18. Eugeneer (Eugeneer) 20.05.11 20:15
Из экселя не все можно чисто прочитать. Попробуй ка считать сохраненную в экселе печтную форму торг-12 с кучефй полей в шаке, лишних ячеек и прочей лабуды.
Да еще колонки кто как хочет называет. или используют разные версии программ где даже торг12 каждый раз отличается. Все это напряжно для пользователей. каждый раз вырезать, убирать объединения ячеек и прочее.
А прайсы покупателей ничуть не легче. каждый кто как хочет так и делает.
19. Аркадий Кучер (Abadonna) 20.05.11 20:27
(18) Ну вы, блин, даете. А в буфере она сама родилась что ли? Или ты так юзверю: меня не колышит, вынь да положь в табличное поле?
За 30 секунд у меня СЧИТАЛАСЬ уже. А ты сколько времени откуда-нить в буфер загонять будешь, потом еще и выгонять?
И не треснут мозги у компа 200 тыс. строчек в памяти держать?
20. Eugeneer (Eugeneer) 20.05.11 20:53
(19) гы. это вообще нормально. Ты не задумывался ниразу что ни один юзер не быдет в 1С надимать открыть файл без того чтобы этот файл итак открыть. перенос из буфера 3 секунды дел. Спасает толковая инструкция. за то у человека все перед глазами. а они всегда хотят виджеть то что у них перед глазами. а не впустую смотреть на экран. все равно ведь будут открывать и проверять и щелкать по окнам...Это психологический момент.

Второе - не все фирмы вообще держал офис майкрософта. 7 тыщ на каждого юзера за то что он практически не использует даже 95 процентво его функций это перебор. Многие даже не могут купить сервер нормальный, а ты думаешь будут на каждого 7 штук тратить?
Я 12 лут в двух фирмах проработал крупных. 120 и 70 юзеров в 1С соответственно. мы используем вообще опенофис. писать постоянно программу под каждый офис и чтение с него - это гемморой. Читаться будет в любом случае долго. А пользователи хотят быстро! самый быстрый способ просто скопировать всю таблицу в 1С. В принципе как показала практика людям этот способ нравится больше!
21. Eugeneer (Eugeneer) 20.05.11 20:54
(19) ты чо смеешся какие 30 секунд. куда загонять??
открыл файл в опенофисе. выделил все таблицу. правая кнопка мыши - копировать. открыл окно 1С в табличное поле щелк - вставить. и опа на - все что тебе надо уже в 1С.
22. Аркадий Кучер (Abadonna) 20.05.11 20:56
Я как раз задумывался, что все мои знакомые тупые овцы (в т.ч. и ГБ среди них) вообще не в состоянии что-либо выделить, скопировать и вставить.
А вот файл по кнопке выбрать умеют.
Когда предлагаешь просто копирнуть таблицу mxl в ёксель, глаза напоминают монитор компа, зависшего в прошлом веке
23. Eugeneer (Eugeneer) 20.05.11 20:57
(19) насчет 200 тыщ срок в памяти компа это ты погорячился)) жестко)) если ты не в курсе в операционке все работает в памяти. любой открытый файл уже в памяти. с вычислительными мощностями современных компов а щаз меньше чем с 3 гигами вообще компы не продают даже самые дешевые, то мелочится о каких то 200 тыщ строк экселя это очень смешно. ...даже забавно от тебя такое слышать... а то что 1С открывает эксель и этой файл пытается считывать ничо так не грузит?)))
24. Eugeneer (Eugeneer) 20.05.11 21:00
(22) сочувствую)) такое везде есть. но я бы таких пользователей не подпускал бы и близко ни к одной загрузке. хоть файл хоть буфер...таким противопоказано вообще чтоли бо вносить в базу. и буфер тут нипричем. если юзер такую элементарную вещь делать не может то я побоясля ему доверять чтолибо грузить в базу вообще. а то не тот вариант выбуреут. не ту настройку заведут и прочее... ведь самое слоджное начинается именно когда надо все это настроить,синхронизировать и естественно что то в базе создать.
Мало того что обработки бывают косячными 9что такой юзер не увидит) так еще и напортачат там делов. разгребюать потом придется месяцами.
25. Аркадий Кучер (Abadonna) 20.05.11 21:00
(23)
если ты не в курсе в операционке все работает в памяти

Доктор, ты кого лечишь? Открой приличный текстовик по F3 и по F4 в Тотале, и оцени скорость появления на экране страницы.
Ты даже азов считывания в память того куска, который сейчас нужен, а не ваще всего представления не имеешь, а туда же.
Я ж говорю - одноэснеги, мля
26. Eugeneer (Eugeneer) 20.05.11 21:03
Лично у меня на фирме сейчас основная задача это загрузка прайсов, счетов поставщиков. и не просто загрузка в документы но и анализ всего этого дела на этапе когда еще ничего не создано. все это на этапе чтения таблиц. Т.е. простая загрузка в принципе даже не интересна. занимаются этим менеджеры, квалифицированные. Хотя я итак по максимум попытался автоматизировать всю настройку загрузки, что в принципе они уже на автомате работают.
27. Eugeneer (Eugeneer) 20.05.11 21:04
(25) мне очень жаль что у тебя такой слабый комп когда на дворе 2011 год.
28. Eugeneer (Eugeneer) 20.05.11 21:06
если по твоему 200 тыщ строк экселя это предел вычислений я вообще тогда не понимаю как вы там работаете. хз. мож компы десять лет не меняли...
29. Ийон Тихий (cool.vlad4) 20.05.11 23:36
(23) не говорите глупостей...почитайте про управление памятью в ос...если интересно...таненбаум, руссинович...сейчас уже всех не вспомню...буфер далеко неуниверсальный способ, у него куча недостатков , но если он вам подходит, это самое главное
30. Аркадий Кучер (Abadonna) 21.05.11 06:06
как вы там работаете. хз. мож компы десять лет не меняли...

На которых твои работаю, мы такими уж давно в футбол играем. Можешь и не сомневаться.
31. Eugeneer (Eugeneer) 21.05.11 10:20
(30) Уважаемый, какой то у вас неадекватный сарказм.
32. Аркадий Кучер (Abadonna) 21.05.11 22:43
(31) Неадекватный? Да за " если ты не в курсе в операционке все работает в памяти" я ваще бритвой по горлу могу ;)
33. Игорь Исхаков (Ish_2) 22.05.11 08:22
(31),(32) Обожаю такие перепалки.. Слушайте сюда :
Вы оба неадекваты - а я Портос !
34. Аркадий Кучер (Abadonna) 22.05.11 08:25
(33) Какие на фиг перепалки могут быть? С одноэснегом, для которого файл открыт=он весь в памяти?
Не шибко ли чести много будет?
35. Игорь Исхаков (Ish_2) 22.05.11 08:37
(34) Ты в 1с-ников не плюй. Сайт -то "ИС" для нас !
"Нас тьмы и тьмы и тьмы.." - куда тебе тягаться с нами ?

Теперь скажи :
какая польза нормальному 1с-нику с того , что "файл открыт" <> "он весь в памяти" ?
В скольки случаях из 100 эта истина нам пригодится ?
36. Аркадий Кучер (Abadonna) 22.05.11 08:38
(35) Нормальные одноэснеги для меня - Шариковы. Удовлетворен?
37. Игорь Исхаков (Ish_2) 22.05.11 08:49
(36) Все - Шариковы, а я Д'артаньян . Так ?
Это у тебя - по молодости. Пройдёт.
38. Аркадий Кучер (Abadonna) 22.05.11 08:50
(37) Ага, годам к 100, может быть...
39. Аркадий Кучер (Abadonna) 22.05.11 08:57
(35)И дело не в том, знает он или нет, мне пох. А в том, что посмел написать мне "если ты не в курсе"
40. Алексей Роза (DoctorRoza) 22.05.11 09:02
Девочки .. не сорьтесь! :)
41. Eugeneer (Eugeneer) 23.05.11 22:41
(35) так ясень пень ты не в курсе. Такой бред написать про тормоза копирования экселевского файла в буфер. Ты еще скажи что если я фильм 40 гиг правой кнопкой нажму Копировать в буфер то у меня весь комп от этого зависнет..
42. Eugeneer (Eugeneer) 23.05.11 22:50
(30) кстати про футбол..ноги не отваливаются? раньше компы были большими и тяжелыми.
А как же не сомневаться когда ты такую фигню про буфер пишешь "Открой приличный текстовик по F3 и по F4 в Тотале, и оцени скорость появления на экране страницы."
Ты б еще предложил avi гигов 40 открыть из тотала блокнотом...И причем тут вообще открытие и работа с буфером? причем тут скорость появления на экране? Такое может тока сказать чел у которого пень 95 года до сих пор на работе. Если у тебя комп тормоз то он будет и три дня открывать что то. Буфер то тут каким боком?
Я изначально вообще сказал о том что: любой менеджер вне зависимости от чего либо ВСЕГДА в любом случае откроет полученный прайс от поставщика (то ли он печатать его будет, то ли просто смотреть, то ли просто проверить а вдруг там бабы голые...). Потому что это действие происходит ВСЕГДА, т.е. актисома которая не нуждается в доказательстве. Тем более даже для загрузки его всегда откроет чтобы просто видеть что ему там надо настраивать и т.д. и т.д. и т.п...И будет прфгать между окнами..задавать настройки колонок и прочую всю хрень (удалять лишние строки, ячейки и т.д.). НУ и нафиг оно надо? - туда сюда щелкать? Только время теряется. А потом еще после чего то там правки,.. будет сохранять файл, потом в 1С нажимать кнопку Открыть, будет искать по папкам файл, открывать,ждать, опять проверять....
СЕЧЕШЬ? сто писят лишних действий. Да еще и тормоза будет ловить работаещей по оле с экселем 1Ски.

Я менеджеру все эти 150 действий заменил тремя: открыл файл, копи-паст, вставил в табличное поле. Нажал одну кнопку. И всё уже все считано, само отформатировано, само настроено.

Мы тут не о тотале говорим, а об офисе и копировании через буфер содержания электронной таблицы, которое происходит мнгоновенно.
И позволяет получив таблицу в 1С работать со встроенным родным табличным полем и встроенными методами, которые сделают считывание данных в триллин раз быстрее чем из 1С подключаться к офису.
43. Eugeneer (Eugeneer) 23.05.11 23:04
Слова " А ты сколько времени откуда-нить в буфер загонять будешь, потом еще и выгонять?" мог сказать только чайник, который вообще ноль в компьютерах. Не знать что такое буфер обмена, принцип работы и т.п., сравнивать буфер обмена с какими то тормозами открытия тоталом текстовых файлов.... это тяжкие обстоятельства.
44. Аркадий Кучер (Abadonna) 24.05.11 03:39
Тяжелые обстоятельства принимать образное выражение за буквальное. Впрочем, что с одноэснега взять.
Под "загнать в буфер" (и дураку понятно) подразумевалось, что надо чем-нибудь открыть.
Покажи мне супер-современный комп, который в опен-офисе влёт откроет файл с твоими пресловутыми 200 тыс. (!) строк.
Потому что это действие происходит ВСЕГДА, т.е. актисома которая

Представляю себе менеджера в терминале открывающего файл на 200 тыс. строк. Да кто ж ему позволит? И кто ему ваще там хотя бы опен-офис поставит?
Твой пример для вшивых контор со вшивой организацией сети, а у вшивых контор прайсы поставщиков ну уж никак больше 500 строк не будут.
И какая там уж половая разница оле не оле? Да никакой!
45. Eugeneer (Eugeneer) 24.05.11 08:33
(44) я упал в осадок....человичище да ты неадекват полный. Сейчас если люди увидят твою писанину про вшивые конторы, то боюсь твой рейтинг может скатится к нулю. Вполне возможно твой рейтинг на половину состоит из подобных фирм.
Чайник в компах, еще и в бизнесе. Называть фирмы вшивыми, прайсы до 200 тысяч строк огромными....
ЗЫ между прочим у меня десятки небольших компаний (до 5 пользователей) которые со сто тысячными прайсами работают.
46. Eugeneer (Eugeneer) 24.05.11 08:38
акуеть просто! открытие экселевского файла вдруг стало непосильной задачей для компа товарища Абадонны. Именно поэтому он решил из 1С программно по оле открывать все тот же файл запуская эксель и поячеисто считывать его ячейки...и процесс завис до утра...
47. Аркадий Кучер (Abadonna) 24.05.11 08:38
(45)Я офигеваю на тобой. Где ты видел мой рейтинг для 1С?
Весь мой рейтинг - разработки для программистов, а не для "вшивых контор".
И меня он, к тому же, ни грамма не волнует.
48. Аркадий Кучер (Abadonna) 24.05.11 08:45
+/47/ Насчет бизнеса.. За стенкой сидит мой корефан, у него вообще нет 1С и прайсов на сто тыс. строк, однако же, при желании, купит тебя со всеми потрохами. И будешь два раза "ку" делать, как миленький.
49. Ийон Тихий (cool.vlad4) 24.05.11 09:52
:D ушел за попкорном...
Почему буфер обмена не для серьезных дядей

1. Безопасность. Из-за нее его просто могут запретить.
2. Различные программы и различное взаимодействие. Как правило отсутствие апи, приходится полагатся на разработчиков, как они реализовали работу с буфером.
3. Хотя и есть менеджеры по работе с буфером, все таки он поддерживает только один поток.
4. Практически ручная работа. Прайсов может быть 100500 от всех поставщиков, не все их любят открывать.
Из рассуждений Инженера про 40 гиговый фильм, можно сделать вывод, что чего-то он не понимет в буфере..или говорит не то..
50. Ийон Тихий (cool.vlad4) 24.05.11 09:55
Работа с форматом xls не ограничивается ole и буфером. Есть ADO, есть библиотеки по взаимодействию с форматом (У Душелова например видел реализацию), для C++ видел платную xlslibrary, для C# - бесплатная Excel Library, для Delphi - платная TXls, но просторах рунета можно найти сырцы.
51. Ийон Тихий (cool.vlad4) 24.05.11 10:17
(42) :D а вы зачетный тролль....вообще-то Abadonna ответил таким образом, после того как вы сказали
если ты не в курсе в операционке все работает в памяти
52. Аркадий Кучер (Abadonna) 24.05.11 19:19
(42)
.или говорит не то..

Да он, по ходу, вообще не понимает о чем говорит...
Вполне возможно твой рейтинг на половину состоит из подобных фирм.

Это о чем? О разработках для проггеров, которые представляют только самих себя, а не "вшивые" или "не вшивые" фирмы?
Хоть бы удосужился в профайл заглянуть. Это ты, Инженегр, зависишь от мнения, покупающих твои поделки.
Я ничего не продаю, и на мнение любых контор мне плюется с высоты Пизанской башни.
Желаю успехов на поприще копи-пастов, для одноэснега с рублём в глазах это еще немного времени прокатит.
onlyone777; +1 Ответить 2
53. Eugeneer (Eugeneer) 24.05.11 19:37
(52) ну и бред же ты несешь...а от чего ты зависишь? кем ты вообще работаешь? в зеркало посмотри? ты - программист! и зависишь от всего. а если не зависишь как утверждаешь то ты вообще рядовой кодер. И если не будешь расти и развиваться то действительно недолго тебе осталось.
54. Аркадий Кучер (Abadonna) 24.05.11 19:45
(53) До тебя не дошло, что не работаю я программистом?
И не работал никогда. На момент регистрации на Инфостарте я был заместителем финансового директора крупного завода.
Ты кому развиваться предлагаешь? Ты кроме кода 1С знаешь что-нибудь? Хоть одну API, например.
А что-нибудь подобное http://infostart.ru/public/15043/ написать сможешь?
Так что засунь свой гонор в известное место, и не раздражай меня больше. Надоел.
55. Eugeneer (Eugeneer) 24.05.11 19:50
(52) именно потому как ты относишся ко всему ты и не профи. и бред несешь.
И причем тут что я продаю или не продаю? я с 1С работаю 12 лет, а продавать начал что либо только год назад. ты мне в карман решил посмотреть? Себе смотри. Да я видел что ты в 1С не знаток..какие то компоненты пишешь. Видимо перепрыгнул с другого языка. Професиональными навыками предметной области не владеешь, с пользователями не работаешь. Так можеть ты вообще не в той отрасли работаешь сейчас? зачем тебе 1С? Хотя ответ очевиден - пошел в 1С за легкими заработками, тут ты не виноват. Как говорится кто на что учился..
Так вот как знаток ВК и других программных средств такую фигню нести про какие то там тоталы с блокнотами...
То же желаю успехов, для человека попавшего в вынужденную ситуацию связавшись с 1С и не хотящему развиваться немного времени прокатит.
56. Eugeneer (Eugeneer) 24.05.11 19:51
(54) почисти хотя бы флуд не в тематической теме.
57. Eugeneer (Eugeneer) 24.05.11 19:53
(54) я без понятия кем ты работал и мне не интересует. Сайт посвящен 1С и в профиле стоит "Профессиональный разработчик" я чо телепатировать должен что ты вообще с 1С не связан хотя тут как проф разработчик на тематическом ресурсе что то делаешь..
58. Аркадий Кучер (Abadonna) 24.05.11 19:59
(57) В следующий раз просто задумывайся для начала, на кого бочку катить начинаешь. Совет очень взрослого дяденьки.
И еще: я смотрел сквозь пальцы, но если ты еще раз в чужой бесплатной разработке начнешь пиарить свои платные - буду просто резать.
И жалуйся хоть в спортлото.
59. Eugeneer (Eugeneer) 24.05.11 20:05
(58) а ты что какой то особенный ? Президент страны? Сам вступил дисскусию, причем особенно уперто, даже на секунду не осознав что написал.
Я где то тут ссылки оставлял? пиар разводил? мой поств (3) заработал 3 плюса за комментарии. Ни одной ссылки и т.п. Уж кого я пиарю сейчас тут так автора и его разработку которая набирает скачивания и рейтинги! А угрожать ты мне не имеешь права. Пункта ни одного не нарушено, кроме того что нарушил ты - развел флуд в тематической теме, а я вел конструктивную на все 100 процентов беседу. ни один комментарий не является флудом. можешь свои угрозы засунуть сам знаешь куда. взрослый даденька.
60. Аркадий Кучер (Abadonna) 24.05.11 20:13
(59)
конструктивную на все 100 процентов беседу

???
.человичище да ты неадекват полный


Чайник в компах, еще и в бизнесе.

Я тебе только одноэснегом назвал, но ты ж и сам этого не скрываешь...
Если у тебя комп тормоз то он будет и три дня открывать что то. Буфер то тут каким боком?

Буфер как раз тем боком, что чтобы туда загнать и
то он будет и три дня открывать

И не рассказывай мне сказок про супер-новые компы, которые в опен-офисе файлы размером в 200 тыс. строк влёт открывают.
А то что ты открыл, что в табличное поле можно вставить содержимое буфера, тут поздравляю! Никто до этого не додумался :D
61. Eugeneer (Eugeneer) 24.05.11 20:18
62. Eugeneer (Eugeneer) 24.05.11 20:33
СЕйчас не получается у меня только ридер стоит. Опенофис качать надо. Есть только прайс на 60 тысяч строк. завтра сделаю на 300 тысяч.
63. Эстер Коган (e.kogan) 31.05.11 16:03
(62) Как я вам завидую, если вы ни разу на компе с 4Гб оперативки не ловили сообщение "...выполняется запись дампа..." и т.д. при попытке вставить "всего-то" сотню тысяч строк из экселевского буфера.
1С просто тихо сыплется.
Я уж не говорю, что для выделения этой самой сотни тысяч строк порой приходится ждать минут по десять.

Об азах того, что есть буфер и как при различных операциях загружается оперативка, рассуждать не буду - всё равно не услышите.

UPD: Во, только что потребовалось перегнать около 120000 строк... результат - в прикреплённом скрине.
Прикрепленные файлы:
64. Артур Аюханов (artbear) 31.05.11 16:51
Eugeneer 24.05.11 20:33 213.138.82.35 ID HID Ссылка Цитата Ник
СЕйчас не получается у меня только ридер стоит. Опенофис качать надо. Есть только прайс на 60 тысяч строк. завтра сделаю на 300 тысяч.

неделя прошла. Ждем.
65. Eugeneer (Eugeneer) 31.05.11 18:23
(60) на лови. Правда у меня опенофис и мне не получилось сделать файл объемом больше 65000 строк (специально медленно промотал весь список чтобы вы не киздели что я там пустые строки нафигачил)
Вот видео работы через буфер.
http://www.youtube.com/watch?v=PWwuim2NN74


(63) что это? причем тут буфер? если вы по оле из 1С будете считывать ексель то это вообще может уйти в аут на сутки.
66. Ийон Тихий (cool.vlad4) 31.05.11 18:35
(65) :D Не дам e.kogan в обиду...Вообще-то реализация буфер обмена в винде вовсю использует ole, как при передаче неструктурированных данных (типа картинок), так и даже при обмене текстовыми данными из разнородных программ.Чтобы убедится...достаточно по моему погуглить...
67. Ийон Тихий (cool.vlad4) 31.05.11 18:41
Я в последнее время редко использую 1С. Разве, что при перегоне информации(из него). Потому имею консоль с ADO, которая может считывать определенное количество строк, и с указанным курсором, либо полностью полагается на gamewithfire. Для каких-то исключительных случаев можно сделать кодогенерацию, но лень. Так, что советую ADO. Либо библиотеки. Использование самого Excel резонно при использовании чисто визуальных вещей, мне встречалась иерархия по цвету например (в 1С), но при большем распространении нового формата (открытого), все это отпадет.
68. Ийон Тихий (cool.vlad4) 31.05.11 18:49
К чему это я все излагаю? К тому, что даже при использовании ВК, например GamewithFire - скорость достаточно хорошая. Встречал небольшие прайсы - около 20000 строк в 10-15 колонок, не помню - вся таблица грузилась в ТЗ секунд может 10. В частности ВК заприметил у German-а.
69. Eugeneer (Eugeneer) 31.05.11 20:25
(68) ты не понял самого главного. У меня например в обработке и отрытие файла есмть через адо, и использование компоненты если не стоит эксель.
А самое главное что эксель и компоненты вооьбще не нужны. Я 99 процентов фирм встречаю которые вообще опен офис используют.
Да даже и он не нужен. В гугле можно открыть файл и вставить в 1С.
Суть в том что конечному пользователю не надо бабло тратить на каждого юзера по 7 тысяч.
70. Артур Аюханов (artbear) 01.06.11 07:53
Для справки ВК GamewithFire - Автор DmitrO - один из авторов 1С++
Через АДО для Екселя лично я сталкивался с проблемами - не весь лист читался, правда, юзал в то время версии 97 или 2003.
Возможно, что пофиксили давно.
71. Эстер Коган (e.kogan) 01.06.11 09:49
(65) Именно при копировании Excel-1С через Копировать-Вставить. (66) Именно, спасибо ;)


УПД: Сегодня, опять же при копировании в 1С всего-то одного столбика:
Прикрепленные файлы:
72. Владимир Коротаев (2063) 01.09.11 13:21
Добрый день!
4) Определиться, по какому критерию будет производиться сопоставление с номенклатурой в 1С, установить название соответствующего столбца (Код, Наименование или Артикул) через позицию контекстного меню.
Подскажите как это сделать - контекстное меню не дает выполнить данную операцию. Пишет - Вами не назначено из файла Excel поле Наименование!. Загрузка соответствий откладывается.
Заранее благодарю за ответ.
73. Ийон Тихий (cool.vlad4) 01.09.11 13:35
(70) не весь лист может читатся в ADO если стоит опция определения типов, и поскольку в Excele нет никакой типизации (только форматирование), то естессно он читает колонку только до тех пор пока может ;) . Такой уж ADO. И это кажется до сих пор не пофиксили. Достаточно просто читать все как строки и все.

ЗЫ Ответил, так поздно , поскольку только сейчас заметил.
74. Владимир Коротаев (2063) 01.09.11 13:45
75. Владимир Коротаев (2063) 01.09.11 13:54
Название установил - получилось - но нажав кнопку Произвести сопоставление... - не могу выполнить данное действие - выдает Поле объекта не обнаружено (Артикул). Наверное опять что то не так делаю. Ладно, придется вернуться к версии ИТС - правда нужно будет вручную править позиции (в некоторых случаях при совпадении наименований грузит в документ товар из другой ГТД.
:cry:
76. Сергей Зарайкин (CXY) 02.09.11 15:35
(75) Прошу прощения за молчание, правда по мылу предупреждения от ИС не получал. Так вот, Вам вначале необходимо поставить точку в правильное положение (Код, Наименование или Артикул). Соответственно, какую точку Вы поставили, то поле будет ОБЯЗАТЕЛЬНЫМ для сопоставления. В Вашем случае я подозреваю, что точку Вы с Артикула на Наименование не переставили (по умолчанию точка как раз стоит на Артикуле)...
77. Владимир Коротаев (2063) 03.09.11 07:31
Огромное спасибо за Ваш ответ!
Точку ставил на Наименование - Поле объекта не обнаружено (Артикул). Результат тот же.
В понедельник попробую скачать обработку заново и попробую с белого листа.
С уважением....
78. Сергей Зарайкин (CXY) 04.09.11 05:45
(77) Хмммм.... Провел тестирование по Вашему сценарию. Все получилось, без поля Артикул вообще, т.е. я его даже в соответствиях не указывал.
Итак. Вначале открываете файл, проставляете заголовки (левая кнопка мыши меню "Проставить заголовки"). Лишние столбцы для чистоты эксперимента НЕ УДАЛЯЙТЕ. Затем убедитесь что точка стоит на Наименование. Далее, Вам надо переименовать столбец, содержащий наименование товара через контекстное меню (левая кнопка мыши) "Переименовать колонку - Наименование". Затем нажимаете кнопку "Произвести сопоставление...". Перейдя в страницу 2, проставляете сопоставления, которые отсутствуют через левую кнопку мыши. Попутно заполняете поля внизу формы для корректного заполнения будущего документа. Возвращаетесь на страницу 1 и производите сопоставление полей (сопоставленные поля будут подсвечены зеленым фоном). Там внизу тоже не забудьте заполнить поле Организация. Ну и последнее, это нажать кнопку "Загрузить данные...". Удачи :D
79. Владимир Коротаев (2063) 05.09.11 11:59
Огромное спасибо за ответ!
Начал выполнение в соответствии с Вашими рекомендациями.
Вначале открываете файл, проставляете заголовки (левая кнопка мыши меню "Проставить заголовки"). Лишние столбцы для чистоты эксперимента НЕ УДАЛЯЙТЕ. Затем убедитесь что точка стоит на Наименование. Далее, Вам надо переименовать столбец, содержащий наименование товара через контекстное меню (левая кнопка мыши) "Переименовать колонку - Наименование". Затем нажимаете кнопку "Произвести сопоставление...".
Нажал и снова выдало - картинка по ссылке http://files.mail.ru/XW0CY6

C уважением.
80. Сергей Зарайкин (CXY) 05.09.11 14:38
(79) Владимир, можете мне прислать файл Excel, который не загружается? На ящик cxy_cxx@rambler.ru Что-то самому интересно стало...
81. Сергей Зарайкин (CXY) 05.09.11 14:45
(79) Ах вот оно что... Владимир, обработка-то моя предназначена для конфигурации Управление торговлей 10.3 (УТ 10.3), как написано в заглавии наверху окна, а Вы пытались ее применить в конфигурации Бухгалтерия предприятия 1.6 (БП 1.6)... Ну конечно, в этой конфигурации поля Артикул в справочнике Номенклатура нет... Если Вам интересно, могу адаптировать обработку под Вашу конфигурацию, думаю, времени много это не займет.
82. Владимир Коротаев (2063) 05.09.11 15:02
Очень интересно!
К сожалению руководство не дает добро на программиста, а стандартная обработка от ИТС дает ошибки и делает выборку по некоторым товарам из других ГТД. Уходит масса времени на ручную проверку и внесение изменений попозиционно.
С уважением.
83. Сергей Зарайкин (CXY) 05.09.11 15:19
(82) Я думаю, Вам надо в первую очередь подумать о переходе на версию БП 2.0, ведь версия БП 1.6 уже с мая как не поддерживается 1С...
84. Владимир Коротаев (2063) 05.09.11 15:22
Согласен. Но этот год скорее всего будем заканчивать на старой версии.
85. Сергей Сергеевич (onyx) 21.09.11 08:14
Огромное спасибо за обработку....
86. Кирилл Раковский (RakovskiyK) 12.10.11 09:53
что-то не могу разобраться. все проходит нормально до момента создания документа. Т.е. номенклатура находит совпадения, а в документ попадают только данные о контрагенте, договоре с ним и склад, а вот в табличную товары не попадают.
8.2 УТ 10.3
87. Сергей Зарайкин (CXY) 12.10.11 15:55
(86)Посмотрите пункт 9 инструкции, написанной в тексте публикации. Пример выполнения расположен на скриншоте № 3. Если все равно что-то не получится, сбросьте сюда свой скриншот. Я думаю, что Вы просто не проставили соответствия, они должны поколоночно закрашивать зеленым цветом распознанные поля табличной части документа...
88. Кирилл Раковский (RakovskiyK) 13.10.11 10:23
(87) CXY, с сопоставлением вроде разобрался, но...
при установке сопоставления номенклатуры (только) - проходит, а если сопоставить кол-во (для формирования документа заказ покупателя) происходит следующее
Прикрепленные файлы:
89. Сергей Зарайкин (CXY) 13.10.11 11:13
(88) Пришлите пример Экселевского файла для тестирования на ящик cxy_cxx@rambler.ru
90. Кирилл Раковский (RakovskiyK) 13.10.11 11:55
91. Сергей Зарайкин (CXY) 13.10.11 18:00
(90)Проверил, все работает. Карта загрузки на скриншоте. Кстати, скоро выйдет новая версия обработки, там будет разрешено программно создавать номенклатуру...
Прикрепленные файлы:
92. Кирилл Раковский (RakovskiyK) 14.10.11 17:24
(91) CXY, у вас в таблице сопоставлений в типе данных корректные ссылки на справочники.
93. Кирилл Раковский (RakovskiyK) 14.10.11 17:48
(91) CXY,
Прикрепленные файлы:
94. Сергей Зарайкин (CXY) 15.10.11 06:32
(93) Дааа... Все просто как Божий день.
Обратите пожалуйста внимание на мой скриншот, особенно как называется колонка данных, характеризующих номенклатуру товара. Так вот, она должна ОБЯЗАТЕЛЬНО называться "Наименование" и никак по-другому. Это связано с тем, что три поля должны иметь строго определенное название (Артикул, Код, Наименование), поскольку используются для поиска соответствий перед определением таблиц соответствий касаемо реквизитов уже определенного документа (в Вашем случае "Заказ покупателя)" . Так вот, для облегчения переименования колонок у меня на правой кнопке мыши Вы можете сделать даже это, выбрав соответствующее название. То есть, конкретно у Вас надо сменить наименование колонки "Наименование товара" на "Наименование".
И это все...

P.S. Зато в процессе отладки я нашел у себя одну неточность, которую устранил в обновленной версии обработки. И за это я Вам благодарен.
(92) Ссылки на справочники могут не совпадать у нас, просто конфигурации меняются и все такое. Здесь никакой проблемы нет.
Скоро выйдет новая версия, сейчас как раз заканчиваю и шлифую... И будет она работать в том числе и под БП 2.0, КА, УПП...
95. Кирилл Раковский (RakovskiyK) 15.10.11 09:20
(94) CXY, вот закончу курсы, напишу 50-75 обрботок и тогда мне будет просто как Божий День =))))) а сейчас учится и учится =)
96. Сергей Зарайкин (CXY) 15.10.11 09:33
(95) А по делу? Получилось или нет?
P.S. Если надо будет, чтобы проставлялись еще и единицы измерения из Excel, то рекомендую скачать обработку заново, там была небольшая ошибка (она обновилась).
97. Кирилл Раковский (RakovskiyK) 15.10.11 09:36
(96) CXY, сразу после предыдущего поста скачал, установил и вот что вышло:
Прикрепленные файлы:
98. Сергей Зарайкин (CXY) 15.10.11 09:42
(97) Давайте файл, попробую прямо сейчас. Документ какой - Заказ покупателя?