Жаль. В папке Bin лежит sql4dbf.exe, просит указать параметры при запуске:путь к базе, путь к sql файлу. Никто не знает, что делает эта программа? И какой формат sql файла она хочет?
А вообще я интересуюсь этим всем вот зачем. Есть самодельный отчет в Фастрепорте. В качестве источника данных там довольно сложный sql запрос, в котором собираются данные из 5 таблиц. Формируется большая таблица. Поставили задачу, сделать так чтобы вместо таблицы в печатном виде, формировался в нужной папке файл txt c разделителем ";" . Реализовывать такую выборку на Xharbor не просто(лично мне, кому как). Вот ищу как использовать уже имеющийся запрос на sql. Может кто подскажет варианты?
a:=rec:dbstruct // получить массив,описывающий структуру результата выборки
for i:=1 to rec:fcount
? a[i,1],a[i,2],a[i,3],a[i,4] //напечатать описание полей
next
? "RecCount="+str(rec:reccount) //напечатать количество записей в выборке
do while(!rec:eof)
// напечатать номер записи и все поля
? rec:recno, rec:FieldValue(1), rec:FieldValue(2), rec:FieldValue(3);
, rec:FieldValue(4), rec:FieldValue(5)
rec:skip(1)
enddo
// распечатать записи с позизионированием в процентном выражении
for i := 20 to 100 step 20
rec:GoPosition( i )
? rec:recno, rec:FieldValue(1), rec:FieldValue(2), rec:FieldValue(3);
, rec:FieldValue(4), rec:FieldValue(5)
j++
next
rec:close()
rec:destroy()
Не понял как он связан с DBTable, но очень заинтересовал. Проблема в том, что не работает. Компилируется нормально. А при попытке запуска дает ошибку.
Пытаюсь перенести запрос написанный в среде MS SQL Server на БЭСТ Fastreport. Вроде бы все исправил под FoxPro, Case заменил на IIF . Не пойму в чем проблема. Какой еще ACTIVATECELL? - Не знаю таких.
sel ect iif(left(dt_schet,2)='51',dt_schet,kt_schet)
,MONTH(dataoper)
,iif(left(dt_schet,2)='51',left(kt_schet,2),left(dt_schet,2)) as kor
,sum(iif(left(dt_schet,2)='51',summa,0)) as kto
,sum(iif(Left(dt_schet,2)='51' ,0 ,summa )) as dto
fr om [main]
where dataoper>ctod('01.02.2015') and ( (left(dt_schet,2)='51') or (left(kt_schet,2)='51'))
group by iif(left(dt_schet,2)='51',dt_schet,kt_schet)
,MONTH(dataoper)
,iif(left(dt_schet,2)='51',left(kt_schet,2),left(dt_schet,2))
order by MONTH(dataoper), kor
Мне нужно через плагин создавать проводки в главной книге, и хочется сделать правильно. У меня такое ощущение, что я где то видел класс для работы с проводками, толи на форуме, толи в исходниках, не помню.
nordk пишет:
Описывать надо подробно изначально, чтобы было понятно.
Так мне даже в голову не пришло, что спецфункции в реестре ордеров и спецфункции в окне проводок самого ордера это разные вещи, и похоже из за бага последний перебивает первого.
>> Откуда мне знать что вы при записи обязательно в окно проводок переходите ?
>> Я лично никогда не перехожу и других учу этого не делать без надобности особой :)
Так если не перейти то проводки к документу не сформируются, и сохранится без проводок. Я думал проводки всем нужны)
>> Лучшее решение перейти на денежные средства и воспользоваться готовым объектом разработчика по созданию кассовых документов
Перейти на денежные средства нашему бухгалтеру религия не позволяет. Ну вы поняли))
Надеюсь разработчики подправят спецфункции в «старой» кассе. Т.к. получилось у меня не очень красиво. Пришлось один и тот же плагин привязать в двух местах, и в реестре ордеров и в окне проводок в самой форме. Потому что нужно хоть раз попасть в окно провод и только после этого спецфункции проводок начанают так сказать доминировать на реестром. Получается плагин навешанный на реестр нужен только для создании первого ордера.
УРА! Нашел временное (постоянное) решение проблемы. Подцепил плагин не в реестре ордеров, а в самом документе. Точнее даже в окне проводок документа, почему то при в ходе в сам документ кнопки Спецфункции нет пока не перейдешь в проводки.
Все равно хотелось бы услышать ваш nordk комментарий по этой проблеме. Т.к. Спор не шуточный получился и до последнего вы стояли на стороне БЭСТа.
На Демо тоже не работает. Но я кажется нашел виновника. Дела даже не в сохранении документа, потому что если это проделать в старом документе, то тоже перестает работать потом.
Короче. Если в документе не переходить по TAB в проводки то - все ОК. Как только Табом перехожу на проводки,и не важно новый или старый документ – кирдык, плагин перестает срабатывать на Вход в документ. Проверил еще в Товарах и Материалах , там все ОК.
Я уже 4 дня бьюсь на этой проблемой. За это время только сервер не перезагружался.
Сомневаться в вашей компетентности я не могу. Но и себя полным дилетантом не считаю.
Еще раз только что все перепроверил. Однако факт: Тестовый плагин откомпилирован и состоит из одной строки SayAndWait("OK"). Удалил все плагины из модуля Кассы подотчеты . Добавил новый на событие Вход в документ. Все перезапустил. Сообщение «Ок» выводится при заходе в любой документ и при создании новго пока я не сохраняю «F10». Потом только перезаход в реестр. Попробовал на разных базах.
Я вот тоже не поленился создал пустой плагин с SayAndWait("OK") . Работал на ура пока я не создал новый документ и сохранил его. После сохранения не при в ходе в старый документ не при создании нового, плагин больше не срабатывает.
Это я к тому что если я поставлю altd() отладчик врятли покажет где в БЭСТе ошибка и не теште себя мыслью что в БЭСТе все идеально.
А вы пробывали сохранять документ? Просто если я создаю документ и не сохраняю его, то у меня тоже сколько угодно раз срабатывает. Я уже писал об этом.
Сегодня вырезал из кода почти все, оставил пустое условие. Результат тот же самый - плагин срабатывает до первого сохраненного документа. Как только сохраняю, при следующем входе в документ плагин не запускается. Появились смутные сомнения, что дело не в моем коде .
Здравствуйте. Пишу плагин для подмены справочника аналитики корреспондирующего счета в П/О кассы. Подменяет при условии что создается новый П/О и использована типовая операция с кодом 000. Плагин подключен на событие «Вход в документ». БЭСТ5 3,4 SP 14
Проблема в том, что работает это только один раз. Захожу в реестр ордеров, жму F4, заполняю, сохраняю, все срабатывает как задумано. При создании второго документа не чего не подменяет и ошибок не выдает, все работает как без плагина. На второй раз уже не срабатывает пока не перезайду в реестр. Не пойму в чем дело.
Вставлю свои 5коп)).
У нас та же проблема с архивированием. 36 пользователей , 10 баз, все в терминале. Иногда нужна архивация в рабочее время. Прошу всех выйти из данной базы, и всеравно пишет невозможно получить монопольный доступ. В менеджере сервера > Блокировки по данной базе пусто. Помогает только
рестарт сервера приложений, что очень не удобно, т.к. приходится выгонять все 36 пользователей.
Было бы очень удобно, если во всех подобный сообщениях (невозможно получить монопольный доступ) были указаны имена пользователей, а не только при индексации.
Доброго времени суток!
Писал хот лайн, но что то третий день тишина. Подскажите пожалуйста
В справочном руководстве по программированию, в описании событий написано: «
Специальные события для конкретных реестров разрабатываются специально именно для каждого из этих реестров. Пока известно только одно такое событие: подмена прайс-листа при выписке заказа и накладной на реализацию.»
В БЭСТе, в указанных разделах я ничего подобного не нашел. А как рас интересует подмена прайс листа. Я искал? Или там имелось ввиду использование события «Работа в реестре»?
Если не сложно напишите способы подмена стандартных форм и справочников.
И не могли бы немного объяснить как правильно использовать событие «Работа в реестре».
Допустим плагин выводит дополнительную информация о текущей позиции. Смущает один момент. Получается так, что плагин срабатывает даже когда пользователь ничего не делает(не перемещает курсор по реестру). Как это отразится на производительности? Пользователь встал на нужную строку и анализирует доп. информацию которую вывел плагин. Как бы плагин свою работу сделал и свободен по идее, а БЭСТ выполняет его снова и снова. Мое мнение правильней было бы вызывать плагин при перемещении по реестру.
Возможно я чтото напутал и не прав.
Александр Павлов пишет:
Спасибо за ответ. Проблема такая: при работе в терминальной сессии на старых компах очень медленно двигается курсор по реестру в модулях «Товары.Готовая продукция», «Зарплата».
Но , если, находясь в реестре, полностью выйти из сессии и снова зайти, эффект замедления пропадает. В файл- серверном варианте этого не наблюдаю.
Какая здесь может быть проблема с дисковой системой?
Конечно же в нашем случае дисковая не причем.. Я когда отвечал посты перепутал) Про дисковую я Рамилю адресовал.
Ну у меня там немного другая ситуация. Проблема признана. Проблема в БЭСТе. Решения до сих пор нет, да и я уже и не рассчитываю. Официальный ответ давно получен «Кроме Вас никто не жалуется, ничего, делать, не, будем!»
У Вас же, скорей всего проблема в дисковой системе.
Недавно провел один эксперимент. На том же сервере развернул еще одну Виртуальную машина, Windows Xp. Виртуальная сеть 10gb)) И даже при таком канале работало в разы медленней по сравнению с локальным вариантом. Такой уж БЭСТ Но я всеравно считаю его отличным продуктом !