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

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

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


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Как установить дополнительные условия на области БЭСТа

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как установить дополнительные условия на области БЭСТа
 
Здравствуйте!

Столкнулся со следующей задачей.
При вводе нового документа отгрузки в справочнике открытых заказов, необходимо отображать заказы удовлетворяющие только определенным условиям (например созданные эти оператором)
Был написан плагин подключенный на вход в реестр.
Код
function main()
    Private aSet, aSetKey, cText
Public ucWork
    aSet:=SaveSet()
    aSetKey:=SaveSetKey()
    DBPUSH()
 if type('apars')<>'A'
 cText:="Внимание! функция отрабатывает без параметров, это приведет к непредсказуемым последствиям"
 ucWork:="0"
 else
 ucWork:=aPars[1]
 endif
mdoc1->(dbsetfilter(formulpars("left(mdoc1->time,1)=ucWork .and. mdoc1->id_reg<>0 .and. right(mdoc1->time,1)='*'",{""})))
mdoc1->(dbgotop())
    DBPOP()
    RestSet(aSet)
    RestSetKey(aSetKey)
return

суть его в следующем на mdoc1 устанавливается дополнительный фильтр, который кстати успешно отрабатывает, но возникает один очень неприятный момент, если при заполнении шапки документа повторно вызвать справочник заказов, то установленный фильтр слетает.
Подскажите как обойти эту ситуацию, или может есть у кого-нибудь другие варианты решения этой задачи.
PS БЭСТ 12.01 SP 40
 
Думаю что у Вас программно тут ничего не выйдет в таком виде и это понятно. Это сама задача должна была быть так написана.
Если по конкретному оператору хотите видеть заказы - то используйте
типовую настройку в параметрах подсистемы и тогда у вас будут на
конкретном компьютере отражаться заказы конкретного менеджера.
Такая настройка есть.
Все остальные фильтры будут слетать, потому как событие на вход в
реестр не обещает поддержку фильтров пользователя. И при написании
задачи такой постановки Вопроса не было.
 
Костя, а в другом виде выйдет?
Например, индекс свой ставить.
Давай как-то разберемся с этим, что можно сделать, а что нельзя. Потому что у нас то особо выбора нет - надо решить такую задачу.
P.S. Тут дело не совсем так выглядит как Денис описал. На самом деле заказы делятся по тому, как они будут отгружатся. Например, если предполагается что заказ делается для отгрузки через консигнацию, значит в режиме отгрузки на консигнацию будут отобраны только такие заказы. Там есть еще ряд условий, что показывать, но если решить в целом задачу, то с дополнительными условиями мы сами постараемся разобраться.
 
К сожалению я не нашел другого решенеия, когджа было очень надо кроме как делать свой интерфейс. Вопрос авторизации работы с заказами - Вопрос очень древний. Его изначально КБ должны поддерживать внутри.
Иначе все равно передет переключени на типовой индекс и т.д.

Что касается консигнации - то тут проще.
Делать документ консигнации по определенным заказам думаю можно через
событие картотека товаров.
Скорее всего на сегодня общего решения не найти, а отдельные локальные нужно конкретно по каждому решению рассматривать как подойти.

Есть одна мысль. Но ее проверять надо.
Если допустим делать временный файл и в событие на открытие реестра производить подмену алиаса на свой временный. То тогда список то получим думается но вот потом целый фронт работ по переносу изменений при закрытии и потеря времени на создание такого файла при открытии реестра.
 
Вот частично описание того что нужно:
Цитата

2. Для работников имеющих полный доступ к «Книге регистраций заказов»:
1. Организация Специальных статусов для заказов:
А) Реализация со склада
Б) Передача на консигнацию
В) Реализация Видеопрокатам
Г) Прочие
2. Организация Дополнительного статуса «Отгрузка разрешена» для заказов «Готов к отгрузке»
В модуле «Учет материальных запасов» в подмодуле «Товары. Готовая продукция» в режиме работы «Учет движение товаров»:
1. Организация запрета для «Работников склада» по паролю создавать расходные документы (Реализация со склада, Передача на консигнацию, Реализация Видеопрокатам, Прочие) не основанных на ЗАКАЗАХ. Организация запрета на корректировку данных подставленных из ЗАКАЗА (Сумм, количеств, цен и т.д.).
2. В каждом из режимов учета складских документов (Реализация со склада, Передача на консигнацию, Реализация Видеопрокатам, Прочие) выбор «Заказов» должен автоматически формироваться (организация «Фильтра») в соответствии со Специальным статусом заказа (А)Б)В)Г)) при наличии Дополнительного статуса «Отгрузка разрешена»

Переписывать интерфейс очень трудоемко. У меня мечта :smile:, что когда-нибудь у БЭСта будет открытый код и можно будет только чуть-чуть подправить там в интерфейсе, а не рисовать полностью новый своими руками.
Но вот за идеи спасибо, кое что полезное я для себя подчерпнул. И я похоже догадываюсь, как можно реализовать твою идею с нужным результатом для меня. Попробую - доложусь.:smile:
 
