BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 31 След.
БЭСТ-4+ просит переиндексацию с начала 2015 года, С наступлением 2015 года при запуске БЭСТ выводит сообщение о рекомендации проведения переиндексации
 
И похоже что как-то помогает переключение туда-сюда параметра "Требовать реиндексацию в начале суток".
С уважением, Новиков Алексей.
БЭСТ-4+ просит переиндексацию с начала 2015 года, С наступлением 2015 года при запуске БЭСТ выводит сообщение о рекомендации проведения переиндексации
 
Выложил утилиту для автоматической корректировки даты. Запускается в каталоге БЭСТ.
ftp://212.33.244.231/prg/index2015.exe
С уважением, Новиков Алексей.
БЭСТ-4+ просит переиндексацию с начала 2015 года, С наступлением 2015 года при запуске БЭСТ выводит сообщение о рекомендации проведения переиндексации
 
ini\global_v.dbf
Надо сдвинуть поле curr_prof со значения '20150101' на текущую дату. Вроде после этого работает нормально.

Но вообще странно.
Ладно базы, которые автоматически ночью реиндексируются. Они и 01/01/2015 реиндексировались.
Но есть много баз, которые не реиндексировались с прошлого года. Запустил сегодня реиндексацию. Часть из них как-то зацепилась за 01/01/2015, а часть нет.
С уважением, Новиков Алексей.
Размер экранного шрифта при работе через удаленный рабочий стол. Бэст4
 
А пользователи под одним именем работают?
С уважением, Новиков Алексей.
Проверка на контрольное значение при использовании QINPUT
 
Не надо забывать о контексте. Ваш плагин не единственый, кто работает с экраном.
Вы вызываете плагин из реестра. После завершения работы плагина InitList обновляет экран, затирая результат работы.
Вставьте sayandwait() после dispoutat и посмотрите на результат до его исчезновения.
С уважением, Новиков Алексей.
Проверка на контрольное значение при использовании QINPUT
 
Это функция xHarbour, она работает когда угодно и где угодно. Можете использовать её всякий раз, когда нужно что-то отобразить.
С уважением, Новиков Алексей.
Проверка на контрольное значение при использовании QINPUT
 
Конечно, можно.

Воспользуйтесь dispoutat(nTop, nLeft, cText, cColor), указав координаты вывода, строку и цвет
С уважением, Новиков Алексей.
Проверка на контрольное значение при использовании QINPUT
 
Переменные будут в массиве m->aIn, длина которого соответствует длине aHeads
С уважением, Новиков Алексей.
Проверка на контрольное значение при использовании QINPUT
 
В случае, если введённые значения корректны каждое само по себе, но не соблюдается некое общее условие, можно воспользоваться параметром № 20

bPostGet - блок кода выполняемый после каждого завеpшения READ,
ему пеpедается флаг сохpанения данных .T. - данные были записаны в базу
.F. - данные не были записаны в базу (выполняется после возможного
выполнения bPost ),флаг изменения данных и флаг циклического
ввода по ссылке, если его сбросить в -1 то циклического ввода не будет
Если bPostGet вернет .F., то произойдет повторный вход в редактирование
тем самым дается возможность не выпускать пользователя из режима редактирования
пока он не исправит ошибки или вообще не будет сохранять данные
Можно использовать для каких либо завершающих действий, в независимости
от того, захотел ли пользователь сохранить данные или нет (например удаления
проводок сформированных при добавлении документа и т.п.).
С уважением, Новиков Алексей.
Не явное имя переменной в полее ввода при использовании функции QINPUT
 
Это было выражение для примера, я не стал разбираться в коде.

Выражение "aeval(x, {|aPar| aadd(aMas,eval(memvarblock(aPar[4]))) })" должно заменить цикл

Do While j<=len(x)
_head:=x[j,4]
_value:=&_head
aadd(aMas,_value)
j++
enddo
С уважением, Новиков Алексей.
Не явное имя переменной в полее ввода при использовании функции QINPUT
 
1. Объявление производится по тому же принципу

for nPos:=1 to len(aParam)
cVar:='head_'+alltrim(str(nPos))
private &cVar
next

2. Внутри блока макроподстановки запрещены
Можно воспользоваться функцией MemVarBlock(), которая возвращает блок чтения/присвоения значения переменной
{|x,i| bTmp:=memvarblock('head_'+alltrim(str(i))), eval(bTmp, x) }
такое выражение должно сработать
Для более сложных вариантов можно использовать функцию formulparsblock() или предварительно определить массив блоков кода в обычном цикле
С уважением, Новиков Алексей.
Не явное имя переменной в полее ввода при использовании функции QINPUT
 
Переменные, объявленные как local могут быть использованы только непосредственно, поскольку их имя не хранится в компилированном модуле
Переменные private могут быть использованы в литералах и блоках кода в пределах видимости без ограничения

local cLocalText, cVarName
private cPrivText

cLocalText:='0'

&('cLocalText'):='1' // не сработает, будет объявлена private cLocalText, которая будет перекрываться локальной
// при непосредственном обращении к cLocalText будет выводиться '0'
// при уточнении memvar->cLocalText или использовании &('cLocalText'), будет выводиться '1'

&('cPrivText'):='1' // сработает

cVarName:='cLocalText'
&cVarName:='2' // не сработает, причину смотри выше

cVarName:='cPrivText'
&cVarName:='2' // сработает

sayandwait(&cVarName) // сработает

return

Проверял на xHarbour 0.99.1, строго говоря, поведение программы может зависит от компилятора.
С уважением, Новиков Алексей.
Заполнение поля оплата в СЗВ-6
 
