BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Фильтр на справочник групп по событию Вход в документ HL ID=149 Пр-ие
 
Добрый день!
Приложение: Сырье. Материалы. (Товары. Готовая продукция).
Задача.
Достаточно большой справочник групп. Хотелось бы устанавливать фильтр на справочник групп (оставлять только нужные группы) при входе в документ в зависимости от вида, типа движения и типовой операции.
Попробовал в плагине, работающему по событию на вход, задать ключевой интервальный фильтр: mGrup->(SetScope(cScope,xScope,xScope1)).
Результат: справочник фильтруется по наименованиям, но не по кодам. Коды выводятся все.
Пробывал тоже самое делать вместо mGrup с алиасом SmGrup. Результат тот же.
Других «подходящих» открытых рабочих областей, с которыими можно было бы поэкспериметировать, не вижу.
Вопрос:
Можно ли с помощью плагина установить фильтр при входе в документ в зависимости от вида, типа движения и типовой операции?
«Замена типовой операции» плагин «Вход в документ»
 
В БЭСТ-5 версия 3.4 SP18.
«Замена типовой операции» плагин «Вход в документ»
 
Цитата
nordk пишет:
Виноват - это калькуляция для расхода.
Приход определяется по типовой операции.
По идее смена кода типовой операции должна приводить к смене
модели калькуляции, вот только Вы уверены что типовую операцию
Вы меняете?
У меня не получается ее менять.

И меня не получается (см.выше)? Поэтому и пишу, что решил обратиться за помощью.
«Замена типовой операции» плагин «Вход в документ»
 
Автоматизируем контроль за правильностью действий пользователя.
При входе в СКЛАДСКОЙ ПРИХОДНЫЙ документ включается плагин, по результатам работы которого определяется - ту или нет типовую операцию выбрал пользователь. Если нет, то предлагается или жестко или мягко покинуть документ.
Читая документацию XBA, а именно о том, что: «Плагин “Вход в документ” выполняется сразу после того, как отобразится форма с документом и инициализируются все рабочие переменные, то есть непосредственно перед началом ввода/редактирования данных», появилась следующая Идея.
Если инициализируются только рабочие переменные, то зачем покидать документ, не лучше предложить пользователю по таким-то причинам заменить типовую операцию. Если он соглашается, то заменить необходимые рабочие параметры здесь же в плагине, чтобы дальше система продолжила работать с уже измененной типовой операцией.
Первоначально мне показалось, что это будет очень просто. Достаточно будет заменить код типовой операции, которая вызовет нужную модель калькуляции (из-за нее вся проблема). Заменил код типовой операции – параметр PcodeOper. Не помогло. Стал искать переменную с кодом модели калькуляции. Такую переменную в явном виде не нашел. На этом остановился. Обращаюсь за помощью.
Вопрос к Сан Санычу и к тому кто знает.
Можно ли реализовать задачу как описано выше? Если да, то как?
Возможный вариант замены данных после завершения ввода документа по событию «На запись» рассматривать не стоит. Так как он проигрывает в конкурентной борьбе ныне действующему варианту по критерию цена-качество.
Замена проводок и Банк данных по счетам
 
Добрый день!
Цитата
Александр Титов пишет:
Вот так попробуйте:
IF OpenLedger()
....

Почему-то не сразу, но запустилась. Функцию возьмем на вооружение.
Спасибо!
Вопрос:
А нельзя ли пересчет запускать без отображения заставки "Зарегистрировано изменение в проводках ... Достроить данк данных", выбирая жестко в плагине режим "Рассчитать и продолжить".
Пользовательский фильтр на картотеку склада в документах
 