Добрый день.

Цитата
Дмитрий Орлов пишет:
У меня мечта , что когда-нибудь у БЭСта будет открытый код и можно будет только чуть-чуть подправить там в интерфейсе, а не рисовать полностью новый своими руками.


Смею Вас заверить, "чуть-чуть" очень часто не получается. Как назло, разработчик реализует функционал таким способом, который наименее удобен для Ваших исправлений. :-)
С уважением, Новиков Алексей.
 
Если судить объективно, то как раз чуть-чуть изменить интерфейс событие на вход в ресстр позволяет, но именно чуть-чуть.
Что касается задач - я честно говоря не увидел потребности фильтровать заказы в реестре заказов и вроде как поставленные задачи реализуемы.
Что касается дополнительных статусов:
Предлагаю озвучить Ваше видение статусов в заказах.
Поскольку этот Вопрос рассматривался. Сейчас хочется иметь представление общего случая со статусами, которые бы закрыли
в этом потребность непосредственно в централизованном решении
не только для Вашей задачи, а в принципе.
 
Цитата
Что касается задач - я честно говоря не увидел потребности фильтровать заказы в реестре заказов и вроде как поставленные задачи реализуемы. Что касается дополнительных статусов: Предлагаю озвучить Ваше видение статусов в заказах. Поскольку этот вопрос рассматривался. Сейчас хочется иметь представление общего случая со статусами, которые бы закрыли в этом потребность непосредственно в централизованном решении не только для Вашей задачи, а в принципе.

У заказов ставится признак менеджером, как будет происходить отгрузка - через консигнацию, обычным способом и т.д. А в накладной должен открываться реестр заказов соответсвующего типа. Как можно без фильтра обойтись?
Видения статусов заказов как такового нет. Хорошо иметь справочник статусов с возможностью самостоятельного пополнения к уже существующим. Тогда мы полностью закрыли бы эту тему. Плюс на документах иметь возможность проставлять какие-то отметки, видимые взглядом (типа галочка = проверено бухгалтером), у нас некоторые клиенты ставят такие галочки и после этого менеджерам запрещено редактировать документы. Сейчас мы вешаем на это плагины, в качестве отметки используем регистрацию в договорах. Это все нужно и в 4-ке и в 5-ке.
 
Да но только реестр заказов тут ни при чем.
Заведи свое поле, ставь статус, отрази его в реестре заказов.
А в самих накладных используй для подкачки заказов либо событие на открытие документа либо картотеку товаров.
Поле с номером заказа в заголовке заполняй сам.
В своем экране ты действительно по своему статусу можешь применить свой индекс и накладывать скоб.
 
Цитата
Да но только реестр заказов тут ни при чем.
Заведи свое поле, ставь статус, отрази его в реестре заказов.

Завел, ставлю, только для того чтобы его отразить, надо интерфейс реестра заказов повторить полностью, добавив одну маленькую фигульку. Трудоемкость процесса зашкаливает имхо. Был бы хотя бы исходник реестра, для основы.

Цитата
А в самих накладных используй для подкачки заказов либо событие на открытие документа либо картотеку товаров.
Поле с номером заказа в заголовке заполняй сам.
В своем экране ты действительно по своему статусу можешь применить свой индекс и накладывать скоб.

Событие на открытие документа - ставим фильтр на заказы, он слетает при повторном открытии в поле "номер заказа"
В картотеке товаров показывать реестр заказов? А потом самому обрабатывать загрузку из заказа, проставлять в заказе отгруженные позиции...
У меня уже почти все есть, но вот незадача, слетает этот фильтр.
Костя, подскажи способ менее трудоемкий. Или поговори с кем надо, чтобы фильтр не слетал :smile:
 
Цитата
Дмитрий Орлов пишет:

Завел, ставлю, только для того чтобы его отразить, надо интерфейс реестра заказов повторить полностью, добавив одну маленькую фигульку. Трудоемкость процесса зашкаливает имхо. Был бы хотя бы исходник реестра, для основы.

Вы в текущем реестре найдите место, которое БЭСТ не зарисовывает и в событие на вход в реестр положите строку программы писать сюда статус.
И он в текущем реестре отражаться будет.
Сан Саныч по моей просьбе уже давно отключил обновление всего экрана после выполнения плагина на вход в реестр.
 
Цитата
Дмитрий Орлов пишет:

Цитата

Событие на открытие документа - ставим фильтр на заказы, он слетает при повторном открытии в поле "номер заказа"


Складывается ощущение что ты меня не слышишь.
Поле заказов в настройке закрываем.
Заполняем шапку в этом поле сами все в том же собтии на вход.
И в этом же событии открываем свой реестр.
В нем уж никак ничего слетать не может в принципе.
А еще лучше делать на событие картотека товаров.
Страницы: 1
Читают тему (гостей: 1)