Исправил ошибку, возникавшую при расчёте раздела 2 в РСВ-1 по тарифу 03 (выплаты инвалидам). Не собирались общие суммы с начала расчётного периода.

Кстати, портировал расчёт и выгрузку РСВ-1 и раздела 6 на платформу БЭСТ-5.
С уважением, Новиков Алексей.
Заполнение поля оплата в СЗВ-6
 
Добрый день.

Да, стоит проверка по дате приёма на работу.
Отключил проверку.
Исправление выложил, качайте.
С уважением, Новиков Алексей.
Заполнение поля оплата в СЗВ-6
 
Обновлена версия утилиты.
Исправлены замеченные ошибки. Основное:
1. Общая сумма начислений по формам раздела 6 заполняется за весь расчётный период.
2. В РСВ-1 исправил расчёт строк 220 и далее (выплаты по доптарифу).

Вот не знаю, делать ли заполнение строк 210 (ОМС) при тарифах, исключающих начисление ОМС. Например, 07 или 13.
При проверке CheckPFR выдаёт предупреждение, если их оставить пустыми.
С уважением, Новиков Алексей.
Сбербанк, заявление на выпуск карточек. Может у кого то уже есть готовое решение?, сбербанк
 
Есть такая выгрузка для БЭСТ-4. Могу адаптировать к БЭСТ-5.
С уважением, Новиков Алексей.
Программа Printlabels от Grey_Soft
 
Я переводил системную дату на другой день и ошибка исчезала.
Вообщем, прошло 8 сентября и ладно...
Спасибо за участие. И спасибо за программу.
С уважением, Новиков Алексей.
Программа Printlabels от Grey_Soft
 
Ааааа, это напоминалка. Срабатывает только в день установки.
С уважением, Новиков Алексей.
Программа Printlabels от Grey_Soft
 
Опять 8 сентября и опять "Не могу открыть базу..."
Вот бы вспомнить, что я делал три года назад...

Писал разработчику?
С уважением, Новиков Алексей.
Выгрузка для интернет-банкинга "Сбербанк Онлайн"
 
1. Файл импорта по указанному пути существует? Документы в файле есть?
2. В поле "Счёт", в настройке импорта указано верное значение (или поле пустое)?
С уважением, Новиков Алексей.
Выгрузка для интернет-банкинга "Сбербанк Онлайн"
 
Да, можно.

Настройка основных счетов.
"Импорт из клиент-банка" - "HRB-Модуль"
"Имя описания для импорта" - "002 Формат 1С"

Нажимая Enter, доходим до конца окна. Появляется настройка импорта.
Указываем путь к папке с файлами и имя файла, выгружаемого из банка.
Остальные параметры - опционально.

В выписке банка по Ctrl-F5 файл импортируется.

Полное описание смотрите в файле NEWS\инструкции_комментарии.chm, в разделе "Расчётные и валютные счета"
С уважением, Новиков Алексей.
ERROR DBFCDX/1201 Файл не индексирован, Ошибка индекса справочника партнеров после записи в файл
 
Вместо

Цитата
PARTNER->(ordsetfocus("Partner"))

//Поиск контрагента по коду
PARTNER->(DBGOTOP())
DO WHILE ((PARTNER->(!EOF())) .AND. (PARTNER->CODE <> MDOC->AGENTCODE))

PARTNER->(DBSKIP())

ENDDO

Поставьте
partner->(ordsetfocus('fullcode'), dbseek(upper(MDOC->AGENTCODE)))


Вы устанавливаете тэг "partner", которого нет у таблицы partner, поэтому после выхода из Вашего плагина файл остаётся "не индексирован".
С уважением, Новиков Алексей.
Как записать в кодовом блоке несколько команд?
 
break - это команда, которая вызывает прерывание в пределах операторных скобок
begin sequence - end sequence
при вызове break управление передаётся за end sequence, а если есть recover, то за recover
скобки могут быть вложены друга в друга, поэтому если в плагине нет скобок, то break передаёт управление обратно в БЭСТ, где такие скобки скорей всего есть

если скобок нет совсем, то, возможно, завершается программа
но с этим я не экспериментировал и в описании этот пункт не читал

так что завершать лучше через return
С уважением, Новиков Алексей.
Как записать в кодовом блоке несколько команд?
 
В блоке кода можно вызвать на исполнение функции и выражения, перечисляя их через запятую. Команды использовать нельзя (return, к примеру).

Вот пример. Вас это интересовало?
aeval(aProvs, {|x| addrec(), umain->nnoper:=nOper, umain->task:='05', umain->dataoper:=act->tek_data, f_dbunlock() }))

Если Вы хотите прервать обработку, то лучше сделать полноценный цикл и поставить там exit
Или можно описать sequence и вызвать break(), хотя с aeval(, {||}) я так не делаю и не знаю точно сработает или нет.

и на этом моменте я понял, о чём Вы спрашиваете. Надо заключить выражения в круглые скобки, вот так:

aeval(aCol, {|x| if(x=4,(sayandwait("Нет такого значения"), break()), nil) })
Изменено: Алексей Новиков - 24.07.2014 14:57:06
С уважением, Новиков Алексей.
Перекодировка в UTF-8, Перекодировать WIN1251 в UTF-8
 
Ну значит нет, исключили или заменили.
Ждите, может разработчики что подскажут.

Можно использовать консольную программу, типа win-ivonv (https://win-iconv.googlecode.com/files/win-iconv-0.0.6-bin.zip)
Записывать в файл то, что нужно перекодировать и запускать конвертер, потом забирать то что получилось.
С уважением, Новиков Алексей.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 31 След.