Необходимо переделать макрос для OOo ((за вознагрождение))
Модератор: Модераторы разделов
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Необходимо переделать макрос для OOo
Есть оптовый прайс в xls формате, в нем один макрос для добавления позиции в заказ. В OOo этот макрос не работает. Кто может его переделать ??? Вознаграждение гарантирую...
Прайс можно скачать по этой ссылке http://www.komus-opt.ru/price/komus_opt_price_0.rar
Прайс можно скачать по этой ссылке http://www.komus-opt.ru/price/komus_opt_price_0.rar
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 339
- Статус: hikki
- ОС: Arch
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
А обязательно макросом? А нативными способами ООCalc?
Я так понял, надо переместить строку из листа "Опт_price...) в лист "Заказ"?
PS. При сохранении в xls макросы OOCalc с огромной долей вероятности работать не будут.
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
Желательно макрос, мне нужно чтобы при скачивании нового прайса девушка сама могла заменить нерабочий макрос M$ на рабочий в OOo и спокойно сделать заказ..
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1354
Re: Необходимо переделать макрос для OOo
DjSpike,
опишите, пожалуйста, типовые сценарии работы с прайсом (use case), отметив места, в которых требуется поддержка средствами макроса.
Как один из вариантов:
1) установить курсор в строку с желаемым товаром (достаточно ли встроенных средств Calc: поиск по Ctrl+F, фильтрация);
2) вызвать макрос (сочетание клавиш, кнопка тулбара), который добавит товар в заказ.
2а) какая информация требуется на этом этапе, какая её честь общая для всего заказа (курс валюты?), а какая может быть индивидуальна для отдельной позиции? и т.п.
Да и в общем, ТЗ в данной ситуации намного лучше описания "как было в Excel".
ps. Графа "Наличие на складе: да/нет" разорвала на куски: например, хочется 100 шт., а на складе "да". Отговорка "была, но уже продали" к конкретно этой ситуации не принимается -- она одинакова для всего диапазона от 1 до 100 шт.
опишите, пожалуйста, типовые сценарии работы с прайсом (use case), отметив места, в которых требуется поддержка средствами макроса.
Как один из вариантов:
1) установить курсор в строку с желаемым товаром (достаточно ли встроенных средств Calc: поиск по Ctrl+F, фильтрация);
2) вызвать макрос (сочетание клавиш, кнопка тулбара), который добавит товар в заказ.
2а) какая информация требуется на этом этапе, какая её честь общая для всего заказа (курс валюты?), а какая может быть индивидуальна для отдельной позиции? и т.п.
Да и в общем, ТЗ в данной ситуации намного лучше описания "как было в Excel".
ps. Графа "Наличие на складе: да/нет" разорвала на куски: например, хочется 100 шт., а на складе "да". Отговорка "была, но уже продали" к конкретно этой ситуации не принимается -- она одинакова для всего диапазона от 1 до 100 шт.
-
- Сообщения: 1923
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
bormant писал(а): ↑19.01.2011 13:11DjSpike,
опишите, пожалуйста, типовые сценарии работы с прайсом (use case), отметив места, в которых требуется поддержка средствами макроса.
Как один из вариантов:
1) установить курсор в строку с желаемым товаром (достаточно ли встроенных средств Calc: поиск по Ctrl+F, фильтрация);
2) вызвать макрос (сочетание клавиш, кнопка тулбара), который добавит товар в заказ.
2а) какая информация требуется на этом этапе, какая её честь общая для всего заказа (курс валюты?), а какая может быть индивидуальна для отдельной позиции? и т.п.
Да и в общем, ТЗ в данной ситуации намного лучше описания "как было в Excel".
ps. Графа "Наличие на складе: да/нет" разорвала на куски: например, хочется 100 шт., а на складе "да". Отговорка "была, но уже продали" к конкретно этой ситуации не принимается -- она одинакова для всего диапазона от 1 до 100 шт.
ТЗ.
Нужно написать макрос для OOo.Calc который при двойном клике в колонке "Артикул" перенесет текущую позицию на страницу "Заказ" и проставит цену..
А чтобы не писать с нуля можно посмотреть как работает аналогичный макрос в xls. в прайсе который можно скачать по ссылке указанной в первом посте.
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1923
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
Как-то так.
Реализована вставка по даблклику на коде товара. Код помечается цветом и перечеркиванием.
Даблклик на помеченной строке должен удалять всю соответсвующую строку на листе "заказ", но по уму надо реализовать поиск и перемещение до требуемой стоки на листе "заказ". Эту часть надо допиливать, заменив оператор removebyindex() .
если надо, попилю дополнительно.
Если надо будет этот код переносить на другие получаемые прайсы, то надо будет прописать его во внешней библиотеке и вызывать через
или сохранить как макрос в ООО, а не в документе ООО, как сейчас.
Реализована вставка по даблклику на коде товара. Код помечается цветом и перечеркиванием.
Даблклик на помеченной строке должен удалять всю соответсвующую строку на листе "заказ", но по уму надо реализовать поиск и перемещение до требуемой стоки на листе "заказ". Эту часть надо допиливать, заменив оператор removebyindex() .
если надо, попилю дополнительно.
Если надо будет этот код переносить на другие получаемые прайсы, то надо будет прописать его во внешней библиотеке и вызывать через
Код: Выделить всё
GlobalScope.loadlibrary("файл_куда_сохранили_библиотеку")
или сохранить как макрос в ООО, а не в документе ООО, как сейчас.
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
При попытке запустить RegisterMouseClickHandler ругается на отсутствие библиотеки GlobalScope.BasicLibraries.LoadLibrary("XrayTool"). В гугле нашел только это http://www.ooomacros.org/dev.php точнее вот http://sourceforge.net/project/showfiles.p...ckage_id=101416
Но при этом скачивается архив в котором только инструкция, ты не мог бы поделится данной библиотекой, или подсказать как ее ставить.
Если закоментировать эту строчку, то вродебы нормально работает. единственное не появляется окно с запросом кол-во..
Но при этом скачивается архив в котором только инструкция, ты не мог бы поделится данной библиотекой, или подсказать как ее ставить.
Если закоментировать эту строчку, то вродебы нормально работает. единственное не появляется окно с запросом кол-во..
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
У вас не установлена отладочная библиотека.
Но при этом скачивается архив в котором только инструкция, ты не мог бы поделится данной библиотекой, или подсказать как ее ставить.
В данной инструкции есть кнопка, которая устанавливает расширение. После этого надо прибить все процесс soffice и запустить заново. Полезная отладочная библиотека.
единственное не появляется окно с запросом кол-во..
Допилил. Если в это окно ничего не вводить, будет вставляться минимальное количество.
Если установить библиотеки Инфры (идут с OOo Pro), то можно сумму прописью вывести
Допилил удаление строки подаблклику на помеченном (синем иперечеркнутом) коде товаре.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
Сумма прописью не нужна...
На закладке "Заказ" в первой колонке не правильно высчитывается знчение, выдает результат: #ЗНАЧЕН!
И подскажи еще один момент, ты сказал что
На закладке "Заказ" в первой колонке не правильно высчитывается знчение, выдает результат: #ЗНАЧЕН!
И подскажи еще один момент, ты сказал что
. Как это фактически можно сделать ???Если надо будет этот код переносить на другие получаемые прайсы, то надо будет прописать его во внешней библиотеке и вызывать через
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
исправлено
И подскажи еще один момент, ты сказал что. Как это фактически можно сделать ???Если надо будет этот код переносить на другие получаемые прайсы, то надо будет прописать его во внешней библиотеке и вызывать через
Во первых, "не надо", а удобнее. Чтобы не копипастить (как в исходном заднии) код непосредствено в документ.
Сохранить в файл .bas (прямо из IDE) и загружать при помощи того же globalscope.loadlibray... на который ругался прежде.
Возможно придется переделать ссылки на объекты листов книги, поскольку в данном примере идут "жескссылки по именам листов.
В OOo есть четыре способа хранения кода:
- непосредственно в документе. Удобно при дистрибуции документов.
- в userspace (в~/openoffice.org)
- в пространстве всей инсталляции (в виде расширения, например)
- как отдельную библиотеку (обычный basic файл)
Кстати, в центральном офисе Комуса все хомячки пользуют ООо. не знаю, как у вас.
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
Кстати, в центральном офисе Комуса все хомячки пользуют ООо. не знаю, как у вас.
Блин почему у них прайс тогда в xls...

