Как включить защиту от дурака.
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
-> Программирование в БЭСТ-4

#1: Как включить защиту от дурака. Author: dvkdvkLocation: Дмитрий Коньяков PostPosted: 16 Oct 2007 16:28
    —
Заранее прошу простить если вопрос дилетанский но в FAQ этого нет и в форуме вопрос не поднимался.
Арм:Арм управление продажами.
Можно ли сделать чтобы для определенного пользователя при сохранении заявки, не зависимо от того как он заполнил соответствующие поля, автоматически проставлялись следующие параметры: заказчик-аналитика такаето, вид цены-такой то, скидка-такаето... Для чего это нужно - хотим пустить удаленных пользователей (подключение через интернет к терминальной сесии), что бы они выписывали себе товар сами, но понятно сколько не пиши инструкций...всеравно накосячат, короче нужно что бы все эти поля заполнялись сами! Понятно что для реализации этого нужно иметь доступ к полям формы (или к какойто временной dbf в которую грузится редактируемая заявка). Подскажите названия таблиц и полей которые нужно править. Возможен ли доступ к полям формы напрямую? Заранее спасибо за ответ.

#2:  Author: nordkLocation: Горбунов Константин PostPosted: 16 Oct 2007 18:14
    —
Если речь про БЭСТ-4 то рецепт такой:
на открытие документа делаете плагин.
В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля
на изменение пользователем...
Если речь про Б5 то в 3.4 счет будет объектом. (Не в том, что сейчас
выходит, но в планах) и вот тогда Вы сможете сделать свой
инет магазин а из него стартовать создание в Б5 счетов, не
пуская ни в какой БЭСТ.
Я до конца не знаю задачи но можно со временем будет двумя путями.
События на открытие документа в Б5 тоже присутствую

#3:  Author: dvkdvkLocation: Дмитрий Коньяков PostPosted: 16 Oct 2007 18:45
    —
Речь идет про БЭСТ-4

Можно по подробнее о:
"В нем вы можете заполнить переменные полей формы как Вам это надо. И с помощью массива полей формы закрыть эти поля на изменение пользователем..."
Если возможно - дайте ссылку (или кинте маленький пример) как произвести обращение к "переменным полей формы" и "закрыть эти поля на изменение пользователем". В отладчике видны только открытые таблицы Возможно я не туда смотрю (видимо надо смотреть среди privat переменных?). Где можно посмотреть список действующих в данной форме "переменных полей формы"

#4:  Author: nordkLocation: Горбунов Константин PostPosted: 16 Oct 2007 18:47
    —
Вот пример как закрыть первое поле

Code:
GLOBALGETLIST[1]:PREBLOCK:={||.F.}

#5:  Author: dvkdvkLocation: Дмитрий Коньяков PostPosted: 16 Oct 2007 19:48
    —
К сожалению про использование функции (или массива???) 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]. или руки кривые???

#6:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Oct 2007 12:27
    —
dvkdvk wrote:
В перечне глобальных, и приват переменных массива GLOBALGETLIST нет.


Есть и в Вашей версии и в предыдущих.
На нем БЭСТ работает и всегда работал
Смотрите внимательно в PUBLIC переменных.
Документация еще какая-то не нужна - я уже готовое решение написал
А дальше смотрите и пробуйте...

#7:  Author: BehemothLocation: Новиков Алексей Юрьевич PostPosted: 17 Oct 2007 13:11
    —
Добрый день.

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) }),)})

#8:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Oct 2007 13:16
    —
Да нет Алексей.
Он создан специально для плагинов.
Он существует для управления экраном.
Сан Саныч специально его для этого сделал.
Я проверял только что - он есть и прекрасно работает.

#9:  Author: dvkdvkLocation: Дмитрий Коньяков PostPosted: 17 Oct 2007 13:17
    —
Захожу в Управление продажами... далее запускаю спецфункцию с отладкой и смотрю в окне Monitor Public (естественно включив через меню отображать там все):
...
GETLIST...
GLOBALDEMO...
GLOBALNAME...
GLOBALTASK...
GLOBALTMPPATH...
GLOBALVALUTA...
GLOBAL_ANALIT...
...
Так как предварительно список сортировал - GLOBALGETLIST пропустить не мог! Может имелось в виду GETLIST - он точно есть в списке! Прошу не пинать ногами, так как это мои первые шаги в програмировании под БЭСТ 4

#10:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Oct 2007 13:22
    —
Думаю Вам надо поставить сервис-паки
В 19 совершенно точно его не должно быть.
Тема с управлением экраном началась после ввода
оплаты проделния для сервис-паков
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагин

#11:  Author: BehemothLocation: Новиков Алексей Юрьевич PostPosted: 17 Oct 2007 13:43
    —
Добрый день.
nordk wrote:
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина)

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

#12:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Oct 2007 14:04
    —
Алексей до конца разница мне и самому непонятна
История такая.
Вообще в товарах у нас не получалось через GETLIST
управлять экраном хоть он и PUBLIC
Я аппелировал наверх с просьбой о помощи.
И был для этого создан GLOBALGETLIST
Тонкости объяснялись моему программисту, его сейчас нет рядом.
Поскольку с управлением продажами функции в большинстве
своем одни и те же в заказах, то и там переменная появилась.
Ради интереса на 39 пакете я сейчас посмотрел.
Действительно в товарах без GlobalGetList экранной формой
управлять не получается а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
А вот в чем тонкости думаю Вы Алексей скорее меня сможете
объяснить если разберетесь

#13:  Author: Титов АлександрLocation: Титов Александр Александрович PostPosted: 18 Oct 2007 11:14
    —
Behemoth wrote:
Добрый день.
nordk wrote:
GetList есть но он Вам не подвластен в плагине
Для этого и был создан он же как GlobalGetList
(зеркало доступное для плагина)

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

Добрый день!
Этот массив (GlibalGetList) введен в отдельных режимах, в частности, для события на вход в прайс-лист, и на вход в документ склада, чтобы плагин мог видеть GetList, там где его не видно (локальный или скрытый приватный). Так что рекомендация такая: остановится в отладчике на плагине и посмотреть public'и - там где он есть, можно использовать.

#14:  Author: dvkdvkLocation: Дмитрий Коньяков PostPosted: 22 Oct 2007 12:10
    —
nordk wrote:
....а в управлении продажами GetList
позволяет это. Т.е. в управлении продажами получилось разницы нет.
...

Можно попросить сбросить маленький кусочик плагина (обязательно с обьявлением переменных) в котором в управлении продажами удалось произвести управление формой ввода через GetList. Заранее спасибо

#15:  Author: nordkLocation: Горбунов Константин PostPosted: 23 Oct 2007 12:09
    —
У меня в демоверсии первое поле в массиве GetList
номер счета - вот так я это делаю на вход в заказ.
Проверил - у меня работает в 39 пакете.

Code:
FUNCTION MAIN()
   ALTD()
   GETLIST[1]:PREBLOCK:={||.F.}
RETURN .t.



-> Программирование в БЭСТ-4


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group