17.11.08 — 16:09
Добрый день!
Предыстория: необходимо было сделать так, чтобы из 1С формировался отчет Excel на нескольких листах с сохранением форматирования (главным образом, группировок) табличного документа. Стандартный метод Записать табличного документа создает файл с 1 листом. Поэтому было сделано так: сначала командой Записать создавался файл Excel с необходимым листом, потом лист переносился в нужную книгу:
ПостроительОтчета.Вывести(ТабДок);
ТабДок.Записать(ИмяВременныхФайлов, ТипФайлаТабличногоДокумента.XLS97);
Ексель.Workbooks(ИмяКнигиБуфера).Sheets(ИмяЛистаБуфера).Copy(Ексель.Workbooks(ИмяКнигиОтчета).Sheets(ТекущееИмяЛистаШаблонаЭксель));
И это дело прекрасно работает до тех пор пока не появляется еще один процесс Excel: либо запущенный интерактивно, либо в случае одновременного формирования из 2-х сеансов 1С на одном компьютере отчетов в Excel.
Собственно проблема: при наличии 2-ух одновременно запущенных экселей стока
Ексель.Workbooks(ИмяКнигиБуфера).Sheets(ИмяЛистаБуфера).Copy(Ексель.Workbooks(ИмяКнигиОтчета).Sheets(ТекущееИмяЛистаШаблонаЭксель));
не выполняется, выводится ошибка:
Ошибка при вызове метода контекста (Workbooks): Произошла исключительная ситуация (0x8002000b)
Подскажите, что можно сделать
1 — 17.11.08 — 16:09
2 — 17.11.08 — 16:15
Есть правда другой вариант сохранения данных вместе с форматированием (группировками) — выделить все и скопировать. Но данный вариант реализовать не удалось — бала другая ошибка «Ошибка при вызове метода контекста (Select): Произошла исключительная ситуация (Microsoft Office Excel): Метод Select из класса Range завершен неверно» (подробнее могу описать при необходимости). Поэтому был применен метод копирования листа целиком.
А собственно суть задачи сводится к следующему: необходимо иметь возможность выводить из 1С многостраничные отчеты Excel с группировками, при том, делать это параллельно, чтобы можно было одновременно формировать 2 и более отчетов.
3 — 17.11.08 — 16:17
а зачем в эксель? если уже есть в 1с..
4 — 17.11.08 — 16:19
Для рассылки удаленным пользователям, не имеющим 1С.
Хотя это не имеет никакого значения для решения проблемы.
5 — 17.11.08 — 16:19
отсылайте удаленным пользователям файлы 1С..
пусть смотрят в 1С..
6 — 17.11.08 — 16:20
Нет. Это урезание функционала. Данный вариант руководством не рассматривается. Нужны многостраничные отчеты с сводными таблицами и прочими прелестями экселя. К тому же эксель есть у всех, а для просмотра mxl надо еще и программку поставить.
7 — 17.11.08 — 16:21
8 — 17.11.08 — 16:21
Задачу необходимо реализовать именно в том виде, как она стоит: выводить из 1С многостраничные отчеты Excel с группировками, при том, делать это параллельно, чтобы можно было одновременно формировать 2 и более отчетов.
9 — 17.11.08 — 16:22
Как объект Ексель создается?
Поди через ПолучитьCOMОбъект?
10 — 17.11.08 — 16:22
в v8 тоже есть сводные таблицы -)
11 — 17.11.08 — 16:24
v_rtex, огромная просьба, не предлагать обходные пути. Они все давно рассмотрены. Я повторяю, мне нужно решить задачу именно в том виде, как она стоит. Если Вы не знаете, как это сделать, прошу вас не писать ничего. Это только отвлекает
12 — 17.11.08 — 16:24
могу предложить только формировать по 1 ячейки
для затравки http://www.infostart.ru/blogs/718/
13 — 17.11.08 — 16:25
(9)
Ексель=Новый ComОбъект(«Excel.Application»);
14 — 17.11.08 — 16:26
(12) по одной ячейке не пойдет. Слишком долго. Уж лучше отаказаться от параллельности и формировать отчеты последовательно.
15 — 17.11.08 — 16:26
формировать отчеты не параллельно.. а последовательно -)
16 — 17.11.08 — 16:29
(15) Именно. Последовательное формирование реализовано и работает. И до определенного момента это было нормально. Но количество отчетов увеличилось, поэтому необходимо более оперативно их формировать и рассылать
17 — 17.11.08 — 16:30
закрывать Эксель (процесс) перед формированием следующего отчета..
18 — 17.11.08 — 16:33
(7) Спасибо, посмотрел, но того что мне нужно там нет. Нужен не сам факт копирования листа (это рабоатет!!! (16)), нужно сделать так, чтобы не было ошибки: «Ошибка при вызове метода контекста (Workbooks): Произошла исключительная ситуация (0x8002000b)», которая возникает при 2-ух одновременно открытых экселях (при формировании 2-ух отчетов параллельно).
19 — 17.11.08 — 16:36
(17) тут сразу 2 проблемы: 1) как поймать этот момент? запускаются сразу 2 сеанса 1С, 2 процесса 1Cv8 и 2 Excel, 2 разных переменных «Ексель=Новый ComОбъект(«Excel.Application»);» . Как их связать друг с другом?
и проблема 2) в этом случае первый отчет не сформируется до конца и мы вообще не получим ни одного отчета (при последовательном формировании все получается, но хочется быстрее)
20 — 17.11.08 — 16:52
Ну так что, господа программисты, никто не сталкивался что ли с такой ошибкой???
21 — 17.11.08 — 16:52
(19) если ты не будешь использовать «COPY» то количество екселей в памяти тебе будет пофигу, как вариант создавай новые листы из шаблонов
22 — 17.11.08 — 16:56
(21) извините, не понял. Можно поподробнее?
23 — 17.11.08 — 17:01
(22) v8: Как из 1С работать с шаблоном Excel
или ваще класная идея:
сделать очередь и обрабатывать ее регламентной обработкой на сервере (будет однопоточная единая очередь, типа как принтер)
24 — 17.11.08 — 17:25
Мне не нужда однопоточная единая очередь, как же вы понять не можете. Фактически, она и реализована. И функционирует. Мне нужно, повторяю в 3-ий раз:
выводить из 1С многостраничные отчеты Excel с группировками, при том, делать это параллельно, чтобы можно было одновременно формировать 2 и более отчетов. Из 2-ух и более одновременно запущенных приложений (1Cv8).
25 — 17.11.08 — 17:28
В формулировке задачи главные слова — ПАРАЛЛЕЛЬНО, из ОДНОВРЕМЕННО ЗАПУЩЕННЫХ приложений 1С
26 — 17.11.08 — 17:32
(24) тебе не это нужно, а нужно запаралелить обработку 1с, а вывод в excel занимает максимум 1 минуту (если клиент старый).
Вероятно что-то у тебя не правильно! Скорее всего ты не отключаешься от екселя!!!
Существует куча мест куда можно посмотреть, например между началом сеанса и оклончанием сократить время до сборки страниц, потом сохранить готовый файл и открыть его через КомандаСистемы…
можно на одном обьекте екселя открывать несколько книг
BaseOLE = Новый COMОбъект(«Excel.Application»);
ExcelФайл1 = BaseOLE.WorkBooks.Open (ИмяФайла);
ExcelФайл2 = BaseOLE.WorkBooks.Open (ИмяФайла);
да идей как это сделать куча, только я пока не понимаю твоих заморочек
27 — 17.11.08 — 17:33
(25) работай через ADO там вообще в памяти ексель не нужен
28 — 17.11.08 — 19:46
Если пользователь интерактивно работает с Excel, то все процессы Excel работают в единой очереди сообщений, и пока ячейка Excel находится в стадии редактирования выполнить какие-то действия в другом файле Excel нельзя в принципе!
Поэтому, можно или дожидаться, когда пользователь освободит ячейку, или использовать методы, не требующие запущенного Excel, так как при запущенном Excel все методы отработают точно также.
Чтобы избежать такой проблемы, можно сложить на диск файлы с данными для формирования отчётов, а потом открыть файл с исполняемым макросом, который по этим файлам соберёт нужные документы, в этом случае у пользователя не будет возможности работать с Excel, так как макрос будет выполняться в её пространстве.
30 — 18.11.08 — 18:03
(28) Не удалось воспроизвести данную ситуацию: интерактивно открыл 2 экселя, вошел в редактирование ячейки (оставил там курсор), при этом без проблем можно войти и редактировать в ячейку другого экселя — это раз и два: 2 экселя без проблем работают и из 1С — те же самые отчеты, которые я описывал выше (та же система), но только вывод без группировок, в плоские таблицы через буфер (текст модуля написан через если — если с оформлением, копируем листы, если без оформления — копируем только данные)
31 — 18.11.08 — 18:04
В общем тема пока открыта, решение не найдено, так что жду еще советов и рекомендаций
32 — 18.11.08 — 18:09
(2) Кстати, о втором способе — выделять все. Никто не пробовал в созданном 1С эксельном файле программно выделить все? У меня именно этот момент не получился в свое время, почему и пришлось прибегнуть к копированию листов. Может кто-то подскажет, как сделать Ctrl+A программно???
ЗЫ: пробовал вот так:
Ексель.Workbooks(ИмяКнигиБуфера).ActiveSheet.Cells.Select();
Ексель.Selection.Copy();
Текст ошибки не помню, но ругался уже на первую строку до «Selection.Copy» не доходил.
33 — 18.11.08 — 18:14
А, вспомнил примерный текст ошибки: что-то типа «Метод Select класса Range завершен неверно»…
34 — 18.11.08 — 18:15
что то вроде
Ексель.Workbooks(ИмяКнигиБуфера).ActiveSheet.Cells(«T»)
vde69
35 — 18.11.08 — 18:17
(34) короче полный диапазон называеться «T»
bard666
15.05.15 — 10:30
Столкнулся со следущим: При сохранении файла ексель в 1С вылетает ошибка:
Ошибка при вызове метода контекста (Save)
ТекущийДокЕксель.Save();
по причине:
Произошла исключительная ситуация (Microsoft Excel): Метод Save из класса Application завершен неверно
Порылся на форумах, внятного ответа как исправить не нашёл.
Делается следущее: есть файл екселя (.xls) с заданной структурой, в него вносятся данные, сохраняются, отсылаются на почты.
Может ли быть такая ошибка из-за того, что на сервере, где выполняется обработка стоит 2013 офис и файл открывается в режиме совместимости? Как это обходить?
bard666
1 — 15.05.15 — 10:59
Метод saveAs вообще не обнаружен.
Ненавижу 1С
2 — 15.05.15 — 11:01
может прав нет на место сохранения?
bard666
3 — 15.05.15 — 11:01
Никто не сталкивался?
bard666
4 — 15.05.15 — 11:02
Права есть. Если просто открыть екселем, изменить и сохранить как — все прокатывает, а через 1С сохранить не получается.
bard666
5 — 15.05.15 — 11:04
Создается файлик, но ячейки пустые. Формат вроде нужный — .xls
Ненавижу 1С
6 — 15.05.15 — 11:05
(4) если это делается на сервере, то права надо смотреть у пользователя под кем работает служба сервера приложений
фобка
7 — 15.05.15 — 11:13
Новая книга? Попобуй saveas()
bard666
8 — 15.05.15 — 11:13
(6) Попробую уточнить. По результатам отпишусь.
bard666
9 — 15.05.15 — 11:13
(7) При этом методе
Метод объекта не обнаружен (SaveAs) ТекущийДокЕксель.SaveAs(КаталогДанных + «» + ТекИмя);
фобка
10 — 15.05.15 — 11:14
Текущийдокэксель это книга или аппликейшн?
фобка
11 — 15.05.15 — 11:17
Ну кароч ты книгу должен сохранять. Покажи что присваиваешь текущийдокэксель
bard666
12 — 15.05.15 — 11:32
До меня делалось:
Код функции, которая возвращает ТекущийДок
Excel = 0;
Попытка
Excel = Новый COMОбъект(«Excel.Application»);
Исключение
Сообщить(«Не удалось инициализировать Excel»);
Возврат Неопределено;
КонецПопытки;
Попытка
тИмяСупера = СокрЛП(Супервайзер.Наименование);
тИмяСупера = СтрЗаменить(тИмяСупера, «#», «»);
чПоз = Найти(тИмяСупера, » «);
Если чПоз > 0 Тогда
тИмяСупера = СокрЛП(Лев(тИмяСупера, чПоз));
КонецЕсли;
тТекстАшан = «»;
чПозНайшлиАшан = Найти(Должность.Наименование, «АШАН»);
Если чПозНайшлиАшан > 0 Тогда
тТекстАшан = «_ashan»;
КонецЕсли;
ИмяФайлаКопия = тИмяСупера + «_» + СокрЛП(Должность.Должность) + тТекстАшан + «_» + СокрЛП(Должность.Код) + «_»+Месяц(ТекущаяДата());
ИмяФайлаКопия = СтрЗаменить(ИмяФайлаКопия,»00000″,»»);
ИмяТекужегоДокументаЕксель = СокрЛП(КаталогДанных) + «» + ИмяФайлаКопия + «.xls»;
Попытка
КопироватьФайл(ИмяФайла, ИмяТекужегоДокументаЕксель);
Excel.Workbooks.Open(ИмяТекужегоДокументаЕксель);
Исключение
Сообщить(«Некорректное имя файла при копировании (» + ИмяФайла + «) в (» + ИмяТекужегоДокументаЕксель + «)»);
Excel = 0;
КонецПопытки;
Исключение
Сообщить(ОписаниеОшибки());
Excel.Quit();
Excel = 0;
КонецПопытки;
Возврат Excel;
фобка
13 — 15.05.15 — 11:33
(12) в данном случае текущийдок это не книга
фобка
14 — 15.05.15 — 11:34
Текдок.activeworkbook
фобка
15 — 15.05.15 — 11:35
И да — в (12) копрокод
bard666
16 — 15.05.15 — 11:37
(15) Пробовал
ТекущийДокЕксель.Application.Workbooks.SaveAs(КаталогДанных + «» + ТекИмя);
ТекущийДокЕксель.Workbooks.SaveAs(КаталогДанных + «» + ТекИмя);
Также не видит функцию
bard666
17 — 15.05.15 — 11:43
(15)
{Форма.Форма.Форма(571)}: Ошибка при вызове метода контекста (SaveAs)
ТекущийДокЕксель.ActiveWorkbook.SaveAs(КаталогДанных + «» + ТекИмя);
по причине:
Произошла исключительная ситуация (Microsoft Excel): Метод SaveAs из класса Workbook завершен неверно
фобка
18 — 15.05.15 — 11:43
(16) workbooks это не workbook — другой объект
Wern
19 — 15.05.15 — 11:43
(16) смотри (12). то что у тебя все неправильное написание.
фобка
20 — 15.05.15 — 11:44
Ответ дан выше, перечитай (14)
bard666
21 — 15.05.15 — 11:46
(20) я в (17) показал какая ошибка выпадает при ТекущийДокЕксель.ActiveWorkbook
bard666
22 — 15.05.15 — 11:47
(19) где неправильно?
фобка
23 — 15.05.15 — 11:47
Сообщить(каталогданных+»»+текимя);
bard666
24 — 15.05.15 — 11:58
(23) Здесь все четко.
«F:Ведомостиимя.xls»
фобка
25 — 15.05.15 — 12:01
(24) Если файл существует попробуй опять save(). Для saveas можно вторым параметром задать формат файла еще
bard666
26 — 15.05.15 — 12:07
(25) Я ж говорю — ошибка есть, но файл пустой появляется..)
bard666
27 — 15.05.15 — 12:10
(25) Попробовал передать формат
{Форма.Форма.Форма(571)}: Ошибка при вызове метода контекста (SaveAs)
ТекущийДокЕксель.ActiveWorkbook.SaveAs(КаталогДанных + «» + ТекИмя, «.xls»);
по причине:
Произошла исключительная ситуация (Microsoft Excel): Метод SaveAs из класса Workbook завершен неверно
фобка
28 — 15.05.15 — 12:13
(27) не, формат это число. Передай туда 50
фобка
29 — 15.05.15 — 12:16
Существует ли на сервере f:ведомости?
bard666
30 — 15.05.15 — 12:17
(28) Создал. Ура! Осталось протестировать откроет ли 2003 офис
фобка
31 — 15.05.15 — 12:22
(30) Вбей в справке по vba xlFileFormat
bard666
32 — 15.05.15 — 12:56
(31) а в Save есть подобные параметры?
фобка
33 — 15.05.15 — 13:12
(32) нет, он вообще без параметров
bard666
34 — 15.05.15 — 13:20
(33) Тогда ладно. Файлики создаются.
Есть ещё вопрос.
Обработина, сделанная по образу и подобию
http://catalog.mista.ru/public/88055/
ругается на .Windows(1).Visible = 1;
фобка
35 — 15.05.15 — 13:28
(34) значит опять путанница с объектами
bard666
36 — 15.05.15 — 13:29
Код такой:
ТабДок = Новый табличныйДокумент;
АктивныйДокумент = ПолучитьМакет(«Макет»); //— Макет Active Document лист Ексель.
КомОбъект = АктивныйДокумент.Получить();
//— далее пишем в Cells(НомерСтроки, НомерСтолбца). Value все что нужно. см.пример ниже
//шапка
Лист=КомОбъект.Sheets(1);
Лист.Cells(9,4).Value=Идент;
Лист.Cells(10,4).Value=Док.Организация.ПолноеНаименование();
Лист.Cells(11,4).Value=НомерКонтракта;
Лист.Cells(12,4).Value= ?(ЗначениеЗаполнено(Дата), Формат(Дата, «ДФ=dd.MM.yyyy»), Формат(Док.Дата, «ДФ=dd.MM.yyyy»));
Лист.Cells(13,4).Value=НомРеестра;
СимволовДоНулей=Найти(ДокППИ.Номер,»0″);
НомППИ=Число(Прав(ДокППИ.Номер,СтрДлина(ДокППИ.Номер)-СимволовДоНулей-1));
Лист.Cells(14,4).Value=СокрЛП(Формат(НомППИ, «ЧГ=0»));
Лист.Cells(15,4).Value=Формат(ДокППИ.Дата, «ДФ=dd.MM.yyyy»);
//Зарплата к выплате организаций
РезультатЗапроса = Запрос.Выполнить();
Если НЕ(РезультатЗапроса.Пустой()) Тогда
//СтрокаОтчета = Лист.Range(«Строка»);
СтрокаОтчета = Лист.Range(«A20»);
Счетчик=0;
Итого=0;
Выборка=РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Счетчик=Счетчик+1;
Если Счетчик>1 Тогда
СтрокаОтчета.EntireRow.Copy();
СтрокаОтчета.EntireRow.Insert();
КонецЕсли;
//ТекСтрока = СтрокаОтчета.Range(«A»+(СтрокаОтчета.Row-1));
//ТекСтрока.Cells(СтрокаОтчета.Row-1,1).Value=»Вася»;
//ТекСтрока.Find(«<ИмяСотрудника>»).Value = СокрЛП(Выборка.ФизЛицоПолностью);
Лист.Cells(19+Счетчик,1).Value=СокрЛП(Выборка.ФизЛицоПолностью);
Лист.Cells(19+Счетчик,4).Value=СокрЛП(Выборка.ЛицевойСчет);
Лист.Cells(19+Счетчик,6).Value=Число(СокрЛП(Выборка.Сумма));
Итого=Итого+Выборка.Сумма;
КонецЦикла;
КонецЕсли;
//итоговая строка
Лист.Cells(19+Счетчик+1,4).Value=СчетКонтракта;
Лист.Cells(19+Счетчик+1,6).Value=Итого;
Лист.Cells(19+Счетчик+20,1).Value=»»; //заплатка с целью увидеть макет целиком
КомОбъект.Application.Visible = 1;
КомОбъект.Windows(1).Visible = 1;
КомОбъект.Activate();
bard666
37 — 15.05.15 — 13:30
(35) выложил код. Запросы всякие вырезал.
bard666
38 — 15.05.15 — 13:32
Вся эта ботва вылезла когда поставили 2013 офис)
DomovoiAtakue
39 — 15.05.15 — 13:43
Отдельный момент.
Я может ошибаюсь: по коду если все удачно сохранилось, то объект excel не удаляется.
bard666
40 — 15.05.15 — 13:45
(39) не совсем понимаю к чему это..
bard666
41 — 15.05.15 — 13:48
Ошибка такая: Ошибка при вызове метода контекста (Windows)
КомОбъект.Windows(1).Visible = 1;
по причине:
Произошла исключительная ситуация (0x8002000b)
DomovoiAtakue
42 — 15.05.15 — 13:54
(40)Ну если я все правильно понимаю, то 10 раз запустите свой код, не выходя из 1с, и в процессах будет висеть 10 excel-ей.
bard666
43 — 15.05.15 — 14:01
(42) Это все проверяю
bard666
44 — 15.05.15 — 14:02
У меня просто открывается ексель как приложение, а окна документа не видно. Серый экран.
bard666
45 — 15.05.15 — 14:08
А со второго раза создает.
bard666
46 — 15.05.15 — 14:26
Придумал как поправить:
Вместо
КомОбъект.Application.Visible = 1;
КомОбъект.Windows(1).Visible = 1;
КомОбъект.Activate();
Делаю
КомОбъект.Activate();
КомОбъект.Windows(1).Visible = 1;
- Remove From My Forums
-
Question
-
Any ideas why I am getting COMException when I was expecting and handling an exception of type
CrystalDecisions.CrystalReports.Engine.InvalidArgumentException
Why are those nasty interop exceptions showing up ?
Thanks
Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Source Error:
Answers
-
Hello,
This is definitely a usability issue. I will track it with our development team and they will have to address it in a future release or service pack.
Keith — Business Objects
- Remove From My Forums
-
Question
-
Any ideas why I am getting COMException when I was expecting and handling an exception of type
CrystalDecisions.CrystalReports.Engine.InvalidArgumentException
Why are those nasty interop exceptions showing up ?
Thanks
Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Source Error:
Answers
-
Hello,
This is definitely a usability issue. I will track it with our development team and they will have to address it in a future release or service pack.
Keith — Business Objects
I have a part of code which tries to export data (from database) to Excel. When I am trying to perform this task, it is generating this error:
System.Runtime.InteropServices.COMException occurred
Additional information: Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Code which is generating this error:
string ExcelFileName = RootFolder + "" + "Work_Sheet.xls";
File.Copy(RootFolder + "" + "WorksOrder_Template.xls", ExcelFileName);
Excel.Workbook xlWorkBook;
xlWorkBook = excelApp.Workbooks.Open(ExcelFileName, 0, false, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, false, true, Type.Missing);
Excel.Worksheet Page2;
Excel.Worksheet Page3;
Page2 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet2");
Page3 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet3");
The code line on :
Page3 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet3");
is generating the aforementioned error. Any idea how to solve this issue?
************** Текст исключения **************
System.Runtime.InteropServices.COMException (0x8002000B): Неверный индекс. (Исключение из HRESULT: 0x8002000B (DISP_E_BADINDEX))
в Microsoft.VisualBasic.CompilerServices.LateBinding .LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
в Microsoft.VisualBasic.CompilerServices.NewLateBind ing.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
в WindowsApplication1.Form_Main_Window.Form_Main_Win dow_Load(Object sender, EventArgs e)
в System.EventHandler.Invoke(Object sender, EventArgs e)
в System.Windows.Forms.Form.OnLoad(EventArgs e)
в System.Windows.Forms.Form.OnCreateControl()
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl()
в System.Windows.Forms.Control.WmShowWindow(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.Form.WmShowWindow(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
—————————————-
Бриз_ПП
Версия сборки: 1.7.0.1
Версия Win32: 1.7.0.1
CodeBase: file:///C:/Breez_PP/%D0%91%D1%80%D0%B8%D0%B7_%D0%9F%D0%9F_x64.exe
—————————————-
Microsoft.VisualBasic
Версия сборки: 10.0.0.0
Версия Win32: 14.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
—————————————-
System
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
System.Runtime.Remoting
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
—————————————-
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
—————————————-
System.Data.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Data.resources.dll
—————————————-
System.Transactions
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
—————————————-
System.EnterpriseServices
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
—————————————-
Microsoft.Office.Interop.Excel
Версия сборки: 15.0.0.0
Версия Win32: 15.0.4569.1506
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.Office.Interop.Excel/15.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll
—————————————-
office
Версия сборки: 15.0.0.0
Версия Win32: 15.0.4613.1000
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/office/15.0.0.0__71e9bce111e9429c/office.dll
—————————————-
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
—————————————-
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-
shtucer-igor 04.03.2009 at 12:54
однозначно плюс !
а можно тоже самое но чтобы грузило в установку цен номенклатуры контрагента ?
Reply ↓
softbear 11.03.2009 at 00:25
однозначно плюс !
Reply ↓
COMPER 19.03.2009 at 11:51
не работает. Но красиво
Reply ↓
COMPER 19.03.2009 at 11:53
Pim 19.03.2009 at 19:10
не работает :-(. Самый главный минус всех подобных обработок в том, что они грузят только одну цену в УТ. По крайней мере, я других не видел. Эта обработка похоже тоже грузит только одну цену, да ещё и запоролена…
А что делать, если мне надо загружать сразу четыре разных типов цен в один документ. (Не надо предлагать загружать по-одному — заказчик не хочет).
Reply ↓
egorover 20.03.2009 at 16:26
внимательней, там загрузка идёт по всем типам цен в строку
Reply ↓
olee 23.03.2009 at 00:40
У меня пишет:
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Reply ↓
egorover 23.03.2009 at 08:03
всё времени нет, укажите имя листа excel Лист1
Reply ↓
olee 23.03.2009 at 10:39
Создался пустой документ с комментарием из какого файла загружен.
Пытаюсь снова загрузить цены — пишет в регистре есть такая строка.
Захожу в регистр сведений — нет такой записи:(
Reply ↓
olee 25.03.2009 at 00:44
Разобрался, все работает!
Очень нужная обработка.
Плюс.
Reply ↓
dev_gen 31.03.2009 at 13:35
Ищу по всему инету такую разработку уже неделю.
Огромное спасибище
Reply ↓
kozakm 11.04.2009 at 08:26
VikFx 28.04.2009 at 11:00
то, что нужно, спасибо
Reply ↓
4emodan 06.05.2009 at 01:22
Большое спасибо! Давно искал.
Reply ↓
4emodan 06.05.2009 at 01:39
А можно сделать, чтоб находило товары не по артикулу, а по коду?
Reply ↓
petrash 06.06.2009 at 11:50
Выручил! Спасибо большое!
Reply ↓
qwertylion@rambler.ru 07.06.2009 at 19:01
Обработка хорошее но вот только документ пустой создается, не подскажите как быть?
Reply ↓
steelrat1976 20.06.2009 at 15:19
нужно обязательно вводить коэффициент, если цена равна базовой, то коэффициент = 1 и тогда поля не пустые. Хотя можно было бы сказать сразу, а то сам часа два мучался пока не понял
Reply ↓
qwertylion@rambler.ru 26.06.2009 at 22:20
при записи в ценообразование пустой лист
Reply ↓
qwertylion@rambler.ru 26.06.2009 at 22:22
все нормально разобрался нужно обязательно вводить коэффициент, если цена равна базовой, то коэффициент = 1 и тогда поля не пустые. Хотя можно было бы сказать сразу, а то сам часа два мучался пока не понял СПАСИБО steelrat1976
Reply ↓
Dimka74 21.07.2009 at 04:29
Пожалуй повторюсь: «А можно сделать, чтоб находило товары не по артикулу, а по коду?»
Reply ↓
sly99 07.10.2009 at 21:25
можно поподробнее, что где писать?
выдает ошибку
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Reply ↓
cooldanie 06.11.2009 at 15:51
Автор зачет! а можно по наименованию товара а не по артикулу? или сделайте универсально — по коду, по наименованию, по артикулу — и цены не будет вашей обработке. А если 2 колонки цены? опт и розница — 2я и 3я?
Reply ↓
helloworld 09.11.2009 at 14:31
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Это наверное когда страница Екселя названа не Лист1. Автор, выбрал бы просто первую страницу — Excel.Sheets(1).select();
Reply ↓
labuh 26.11.2009 at 03:38
Автору респект и уважуха.
А как быть с одинаковыми ценами номенклатуры? Обработка не читает одинаковые цены из экселя, — пишет «не нашли артикул ……..»
Reply ↓
labuh 27.11.2009 at 23:51
Здесь что, больше никто не живет???
Reply ↓
meser 06.12.2009 at 22:22
Спасибо, действительно обработка нужная, я бы добавил еще поиск не только по артиклу, но и по коду, наименованию.
Reply ↓
nikser 11.01.2010 at 18:40
Ничего не понимаю . у кого она работает??? документ изменения цен то создался , но пустой .
Reply ↓
Epishko 14.02.2010 at 22:04
Потратил массу времени — вбил артикулы, а в результате создает пустой документ. Жаль убитого воскресенья! Все-таки несмотря на обильные ссылки по поиску — эту задачку так пока никто и не решил качественно.
Reply ↓
Родная 14.04.2010 at 10:56
изначально все получается, но при загрузке, выбранных цен в 1С выдается ошибка
{ВнешняяОбработка.ЗагрузкаЦен(120)}: Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! : Закупочная : ******* (Регистр сведений: Цены номенклатуры; Номер строки: 43)
по причине:
Запись с такими ключевыми полями существует! : Закупочная :**********(Регистр сведений: Цены номенклатуры; Номер строки: 43)
при том что справочник «Установка цен номенклатуры» пуст.
Что я не так делаю?
Reply ↓
provnick 24.01.2011 at 21:39
Да уж, было б описание, то немного времени потратить на заполнение формы, оказывается нужно файлик подготовить Excelский, страница Екселя названа должна Лист1 и артикул форматнуть в текстовой, а цены в числовой и заполняется таблица для передачи в документ. Но вопрос вот в чем: как две цены закинуть, поле то одно для выбора цены, у кого получилось? egorover пишет (6) «внимательней, там загрузка идёт по всем типам цен в строку» , но выходит только одна цена, что и как? Да еще пароль, понятно, а то…, что ж мышает второе поле для второй цены сделать, а? хоть бы приходную да расходную. В целом гуд и +, ще б поправить.
Reply ↓
Glenas 28.01.2011 at 14:46
Здравсвуйте. Помогайте, очень надо. Версия 8,2, УТ 11. При открытии выдавал ошибку, поменял ТипыЦенНоменклатуры на ВидыЦен. Обработка открывается, загружает файл xls, корректно находит цены. При попытке загрузки выдаёт {ВнешняяОбработка.ЗагрузкаЦен.МодульОбъекта(90)}: Поле объекта не обнаружено (НеПроводитьНулевыеЗначения) А код модуля запаролен! Что делать, автор? Спасибо
Reply ↓
egorover 29.07.2011 at 10:03
lenka-nes@mail.ru 13.10.2011 at 10:19
спасибо!пригодилось
Reply ↓
wwizard 01.11.2011 at 17:05
Пишет Ошибка при вызове метода контекста (Sheets)
Что делать?
Reply ↓
tgnike 08.11.2011 at 12:30
Она со всеми екселями работате?
Reply ↓
w22u 21.11.2011 at 14:54
Спасибо, протестируем Вашу обработку.
Reply ↓
Belka063 30.11.2011 at 09:30
Работает.Спасибо.Помогло
Reply ↓
AruslanM 07.12.2011 at 10:41
Спасибо за идею, пригодилось.
Reply ↓
Ibrogim 19.12.2011 at 10:51
Спасибо за обработку, помогла как пример
Reply ↓
ASoft 18.01.2012 at 22:14
maratsat 21.01.2012 at 17:44
Во-первых, хорошая обработка. Спасибо. Значительно сокращает время ввода документа.
Во-вторых, предложения по улучшению
Думаю было бы еще лучше, сделать ввод нескольких типов цен за один раз.
Или как вариант сделать возможным добавлять разные типы цен к одному документу.
А иначе получается, что розничные, оптовые и крупнооптовые цены в разных документах, что не удобно.
Reply ↓
wwizard 21.01.2012 at 23:25
(35) так что делать то
Reply ↓
egorover 23.01.2012 at 21:18
(42) так для этого и создавалось, колонки в таблице excel и есть различные типы цен
Reply ↓
egorover 23.01.2012 at 21:19
(43) имя листа в книге excel
Reply ↓
FE_D_OR83 31.01.2012 at 15:11
Спасибо за обработку,сэкономила время. Радует что каждый может доработать под себя.
Кстати неплохо бы в неё добавить возможность указывать цены для номенклатуры с характеристиками.
Reply ↓
fonomo0 31.01.2012 at 15:24
Автор С какими версиями Excel работает ваша отработка?
Reply ↓
AlexxxMksv 29.04.2012 at 12:17
Скажите ваша обработка может проверять соответствие единицы измерения из файла не с базовой единицей, не с единицей хранения остатков, не с единицей для отчетов, не с единицей мест, а с единицами по классификатору?
Reply ↓
TitanLuchs 17.06.2012 at 13:20
Замечательная штука, спасибо автору, помог сэкономить время на написание своего подобного «велосипеда»!
Reply ↓
MyPuK_OLD 19.11.2013 at 15:46
Есть какое-то описание или инструкция по использованию данной обработки? Подойдет ли она для работы с Комплексной автоматизацией редакция 1.1?
Reply ↓
egorover 19.11.2013 at 21:23
Пробуйте, не пробовал, код открыт
Reply ↓
I have the following code to open a workbook and keep just one sheet:
//Get a new workbook.
oWB = app.Workbooks.Add(Missing.Value);
int len = oWB.Sheets.Count;
for (int i = 1; i < len; i++)
{
((Worksheet)oWB.Sheets[i]).Delete();
}
oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.ActiveSheet;
This code has worked for many years in many client configurations.
For some reason, I have a customer with excel 2013 (in Hebrew), and on his machine I get the following exception:
System.Runtime.InteropServices.COMException (0x8002000B): Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
at Microsoft.Office.Interop.Excel.Sheets.get__Default(Object Index)
at IOSIGHT.Win.ActiveReports.ExcelHelper.StartExcel()
If I understand the situation, it seems that for some reason the workbook was left with no sheets,
so then call to oWb.ActiveSheet
throws an exception.
Any idea what caused this?
And yes I saw other posts on the same exception, but my code does not match their scenarios.
shtucer-igor 04.03.2009 at 12:54
однозначно плюс !
а можно тоже самое но чтобы грузило в установку цен номенклатуры контрагента ?
Reply ↓
softbear 11.03.2009 at 00:25
однозначно плюс !
Reply ↓
COMPER 19.03.2009 at 11:51
не работает. Но красиво
Reply ↓
COMPER 19.03.2009 at 11:53
Pim 19.03.2009 at 19:10
не работает :-(. Самый главный минус всех подобных обработок в том, что они грузят только одну цену в УТ. По крайней мере, я других не видел. Эта обработка похоже тоже грузит только одну цену, да ещё и запоролена…
А что делать, если мне надо загружать сразу четыре разных типов цен в один документ. (Не надо предлагать загружать по-одному — заказчик не хочет).
Reply ↓
egorover 20.03.2009 at 16:26
внимательней, там загрузка идёт по всем типам цен в строку
Reply ↓
olee 23.03.2009 at 00:40
У меня пишет:
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Reply ↓
egorover 23.03.2009 at 08:03
всё времени нет, укажите имя листа excel Лист1
Reply ↓
olee 23.03.2009 at 10:39
Создался пустой документ с комментарием из какого файла загружен.
Пытаюсь снова загрузить цены — пишет в регистре есть такая строка.
Захожу в регистр сведений — нет такой записи:(
Reply ↓
olee 25.03.2009 at 00:44
Разобрался, все работает!
Очень нужная обработка.
Плюс.
Reply ↓
dev_gen 31.03.2009 at 13:35
Ищу по всему инету такую разработку уже неделю.
Огромное спасибище
Reply ↓
kozakm 11.04.2009 at 08:26
VikFx 28.04.2009 at 11:00
то, что нужно, спасибо
Reply ↓
4emodan 06.05.2009 at 01:22
Большое спасибо! Давно искал.
Reply ↓
4emodan 06.05.2009 at 01:39
А можно сделать, чтоб находило товары не по артикулу, а по коду?
Reply ↓
petrash 06.06.2009 at 11:50
Выручил! Спасибо большое!
Reply ↓
qwertylion@rambler.ru 07.06.2009 at 19:01
Обработка хорошее но вот только документ пустой создается, не подскажите как быть?
Reply ↓
steelrat1976 20.06.2009 at 15:19
нужно обязательно вводить коэффициент, если цена равна базовой, то коэффициент = 1 и тогда поля не пустые. Хотя можно было бы сказать сразу, а то сам часа два мучался пока не понял
Reply ↓
qwertylion@rambler.ru 26.06.2009 at 22:20
при записи в ценообразование пустой лист
Reply ↓
qwertylion@rambler.ru 26.06.2009 at 22:22
все нормально разобрался нужно обязательно вводить коэффициент, если цена равна базовой, то коэффициент = 1 и тогда поля не пустые. Хотя можно было бы сказать сразу, а то сам часа два мучался пока не понял СПАСИБО steelrat1976
Reply ↓
Dimka74 21.07.2009 at 04:29
Пожалуй повторюсь: «А можно сделать, чтоб находило товары не по артикулу, а по коду?»
Reply ↓
sly99 07.10.2009 at 21:25
можно поподробнее, что где писать?
выдает ошибку
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Reply ↓
cooldanie 06.11.2009 at 15:51
Автор зачет! а можно по наименованию товара а не по артикулу? или сделайте универсально — по коду, по наименованию, по артикулу — и цены не будет вашей обработке. А если 2 колонки цены? опт и розница — 2я и 3я?
Reply ↓
helloworld 09.11.2009 at 14:31
{ВнешняяОбработка.ЗагрузкаЦен(7)}: Ошибка при вызове метода контекста (Sheets): Произошла исключительная ситуация (0x8002000b)
по причине:
Произошла исключительная ситуация (0x8002000b)
Это наверное когда страница Екселя названа не Лист1. Автор, выбрал бы просто первую страницу — Excel.Sheets(1).select();
Reply ↓
labuh 26.11.2009 at 03:38
Автору респект и уважуха.
А как быть с одинаковыми ценами номенклатуры? Обработка не читает одинаковые цены из экселя, — пишет «не нашли артикул ……..»
Reply ↓
labuh 27.11.2009 at 23:51
Здесь что, больше никто не живет???
Reply ↓
meser 06.12.2009 at 22:22
Спасибо, действительно обработка нужная, я бы добавил еще поиск не только по артиклу, но и по коду, наименованию.
Reply ↓
nikser 11.01.2010 at 18:40
Ничего не понимаю . у кого она работает??? документ изменения цен то создался , но пустой .
Reply ↓
Epishko 14.02.2010 at 22:04
Потратил массу времени — вбил артикулы, а в результате создает пустой документ. Жаль убитого воскресенья! Все-таки несмотря на обильные ссылки по поиску — эту задачку так пока никто и не решил качественно.
Reply ↓
Родная 14.04.2010 at 10:56
изначально все получается, но при загрузке, выбранных цен в 1С выдается ошибка
{ВнешняяОбработка.ЗагрузкаЦен(120)}: Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! : Закупочная : ******* (Регистр сведений: Цены номенклатуры; Номер строки: 43)
по причине:
Запись с такими ключевыми полями существует! : Закупочная :**********(Регистр сведений: Цены номенклатуры; Номер строки: 43)
при том что справочник «Установка цен номенклатуры» пуст.
Что я не так делаю?
Reply ↓
provnick 24.01.2011 at 21:39
Да уж, было б описание, то немного времени потратить на заполнение формы, оказывается нужно файлик подготовить Excelский, страница Екселя названа должна Лист1 и артикул форматнуть в текстовой, а цены в числовой и заполняется таблица для передачи в документ. Но вопрос вот в чем: как две цены закинуть, поле то одно для выбора цены, у кого получилось? egorover пишет (6) «внимательней, там загрузка идёт по всем типам цен в строку» , но выходит только одна цена, что и как? Да еще пароль, понятно, а то…, что ж мышает второе поле для второй цены сделать, а? хоть бы приходную да расходную. В целом гуд и +, ще б поправить.
Reply ↓
Glenas 28.01.2011 at 14:46
Здравсвуйте. Помогайте, очень надо. Версия 8,2, УТ 11. При открытии выдавал ошибку, поменял ТипыЦенНоменклатуры на ВидыЦен. Обработка открывается, загружает файл xls, корректно находит цены. При попытке загрузки выдаёт {ВнешняяОбработка.ЗагрузкаЦен.МодульОбъекта(90)}: Поле объекта не обнаружено (НеПроводитьНулевыеЗначения) А код модуля запаролен! Что делать, автор? Спасибо
Reply ↓
egorover 29.07.2011 at 10:03
lenka-nes@mail.ru 13.10.2011 at 10:19
спасибо!пригодилось
Reply ↓
wwizard 01.11.2011 at 17:05
Пишет Ошибка при вызове метода контекста (Sheets)
Что делать?
Reply ↓
tgnike 08.11.2011 at 12:30
Она со всеми екселями работате?
Reply ↓
w22u 21.11.2011 at 14:54
Спасибо, протестируем Вашу обработку.
Reply ↓
Belka063 30.11.2011 at 09:30
Работает.Спасибо.Помогло
Reply ↓
AruslanM 07.12.2011 at 10:41
Спасибо за идею, пригодилось.
Reply ↓
Ibrogim 19.12.2011 at 10:51
Спасибо за обработку, помогла как пример
Reply ↓
ASoft 18.01.2012 at 22:14
maratsat 21.01.2012 at 17:44
Во-первых, хорошая обработка. Спасибо. Значительно сокращает время ввода документа.
Во-вторых, предложения по улучшению
Думаю было бы еще лучше, сделать ввод нескольких типов цен за один раз.
Или как вариант сделать возможным добавлять разные типы цен к одному документу.
А иначе получается, что розничные, оптовые и крупнооптовые цены в разных документах, что не удобно.
Reply ↓
wwizard 21.01.2012 at 23:25
(35) так что делать то
Reply ↓
egorover 23.01.2012 at 21:18
(42) так для этого и создавалось, колонки в таблице excel и есть различные типы цен
Reply ↓
egorover 23.01.2012 at 21:19
(43) имя листа в книге excel
Reply ↓
FE_D_OR83 31.01.2012 at 15:11
Спасибо за обработку,сэкономила время. Радует что каждый может доработать под себя.
Кстати неплохо бы в неё добавить возможность указывать цены для номенклатуры с характеристиками.
Reply ↓
fonomo0 31.01.2012 at 15:24
Автор С какими версиями Excel работает ваша отработка?
Reply ↓
AlexxxMksv 29.04.2012 at 12:17
Скажите ваша обработка может проверять соответствие единицы измерения из файла не с базовой единицей, не с единицей хранения остатков, не с единицей для отчетов, не с единицей мест, а с единицами по классификатору?
Reply ↓
TitanLuchs 17.06.2012 at 13:20
Замечательная штука, спасибо автору, помог сэкономить время на написание своего подобного «велосипеда»!
Reply ↓
MyPuK_OLD 19.11.2013 at 15:46
Есть какое-то описание или инструкция по использованию данной обработки? Подойдет ли она для работы с Комплексной автоматизацией редакция 1.1?
Reply ↓
egorover 19.11.2013 at 21:23
Пробуйте, не пробовал, код открыт
Reply ↓
************** Текст исключения **************
System.Runtime.InteropServices.COMException (0x8002000B): Неверный индекс. (Исключение из HRESULT: 0x8002000B (DISP_E_BADINDEX))
в Microsoft.VisualBasic.CompilerServices.LateBinding .LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
в Microsoft.VisualBasic.CompilerServices.NewLateBind ing.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
в WindowsApplication1.Form_Main_Window.Form_Main_Win dow_Load(Object sender, EventArgs e)
в System.EventHandler.Invoke(Object sender, EventArgs e)
в System.Windows.Forms.Form.OnLoad(EventArgs e)
в System.Windows.Forms.Form.OnCreateControl()
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl()
в System.Windows.Forms.Control.WmShowWindow(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.Form.WmShowWindow(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
—————————————-
Бриз_ПП
Версия сборки: 1.7.0.1
Версия Win32: 1.7.0.1
CodeBase: file:///C:/Breez_PP/%D0%91%D1%80%D0%B8%D0%B7_%D0%9F%D0%9F_x64.exe
—————————————-
Microsoft.VisualBasic
Версия сборки: 10.0.0.0
Версия Win32: 14.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
—————————————-
System
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
System.Runtime.Remoting
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
—————————————-
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
—————————————-
System.Data.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Data.resources.dll
—————————————-
System.Transactions
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
—————————————-
System.EnterpriseServices
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
—————————————-
Microsoft.Office.Interop.Excel
Версия сборки: 15.0.0.0
Версия Win32: 15.0.4569.1506
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.Office.Interop.Excel/15.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll
—————————————-
office
Версия сборки: 15.0.0.0
Версия Win32: 15.0.4613.1000
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/office/15.0.0.0__71e9bce111e9429c/office.dll
—————————————-
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
—————————————-
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-