Добрый день!
С SP11 в БЭСТ-5-3.4 предоставлена возможность "привязки" партионных групп ТМЦ к нескольким счетам учета. Теперь бюджетникам одну группу можно "привязывать" к разным парам "Префикс-Счет". А это значит, что теперь не увеличивая числа групп, можно вести учет ТМЦ в ОУ в разрезе "префиксов" или, другими словами, в разрезе программ, на которые выделяются денежные средства. Большое дело! Для себя для краткости эту возможность мы назвали СУП (счета учета партий).
В настоящее время столкнулись с рядом неудобств при использовании СУП-а (определимся, напишем на HotLine), но есть одно "неудобство", переходящее в проблему.
При списании раскрываем картотеку и не можем определить какую партию мы должны списать по той или иной программе финансирования ("префиксу"). На экране нет никакой информации по СУП-у и нет возможности выставить фильтр по СУП-у. Конечно возможность фильтра надо реализовывать штатно Внимание с выбором значений из справочника КФК-Расходы. Для этого обратимся с доработкой на HotLine. Надеюсь, что она будет сделана. Но когда? А СУП надо "кушать" сейчас. В связи с этим попытались выкрутиться с помощью плагинов следующим образом.
Нам представлялось (в чем сейчас сомневаемся), что в документе раскрывается картотека, а именно файл mKart. В mKart есть поля атрибутов и поле Pref с нужными нам значениями. Поступаем следующим образом. Берем одно из полей атрибутов, которое не используется у нас в номенклатурных карточках, например, Marka. При оприходовании ТМЦ плагином копируем содержимое поля Pref в поле Marka. Для чего? Если сделать поле Marka действующим атрибутом, то оно появляется в окне фильтра картотеки склада в документе. Если справочник атрибутов сделать идентичным справочнику КФК-Расходы, то F2 можно выбрать нужное значение и установить фильтр - отобрать ТМЦ, которые относятся к той или программе финансирования ("префиксу"). Увы, так не работает?! :mecry: Этот фильтр работает при условии, что поле Marka заполнено в файле mLabel. А это не наш вариант. В нашем варианте "Одна номенклатура" - "Много партий с разными СУП".
Пробовали другой вариант. Плагином по событию "вход в картотеку" ставили фильтр с помощью DBPUSH() на записи mKart. Фильтр ставится (проверяли листанием записей с их выводом на экран), но картотека склада открывается вся?! :mecry:
Хотели "обыграть казино". Не получилось. Облом. Плохо
Вопрос.
Можно ли "обыграть казино" в нашем случае? О "тяжелых" решениях (типа заменить кусок от картотеки и далее своим) речь конечно не идет. Нужны простые решения. Типа наших. Не удачных, но "красивых". :smile:
Изменено: Виктор Балановский - 22.02.2009 09:22:45
Информационные сообщения при генерировании проводок
 
Добрый день!
При считывании MDIM система "ругается" на отсутствие _LEN_NNOPER.
Определил равным 22. Вроде прошло. Во избежание возможных сбоев на будующее при считывании других переменных, прошу уточнить 22 - это правильно?
Информационные сообщения при генерировании проводок
 
Спасибо! Попробуем.
Информационные сообщения при генерировании проводок
 
Добрый день!
Проверяем заполнение полей в складских документах, используя вызов "перед записью". Наряду с полями документа, надо проверить правильность заполнения атрибутов карточек номенклатур и партий, вводимых в фактурной части документа. Но на момент вызова плагина строки документа еще не в базе данных, а во временных переменных и массивах.
Вопрос.
Как "вытащить" параметры строк документа, а именно {Grup, Nnum, MDim, Partia} из памяти?
Просматривая все подряд переменные Private, нашел строки документа в нескольких местах. К примеру в строке (не знаю, как это правильно называется): aWindow - 2 - 7 - CARGO[1,i]. Там все параметры каждой строки документа хранятся в своей строковой переменной.
Вопрос.
Как их оттуда "вытащить"? Или есть другие возможности?
Информационные сообщения при генерировании проводок
 
Спасибо. Попробую.
Информационные сообщения при генерировании проводок
 
Не пробывал, но думал.
Здесь два момента:
1) Что начинается вперед: генерация проводок или сохранение полей документа? Конечно, это можно проверить.
2) Но как после проверки заполнения полей, снова перенаправить программу на работу с полями документа, а потом снова выйти на плагин и т.д. (как организовать такой цикл)?
Изменено: Виктор Балановский - 18.02.2009 21:10:24
Информационные сообщения при генерировании проводок
 
Нет конечно.
Как показало практика, даже при штатном программировании проводок в других ПП, поддерживать это не получается. Чаще бывает проще добавить новую простую конкретную типовую операцию, чем снова погружать в старый алгоритм.
Изменено: Виктор Балановский - 17.02.2009 12:56:44
Информационные сообщения при генерировании проводок
 
И от параметров шапки и от введенных позиций.
Но хотелось бы иметь Событие и не как частный случай, а как правило. И не только для складских документов, но и для имущества и других возможных подобных документов.
Изменено: Виктор Балановский - 17.02.2009 09:56:22
Информационные сообщения при генерировании проводок
 
Не знаю. Когда-то пробывал в 4-е у меня не получилось. Каждый раз в одной типовой операции плагин запускал как первый раз.
Информационные сообщения при генерировании проводок
 
Не лучший вариант, но попробуем.
Не лучший потому, что если типовая операция из нескольких проводок, то плагин на суммы надо ставить в каждом, чтобы проводки не формировались. Поскольку плагины к тому же формируют аналитики, то на одну типовую операцию их становится "много".
Хотелось бы чего-нибудь по-проще и по-надежней. Типа события "Перед формирование проводок". Если .Т., то формируем. Если.F., то не формируем.
Информационные сообщения при генерировании проводок
 
