Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как включить защиту от дурака.
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
dvkdvk



Joined: 16 Oct 2007
Posts: 14
Location: Дмитрий Коньяков
Occupation: Икрус
Interests: Новосибирск

PostPosted: 16 Oct 2007 16:28    Post subject: Как включить защиту от дурака. Reply with quote

Заранее прошу простить если вопрос дилетанский но в FAQ этого нет и в форуме вопрос не поднимался.
Арм:Арм управление продажами.
Можно ли сделать чтобы для определенного пользователя при сохранении заявки, не зависимо от того как он заполнил соответствующие поля, автоматически проставлялись следующие параметры: заказчик-аналитика такаето, вид цены-такой то, скидка-такаето... Для чего это нужно - хотим пустить удаленных пользователей (подключение через интернет к терминальной сесии), что бы они выписывали себе товар сами, но понятно сколько не пиши инструкций...всеравно накосячат, короче нужно что бы все эти поля заполнялись сами! Понятно что для реализации этого нужно иметь доступ к полям формы (или к какойто временной dbf в которую грузится редактируемая заявка). Подскажите названия таблиц и полей которые нужно править. Возможен ли доступ к полям формы напрямую? Заранее спасибо за ответ.
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 16 Oct 2007 18:14    Post subject: Reply with quote

Если речь про БЭСТ-4 то рецепт такой:
на открытие документа делаете плагин.
В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля
на изменение пользователем...
Если речь про Б5 то в 3.4 счет будет объектом. (Не в том, что сейчас
выходит, но в планах) и вот тогда Вы сможете сделать свой
инет магазин а из него стартовать создание в Б5 счетов, не
пуская ни в какой БЭСТ.
Я до конца не знаю задачи но можно со временем будет двумя путями.
События на открытие документа в Б5 тоже присутствую
Back to top
View user's profile Send private message Send e-mail
dvkdvk



Joined: 16 Oct 2007
Posts: 14
Location: Дмитрий Коньяков
Occupation: Икрус
Interests: Новосибирск

PostPosted: 16 Oct 2007 18:45    Post subject: Reply with quote

Речь идет про БЭСТ-4

Можно по подробнее о:
"В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля на изменение пользователем..."
Если возможно - дайте ссылку (или кинте маленький пример) как произвести обращение к "переменным полей формы" и "закрыть эти поля на изменение пользователем". В отладчике видны только открытые таблицы Возможно я не туда смотрю (видимо надо смотреть среди privat переменных?). Где можно посмотреть список действующих в данной форме "переменных полей формы"
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 16 Oct 2007 18:47    Post subject: Reply with quote

Вот пример как закрыть первое поле

Code:
GLOBALGETLIST[1]:PREBLOCK:={||.F.}
Back to top
View user's profile Send private message Send e-mail
dvkdvk



Joined: 16 Oct 2007
Posts: 14
Location: Дмитрий Коньяков
Occupation: Икрус
Interests: Новосибирск

PostPosted: 16 Oct 2007 19:48    Post subject: Reply with quote

К сожалению про использование функции (или массива???) GLOBALGETLIST есть только две ветки:
http://www.bestnet.ru/club/phpBB/viewtopic.php?p=40372&highlight=globalgetlist#40372
http://www.bestnet.ru/club/phpBB/viewtopic.php?p=39883&highlight=globalgetlist#39883

По первой ссылки упоминание только в скользь, по второй, наверное я разберусь только к пенсии (да заголовок ветки: применение фундоментальных знаний, говорит сам за себя). Простое тестирование в отладчике приведенного Вами кода дает сообщение: Ошибка выполнения ... переменная не существует. В перечне глобальных, и приват переменных массива GLOBALGETLIST нет. Возможно у меня старый БЭСТ БЭСТ-4+ 12.01 [SP19]. или руки кривые???
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 17 Oct 2007 12:27    Post subject: Reply with quote

dvkdvk wrote:
В перечне глобальных, и приват переменных массива GLOBALGETLIST нет.


Есть и в Вашей версии и в предыдущих.
На нем БЭСТ работает и всегда работал
Смотрите внимательно в PUBLIC переменных.
Документация еще какая-то не нужна - я уже готовое решение написал
А дальше смотрите и пробуйте...
Back to top
View user's profile Send private message Send e-mail
Behemoth



Joined: 15 Mar 2002
Posts: 155
Location: Новиков Алексей Юрьевич
Occupation: ПБОЮЛ
Interests: Пермь

