Какая может быть другая структура? Авторизация, кстати мало помогает для ограничения доступа, все равно все ставят сохранение пароля, либо его знают все кто садится за комп.
Добавьте адрес машины в Unrestricted IPs и все.
Коннект будет без авторизации.
В следующих паках поправят, наверняка.
Какой именно используется прокси-сервер?
Выключите авторизацию для этой машины в настройках прокси, либо пустите для одной машины прямое соединение на 80 порты, т.е. без использования прокси.
Пусть это будет админ, либо любое другое доверенное лицо.
Еще одна особенность:
Три колонки, план, факт, процент выполнения
процент считается как факт/план*100, но в колонке план могут быть нулевые значения.
Если делать алгоритм с условием, то это ничего не даст, т.к. обрабатывается условие для формирования всей колонки (как я понял).
Выходит что на каждую строку надо создавать свою ячейку?
Но как правильно задать условие?
Начинаю перебирать варианты - выскакивают ошибки.
Работает такой вариант для ячейки - iif(#F0.10=0,0,#G0.10/#F0.10*100)
Но стоит попасть нулю - выскакивает ошибка, причем еще из операций сравнения признается только "равно" =.
Б5. 3.4 СП14.
Создаем шаблон отчетов.
Две строки. Три колонки (код, название, общие данные).
Задаем расчеты ячеек. DB("501") в первую и DB("601").
При расчете в каждой строке будет значение первой ячейки, т.е. в каждой последующей строке возвращается значение первой DB().
При задании формул в строках, как в примере баланса демобазы, все считает штатно.
ОК,
Неплохой модуль получился.
Теперь по получению данных из других таблиц.
А именно, добавление записей во вкладке ссылки любого шаблона бюджета-отчета.
Пока выдает ошибку.
Возможно ли использовать функции DR CR для получения данных по аналитическим счетам?
Я пробовал такую схему - CR("M110.7-14-01")
В этом случае, когда требуется получить данные по третьему уровню - дает ошибку.
Когда поднимаю требуемый уровень, т.е. CR("M110.7-14"), считает все правильно.
Итак, по порядку.
Доступ следует ограничить для запуска, в случае использования терминального подключения и расположения библиотеки в общедоступной папке client\bin.
По поводу того, что класть утилиту в одну папку на одной станции - в данном случае запуск функций РАЗОВЫЙ, совсем не за чем делать запуск кому-то, кроме администратора, для других случаев следует править код.
По поводу поддержания "свежести" библиотек разработчика:
ПРАВИЛО - размещать свои проекты в папке - \BEST5_34\Server\DATA\Pro\userlibs\
В этом случае, при запуске клиента библиотека ляжет в папку Client\Bin\userlibs
В этом случае не надо обновлять клиентов, все будет происходить автоматом, bdll rc файлы автоматом копируются и загружаются в память при запуске клиента Б5.
При использовании такой схемы следует откорректировать путь в userbdll.txt, который размещается в корневой папке базы данных.
В связи с вопросами как запустить эти функции поясняю:
Необходимо создать программный проект в дизайнере приложений (BestIDE), назовем его, к примеру tools.
В программном файле следует разместить текст вышеприведенных функций, если необходимо - то внести изменения.
Затем скомпилировать проект, полученный файл лучше разместить на станции администратора в папке client\bin.
Для запуска через меню следует добавить строки в userbdll.txt
Думаю, следует ознакомиться с содержимым папки \BEST5_34\Client\Source\xHarbour\common\, в которой находятся примеры-исходники:
abstract.prg
act.prg
cash.prg
editcomp.prg
examples.prg
excel_calc.prg
mlabel.prg
oborot.prg
scladobj.prg
slibobj.prg
zakaz.prg
конкретно scladobj.prg
Цитата
В этом файле содержатся определения объектов, отвечающих за формирование накладных.
Имеются: коллекция (или, другими словами, пачка) документов ScladDocs и сами документы
(элементы указанной коллекции), описываемые объектом ScladDoc. Предлагается следующая схема
работы с накладными:
1) Создается коллекция ScladDocs.
2) С помощью объекта ScladDoc описываются документы, которые надлежит удалить, создать,
открыть на редактирование, создать и распечатать, создать и распечатать по Alt-F9,
открыть и распечатать по F9, открыть и распечатать по Alt-F9.
3) Объекты-документы c помощью методов AddDoc, DeleteDoc, AddDocPrint и AddDocPrintAltF9
коллекции ScladDocs добавляются в ее подколлекции, для которых выполнятся соответствующие действия.
4) Метод RUN выполняет указанные нами действия.
Хотел бы знать коллег по профилю.
Хотел бы аргументированно ответить какому-нибудь аудитору кто еще работает на этой же программе.
Не обязательно всех клиентов, а таких которые на слуху у менеджеров высшего звена.
Чтобы они ощущали свою причастность, а сейчас получается что они ощущают ущербность, как бы успешно система не работала.
Ущербность от того, что они не в модной восьмерке или семерке, ну и так далее
На bestvolga кстати давно есть раздел клиенты, думаю что у каждого партнера БЭСТ есть что предоставить.
Напоминаю, тема не закрыта.
Мне не удается повторить пример формирования отчета по примеру с Б4+.
Если использовать форму с DSName из произвольного счета - выдается ошибка.
После чего требуется выйти из БЭСТа и зайти заново, иначе в памяти остаются "привидения".
Как сформировать отчет по пользовательским данным?
В свои функции можно сделать вызов функции, такого типа
Код
Local aAdmin:={'admin','itman','saak'}
Local aUser:={'admin','itman','oper1','buh1','buh2'}
AltD()
If AScan(aAdmin,ident_user)=0
sayandwait("У вас нет прав доступа")
Return
EndIf
Смысл в том, чтобы разделить юзеров на уровни доступа
и соответственно там уже как удобнее делать проверку.
Главное - переменная iden_user, а уж когда ее проверять - дело ваших задач.
Да, имеется в виду меахнизм с помощью WinReport.
Начнем с начала.
Требуется сделать свой отчет по своей таблице. Проще это сделать так как было в 4+.
Т.е. из дизайнера отчетов необходимо создать файл формата frf, разместить его в необходимом каталоге. По описанию в документации применить WinReport и наслаждаться результатом.
В пятерке есть отличия.
ВО-первых, стандартные системные отчеты хранятся в базе, а не в папках базы данных.
Следовательно, для отчетов следует предусмотреть каталог хранения.
Следует взять за правило все свои таблицы размещать внутри каталога USER
если задача по складу, то отчет размещаем в user\sclad\template\.
Дальше, как создавать новый отчет.
Надо открыть дизайнер любым доступным способом и создать в нем новый чистый отчет, затем сохранить его в нужный каталог. С привязкой полей пока спешить не следует.
Затем из своего приложения, в котором готовим данные, вызываем функцию winreport, с параметрами.
Вот тут у меня вышла загвоздка, решил проверить на примере формирования данных в массиве по примеру fe_prnm.prg. Данных не видно.
Возможно ли в БЭСТ-5 повторить пример формирования отчета, как в БЭСТ-4+.
Пример fe_prnm.prg в БЭСТ-4+.
Система формирования отчетов в Б5 отличается от Б4+.
Хотелось бы прояснить этот .
Какая цепочка действий для формирования своего документа из своих приложений на основе своих данных?
Да ничего выдающегося.
План счетов выглядит примерно так:
М01 - Сырье
М011... - Субсчета по видам сырья по технол. признакам
М11 - Зарплата + ЕСН
субсчета по категориям
далее счета
Электроэнергия
Брак
ГСМ
Амортизация
Налоги
Страхование
Реклама
ПО
Коммуникации
и т.д.
К каждому привязана групповая аналитика, из двух уровней.
Первый - производство, управление, АУП, Логистика
второй - подразделения.
Пока что так.
Для начала надо ознакомиться с документацией по кадрам и табельному учету.
Затем включить кадры, провести синхронизацию, создать приказы для "инициации".
Поработать месяц, другой, одновременно на копии тестируя табельный учет.
С 4-ки наверняка потянулся "шлейф", требующий переосмысления в свете задействования табельного учета.