В первую очередь о складских.
Замена проводок и Банк данных по счетам
 
БЭСТ-5-3.4 Бюджет. Решаем следующую задачу.
Счета с многосегментной аналитикой – в среднем 4-5 уровней. Поскольку в Имуществе нет моделей калькуляции, то основной поток документов направляем по штатной цепочке: Материалы. Закупка – Материалы. Передача в эксплуатацию – Кнопка Имущество.
Если действовать штатно, то после нажатия кнопки Имущество необходимо заполнить 6 полей со счетами и их аналитиками (учет - 2, износ - 2, затраты - 2). Поскольку счета у нас с многоуровневой аналитикой (от 4 до 6 уровней), то по факту каждый раз вручную надо заполнять чуть более 20 полей. Но кроме того надо правильно и выбрать счета. Выбор их зависит от источника финансирования (как минимум 3 – бюджет, предпринимательство, целевые) и от вида затрат (бюджет, прямые ПрД, косвенные ПрД, косвенные от ФБ и ПрД). Заполнение перечисленных полей понятно напрягает.
Настройки же таковы, что вся необходимая информация для заполнения вышеназванных полей уже есть в Материалах. Поэтому в Материалах рядом с кнопкой Имущество подключен FileEval(), который запускается после кнопки Имущества и заполняет нужные поля. Все бы ничего, но картину портит то, что надо еще раз нажимать кнопку Имущество и генерировать проводки. Это не сложно, но не «красиво».
Попробовали поступить следующим образом. При нажатии кнопки Имущество выбираем некоторую типовую операцию, например 000. Запускаем плагин, устанавливаем счета в карточках, заменяем типовую операцию 000 и проводки на нужные.
Проблема:
Такую замену проводок Банк данных по счетам конечно не видит. В нем тоже все надо перестраивать, а это не просто. Представляется, что у разработчиков для этих целей есть специальная функция, типа оперативного пересчета банка данных при изменении журнала хозяйственных операций. Если бы ее запускать в плагине, то проблема будет решена.
Вопрос: Можно ли решить нашу проблему?
Информационные сообщения при генерировании проводок
 
Добрый день!
Возможно ли в БЭСТ-5-3.4 реализовать следующую задачу?
Многосегментную аналитику в типовых операциях формируют FileEval().
Хотелось бы перед генерацией проводок проверить - все ли необходимые поля заполнены и правильно ли. Если нет, то на экран выдается сообщение чего не хватает и что нет так. Проводки в этом случае не генерируются. Если все Ок!, то проводки генерируются.
Вариант вставлять сообщения в FileEval(), формирующие аналитики не подходит. Проводки в этом случае формируются. Но основная беда в том, что сообщение появляется столько раз сколько строк фактурной части документа. Как от этого уйти не знаю.
Изменено: Виктор Балановский - 17.02.2009 06:38:05
Как запустить демон ключа USB Sentinel SuperProNet
 
Добрый день!

Пакет обновления № 29 от 19.02.07
1. В программе Бэст4+ может использоваться новая серия ключей Rainbow Safe Net Sentinel (Sentinel SuperProNet), серия SRM00409-10. Ключи являются сетевыми (в локальном варианте в них прописывается 1 место). Если такие ключи используются, то для работы с ними необходимо установить сервис и драйвера ключа. Установка драйвера и сервиса ключа производится запуском программы Sentinel Protection Installer 7.3.2.exe из каталога UTIL\rainbow\Windows\Server\Sentinel Protection Installer установленной версии программы. Следует выбрать полную установку (complete). При запросе следует разрешить внести разрешения для сервиса ключа в брандмауер Windows (ответить Yes). Перегрузиться.

Вопрос:
БЭСТ-4+ с ключем Rainbow Safe Net Sentinel (Sentinel SuperProNet), серия SRM00409-10 может работать в сети с ОС Novell Netware на сервере порт LPT?
Если да, то как его установить?

С уважением,
Балановский В.А.
Изменено: Виктор Балановский - 17.10.2008 09:25:24
Не указаны библиотеки, с которыми нужно линковаться!
 
Цитата
nordk пишет:
Виктор а Вы пробовали FileEval('namefl.hrb',[параметры]) ?

Пробывал, но параметры окаймлял фигурными скобками, не пошло. Надо попробывать окаймить квадратными скобками. Спасибо.
Не указаны библиотеки, с которыми нужно линковаться!
 
Добрый день!
Цитата
Алексей Новиков пишет:
Во-первых, можно написать заглушку в виде файла 'prg', который будет содержать строку вида "hfileeval('001.hrb')".

Воспользовался первым вариантом. После чего вышел еще на одну проблему перехода.
Конструкция FileEval("namefile.prg",{список параметров})позволяла "экономить" на плагинах, в случае однородных задач, путем задания разных значений параметров. Запускать, аналогичным образом, с параметрами hrb до сих пор как-то нужды не было.
Вопрос.
Возможно ли это? Если да, то как это прописать в заглушке?
Уточняю, в проводках запускаем конструкцию FileEval("namefl2.prg",{список параметров}), а заглушка имеет вид:
HFileEval("namefl1.hrb")
Return Nil
Заранее спасибо за ответ
Не указаны библиотеки, с которыми нужно линковаться!
 
Цитата
Алексей Новиков пишет:
Во-вторых, можно прописать нужное выражение непосредственно в поле algoritm.

Проблема, возможно, кроется в процедуре проверки валидности введённой формулы. Проверка не знает о существовании функции hfileeval().

Непосредственно в поле таблицы прописать hfileeval('001.hrb')? Я правильно, понял?
Не указаны библиотеки, с которыми нужно линковаться!
 
Добрый день!
Цитата
nordk пишет:
А новые уже принимайте решение как будете делать, если пункт меню - то пожалуйста и я об этом написал, чтобы Ваши индексы и базы поддерживать кладите их в соответствующее место. Если на события, то новые можете на hrb делать.

Подскажите, пожалуйста, а какие конструкции прочтения плагинов понимают шаблоны типовых операций в версии Б-5_34 (речь идет о полях Шифр анал.учета и Алгоритм прочтения суммы)?
У меня проходит ТОЛЬКО старый вариант: FileEval("имя плагина",{список параметров}).
Можно ли сразу восспользоваться резултатами компиляции?
Не указаны библиотеки, с которыми нужно линковаться!
 
Цитата
Алексей Новиков пишет:
Видимо, в БЭСТ 3.4 что-то переделали.
Можно сделать так.
В каталоге client\bin создаёте каталог userlibs. В этот каталог копируете скомпилированную библиотеку (userlibs.bdll). Библиотека автоматически не копируется из каталога server\Data\Pro\userlibs\ при запуске БЭСТ-5 3.4, так как это было в БЭСТ-5 3.3. Но загрузку библиотек из client\bin\userlibs не отключили, поэтому после того, как Вы скопируете туда свою библиотеку, Ваш плагин начнёт запускаться.

Спасибо. Заработало.
Цитата
nordk пишет:
Посмотрите для начала на УРОК 3 пункт 2 и на описание ко второму пакету версии 3.4.

Уже читаю.
Цитата
Алексей Новиков пишет:
Не торопитесь Виктор, вот выйдет версия 3.5, там разработчик опять упорядочит поддержку пользовательских решений и опять будем переписывать свои плагины под новый стандарт, потому что старый отключат. :-)

Это точно.
Не указаны библиотеки, с которыми нужно линковаться!
 
Алексей!
Благодаря Вашей помощи, после нескольких переустановок БЭСТ-5-34-6 и многократного повторения одних и тех же действий линковка прошла.
Эмпирически вышел на следующую последовательность действий:
1. Установить БЭСТ-5-34-6. Развернуть БД.
2. Запустить BestIde.exe. Снять галку Опции – Настройки – Соединение c SourceSafe. Выйти.
3. Запустить BestIde.exe. Выбрать предприятие. Создать пользовательский проект. Открыть окно редактора. Написать процедуру.
4. Настроить Свойства проекта – Общее и Переменные среды как у Вас.
5. Нажать F7.
После этого дальнейшие компиляции и линковки идут.
Возможно, кто-то скажет, что все это бред. Спорить не буду. Но, увы, по другому убрать сообщение W0000 :Не указаны библиотеки, с которыми надо линковаться! у меня не получалось. Проверял на двух машинах.
Компиляция прошла, но продолжить пример из Быстрого старта в Б-5-34-6 все равно не получилось.
Сделал все как написано в Быстром старте:
1. Запустил Best.exe –d. По Alt-Tab перешел в БЭСТ. В АРМе по Ctrl-F5 написал:
Имя файла: @MyTest
Параметры:
Вызов: по требованию
Горячая клашиша: K_ALT_1
2. Запускаю процедуру по Alt-1 в ответ получаю сообщение:
Ошибка при выполнении функции MyTest
Ровно то же самое в БЭСТ-5-33 работает. Открывается окно отладчика и можно пройти с помощью клавиши F10 по строкам.
Похоже, что в БЭСТ-5-34-6, где-то что-то опять не подключено.
Вопрос:
Что не так? Что делаете Вы?
Заранее благодарю, за ответ. Если можно в картинках.
Страницы: 1 2 След.