У нас тоже везде OOo. И даже на домашних компьютерах работников....
Ты можешь сделать этот макрос, в виде расширения (я думаю что это лучше чем отдельная библиотека ? )???
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
Слабо представляю как делать в виде расширения. Да и грузить его при каждой загрузке любого документа OOo, думаю, не правильно. Думаю, мало приятно, когда события мыши начнут обрабатываться таким образом в каждом документе. Программеров-то попинаю, но у них сейчас работы выше крыши. По поводу расширения надо попинать Инфра-ресурс.
Не вижу причин не использовать как отдельную библиотеку. Xray же прекрасно работает!
Просто надо скопировать пользователю и подключать при загрузке документа.
Блин! прошлый раз не тот файл залился опять. Исправленный - ниже.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: Необходимо переделать макрос для OOo
Мне в принципе не принципиально как, главное чтобы это могла сделать девушка которая работает с этим прайсом...
Что ты имеешь ввиду под
Надо будет каждый раз запускать макрос RegisterMouseClickHandler вручную ?
Что ты имеешь ввиду под
подключать при загрузке документа.
Надо будет каждый раз запускать макрос RegisterMouseClickHandler вручную ?
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
- Сообщения: 1923
Re: Необходимо переделать макрос для OOo
Либо так, либо сохранить его в ООо (не в документе) и загружать при каждом старте сервис ->настройка->события.
Можно попробовать написать макрос, который проверяет имя документа и грузит макро RegisterMouseClickHandler по этому условию.
В любом случае, я не знаю полностью ваших условий, и вообще, испоьзование электронных таблиц для подобной работы несколько спорный вариант.
ООо позволяет сделать всё это в Base, просто прилинковав с http/ftp/vebdav/ssh.... ресурса эту электронную таблицу и работать унифицированным образом с постоянно актуальными данными. Возможно, и макросов не понадобится.