View previous topic :: View next topic |
Author |
Message |
dvkdvk
Joined: 16 Oct 2007 Posts: 14 Location: Дмитрий Коньяков Occupation: Икрус Interests: Новосибирск
|
Posted: 16 Oct 2007 16:28 Post subject: Как включить защиту от дурака. |
|
|
Заранее прошу простить если вопрос дилетанский но в FAQ этого нет и в форуме вопрос не поднимался.
Арм:Арм управление продажами.
Можно ли сделать чтобы для определенного пользователя при сохранении заявки, не зависимо от того как он заполнил соответствующие поля, автоматически проставлялись следующие параметры: заказчик-аналитика такаето, вид цены-такой то, скидка-такаето... Для чего это нужно - хотим пустить удаленных пользователей (подключение через интернет к терминальной сесии), что бы они выписывали себе товар сами, но понятно сколько не пиши инструкций...всеравно накосячат, короче нужно что бы все эти поля заполнялись сами! Понятно что для реализации этого нужно иметь доступ к полям формы (или к какойто временной dbf в которую грузится редактируемая заявка). Подскажите названия таблиц и полей которые нужно править. Возможен ли доступ к полям формы напрямую? Заранее спасибо за ответ. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 16 Oct 2007 18:14 Post subject: |
|
|
Если речь про БЭСТ-4 то рецепт такой:
на открытие документа делаете плагин.
В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля
на изменение пользователем...
Если речь про Б5 то в 3.4 счет будет объектом. (Не в том, что сейчас
выходит, но в планах) и вот тогда Вы сможете сделать свой
инет магазин а из него стартовать создание в Б5 счетов, не
пуская ни в какой БЭСТ.
Я до конца не знаю задачи но можно со временем будет двумя путями.
События на открытие документа в Б5 тоже присутствую |
|
Back to top |
|
|
dvkdvk
Joined: 16 Oct 2007 Posts: 14 Location: Дмитрий Коньяков Occupation: Икрус Interests: Новосибирск
|
Posted: 16 Oct 2007 18:45 Post subject: |
|
|
Речь идет про БЭСТ-4
Можно по подробнее о:
"В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля на изменение пользователем..."
Если возможно - дайте ссылку (или кинте маленький пример) как произвести обращение к "переменным полей формы" и "закрыть эти поля на изменение пользователем". В отладчике видны только открытые таблицы Возможно я не туда смотрю (видимо надо смотреть среди privat переменных?). Где можно посмотреть список действующих в данной форме "переменных полей формы" |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 16 Oct 2007 18:47 Post subject: |
|
|
Вот пример как закрыть первое поле
Code: | GLOBALGETLIST[1]:PREBLOCK:={||.F.} |
|
|
Back to top |
|
|
dvkdvk
Joined: 16 Oct 2007 Posts: 14 Location: Дмитрий Коньяков Occupation: Икрус Interests: Новосибирск
|
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 17 Oct 2007 12:27 Post subject: |
|
|
dvkdvk wrote: | В перечне глобальных, и приват переменных массива GLOBALGETLIST нет. |
Есть и в Вашей версии и в предыдущих.
На нем БЭСТ работает и всегда работал
Смотрите внимательно в PUBLIC переменных.
Документация еще какая-то не нужна - я уже готовое решение написал
А дальше смотрите и пробуйте... |
|
Back to top |
|
|
Behemoth
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
|
Posted: 17 Oct 2007 13:11 Post subject: |
|
|
Добрый день.
GLOBALGETLIST вводился на время применения фундоментальных знаний. Но потестировали и помнится мне, отказались от его использования.
Так что пользуйтесь старым добрым GETLIST, если позволяет точка вызова плагина. Пробегитесь по GETLIST с помощью aeval, найдите нужный GET-объект, исправьте его параметры. Например, так:
Code: | aeval(getlist,{|x,i| if(upper(x:name)='PPRIM',getlist[i]:reader:={|oget| ReferGetReader(oget,'gr_pol1')},)})
aeval(getlist,{|x,i| aeval(getlist,{|x,i| if(upper(x:name)='PDOPCODE',(a13:=getlist[i]:postblock, getlist[i]:postblock:={|y| f_460_003(), eval(a13,@y) }),)})
|
_________________ С уважением, Новиков Алексей. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 17 Oct 2007 13:16 Post subject: |
|
|
Да нет Алексей.
Он создан специально для плагинов.
Он существует для управления экраном.
Сан Саныч специально его для этого сделал.
Я проверял только что - он есть и прекрасно работает. |
|
Back to top |
|
|
dvkdvk
Joined: 16 Oct 2007 Posts: 14 Location: Дмитрий Коньяков Occupation: Икрус Interests: Новосибирск
|
Posted: 17 Oct 2007 13:17 Post subject: |
|
|
Захожу в Управление продажами... далее запускаю спецфункцию с отладкой и смотрю в окне Monitor Public (естественно включив через меню отображать там все):
...
GETLIST...
GLOBALDEMO...
GLOBALNAME...
GLOBALTASK...
GLOBALTMPPATH...
GLOBALVALUTA...
GLOBAL_ANALIT...
...
Так как предварительно список сортировал - GLOBALGETLIST пропустить не мог! Может имелось в виду GETLIST - он точно есть в списке! Прошу не пинать ногами, так как это мои первые шаги в програмировании под БЭСТ 4 |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 17 Oct 2007 13:22 Post subject: |
|
|
Думаю Вам надо поставить сервис-паки
В 19 совершенно точно его не должно быть.
Тема с управлением экраном началась после ввода
оплаты проделния для сервис-паков
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагин |
|
Back to top |
|
|
Behemoth
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
|
Posted: 17 Oct 2007 13:43 Post subject: |
|
|
Добрый день.
nordk wrote: | GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина) |
Вообще говоря, непонятно. Если это две ссылки на один массив и обе объявлены как public, то в чём между ними разница? Если это два разных массива, то как они синхронизируются? _________________ С уважением, Новиков Алексей. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 17 Oct 2007 14:04 Post subject: |
|
|
Алексей до конца разница мне и самому непонятна
История такая.
Вообще в товарах у нас не получалось через GETLIST
управлять экраном хоть он и PUBLIC
Я аппелировал наверх с просьбой о помощи.
И был для этого создан GLOBALGETLIST
Тонкости объяснялись моему программисту, его сейчас нет рядом.
Поскольку с управлением продажами функции в большинстве
своем одни и те же в заказах, то и там переменная появилась.
Ради интереса на 39 пакете я сейчас посмотрел.
Действительно в товарах без GlobalGetList экранной формой
управлять не получается а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
А вот в чем тонкости думаю Вы Алексей скорее меня сможете
объяснить если разберетесь |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 18 Oct 2007 11:14 Post subject: |
|
|
Behemoth wrote: | Добрый день.
nordk wrote: | GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина) |
Вообще говоря, непонятно. Если это две ссылки на один массив и обе объявлены как public, то в чём между ними разница? Если это два разных массива, то как они синхронизируются? |
Добрый день!
Этот массив (GlibalGetList) введен в отдельных режимах, в частности, для события на вход в прайс-лист, и на вход в документ склада, чтобы плагин мог видеть GetList, там где его не видно (локальный или скрытый приватный). Так что рекомендация такая: остановится в отладчике на плагине и посмотреть public'и - там где он есть, можно использовать. _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
dvkdvk
Joined: 16 Oct 2007 Posts: 14 Location: Дмитрий Коньяков Occupation: Икрус Interests: Новосибирск
|
Posted: 22 Oct 2007 12:10 Post subject: |
|
|
nordk wrote: | ....а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
... |
Можно попросить сбросить маленький кусочик плагина (обязательно с обьявлением переменных) в котором в управлении продажами удалось произвести управление формой ввода через GetList. Заранее спасибо |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 23 Oct 2007 12:09 Post subject: |
|
|
У меня в демоверсии первое поле в массиве GetList
номер счета - вот так я это делаю на вход в заказ.
Проверил - у меня работает в 39 пакете.
Code: | FUNCTION MAIN()
ALTD()
GETLIST[1]:PREBLOCK:={||.F.}
RETURN .t. |
|
|
Back to top |
|
|
|