PostPosted: 17 Oct 2007 13:11    Post subject: Reply with quote

Добрый день.

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
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 17 Oct 2007 13:16    Post subject: Reply with quote

Да нет Алексей.
Он создан специально для плагинов.
Он существует для управления экраном.
Сан Саныч специально его для этого сделал.
Я проверял только что - он есть и прекрасно работает.
Back to top
View user's profile Send private message Send e-mail
dvkdvk



Joined: 16 Oct 2007
Posts: 14
Location: Дмитрий Коньяков
Occupation: Икрус
Interests: Новосибирск

PostPosted: 17 Oct 2007 13:17    Post subject: Reply with quote

Захожу в Управление продажами... далее запускаю спецфункцию с отладкой и смотрю в окне Monitor Public (естественно включив через меню отображать там все):
...
GETLIST...
GLOBALDEMO...
GLOBALNAME...
GLOBALTASK...
GLOBALTMPPATH...
GLOBALVALUTA...
GLOBAL_ANALIT...
...
Так как предварительно список сортировал - GLOBALGETLIST пропустить не мог! Может имелось в виду GETLIST - он точно есть в списке! Прошу не пинать ногами, так как это мои первые шаги в програмировании под БЭСТ 4
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 17 Oct 2007 13:22    Post subject: Reply with quote

Думаю Вам надо поставить сервис-паки
В 19 совершенно точно его не должно быть.
Тема с управлением экраном началась после ввода
оплаты проделния для сервис-паков
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагин
Back to top
View user's profile Send private message Send e-mail
Behemoth



Joined: 15 Mar 2002
Posts: 155
Location: Новиков Алексей Юрьевич
Occupation: ПБОЮЛ
Interests: Пермь

PostPosted: 17 Oct 2007 13:43    Post subject: Reply with quote

Добрый день.
nordk wrote:
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина)

Вообще говоря, непонятно. Если это две ссылки на один массив и обе объявлены как public, то в чём между ними разница? Если это два разных массива, то как они синхронизируются?
_________________
С уважением, Новиков Алексей.
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 17 Oct 2007 14:04    Post subject: Reply with quote

Алексей до конца разница мне и самому непонятна
История такая.
Вообще в товарах у нас не получалось через GETLIST
управлять экраном хоть он и PUBLIC
Я аппелировал наверх с просьбой о помощи.
И был для этого создан GLOBALGETLIST
Тонкости объяснялись моему программисту, его сейчас нет рядом.
Поскольку с управлением продажами функции в большинстве
своем одни и те же в заказах, то и там переменная появилась.
Ради интереса на 39 пакете я сейчас посмотрел.
Действительно в товарах без GlobalGetList экранной формой
управлять не получается а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
А вот в чем тонкости думаю Вы Алексей скорее меня сможете
объяснить если разберетесь
Back to top
View user's profile Send private message Send e-mail
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 18 Oct 2007 11:14    Post subject: Reply with quote

Behemoth wrote:
Добрый день.
nordk wrote:
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина)

Вообще говоря, непонятно. Если это две ссылки на один массив и обе объявлены как public, то в чём между ними разница? Если это два разных массива, то как они синхронизируются?

Добрый день!
Этот массив (GlibalGetList) введен в отдельных режимах, в частности, для события на вход в прайс-лист, и на вход в документ склада, чтобы плагин мог видеть GetList, там где его не видно (локальный или скрытый приватный). Так что рекомендация такая: остановится в отладчике на плагине и посмотреть public'и - там где он есть, можно использовать.
_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
dvkdvk



Joined: 16 Oct 2007
Posts: 14
Location: Дмитрий Коньяков
Occupation: Икрус
Interests: Новосибирск

PostPosted: 22 Oct 2007 12:10    Post subject: Reply with quote

nordk wrote:
....а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
...

Можно попросить сбросить маленький кусочик плагина (обязательно с обьявлением переменных) в котором в управлении продажами удалось произвести управление формой ввода через GetList. Заранее спасибо
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 23 Oct 2007 12:09    Post subject: Reply with quote

У меня в демоверсии первое поле в массиве GetList
номер счета - вот так я это делаю на вход в заказ.
Проверил - у меня работает в 39 пакете.

Code:
FUNCTION MAIN()
   ALTD()
   GETLIST[1]:PREBLOCK:={||.F.}
RETURN .t.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru