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

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

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


Форум

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

Страницы: 1 2 След.
OLEDB или ODBC,, что лучше использовать для доступа к БД Visual FoxPro?
 
Собственно Вопрос в теме.
Какой способ доступа к данным (только для чтения) БЭСТ-5 рекомендован?
Сравнивал по скорости - ничем не отличаются.
С уважением,
Ильин Евгений
Доступ к БД БЭСТ-5 из консольного приложения.
 
Каким образом из консольного приложения можно определить перечень зарегистрированных в БЭСТ-5 баз данных?
Т.е. необходимо из консольной утилиты получить пути к установленным БД.
С уважением,
Ильин Евгений
Доступ к реестру из пользовательской программы
 
Возможен ли доступ к системному реестру из пользовательского приложения.
Необходимо проверить наличие ветки реестра?
С уважением,
Ильин Евгений
Географические координаты почтамтов для использования в приложениях
 
Возможно, кому-то пригодится.
Выкладываю таблицу с географическими координатами на каждый почтовый индекс.
Можно использовать, например, для отчетности по распределению объемов выручки по территории РФ с привязкой к гугл-картам.
Отлично грузится в QlikView.
С уважением,
Ильин Евгений
Запуск программного кода из командной строки
 
В инструментарии к 4+ была возможность написания программ, запускаемых через батники, проще говоря exe-шники.
Есть ли аналогичный способ запуска программного кода в БЭСТ-5 ?
Требуется для ночного запуска процедуры по обработке данных без участия оператора.
С уважением,
Ильин Евгений
Просмотр изображений номенклатуры. Кто чем?
 
В сп24 появилась возможность привязки файлов к номенклатуре.
Как один из вариантов применения - просмотр изображений при работе с каталогом (справочником).
Этот момент приятно порадовал, причем просмотрщик закрывается, когда курсор уходит с просмотренной детали.
Вопрос в просмотрщике. Использую xnView.
При нажатии alt-Y открывается картинка на весь экран.
Можно ли как-то задать размер экрана и местоположение, чтобы БЭСТовское окно оставалось доступным.
Или какой просмотрщик можете посоветовать?
С уважением,
Ильин Евгений
Лента новостей сайта в формате RSS
 
Лента новостей сайта Компании БЭСТ в формате RSS доступна по адресу http://www.bestnet.ru/rss-news.php
Способ размещения на своих сайтах зависит от используемого движка (набора скриптов, шаблонов).
Браузеры поддерживают без проблем.
С уважением,
Ильин Евгений
Рок над Волгой - 2010
 
Цитата
12 июня на территории поля «Красный пахарь» прогремит салют международного музыкального фестиваля «Рок Над Волгой»! Среди участников фестиваля – Легенда хард-рока, британская группа Deep Purple, легенды российского рока «Машина Времени», «Алиса», «Чайф», Кипелов, Вячеслав Бутусов и «Юпитер», «Аквариум», а так же «Сплин», «Король и Шут», Пелагея.


БЭСТОВЦЫ, я давно уже говорил что если проводить аналогию между ПО и музстилями, то мы явные рокеры :wave: .
Кто-нибудь планирует посетить фестиваль в этом году? В прошлом году это был отличный праздник.
С уважением,
Ильин Евгений
Программное формирование накладной, партий. Приход товара.
 
Задача: Две базы в БЭСТ-5. Допустим, номенклатурные справочники идентичны.
Учет ведется по партиям. Необходимо в базе данных - приемнике программно создать накладную, сделать записи в справочник партий. В виду сложности и опасности самостоятельно прямой записи в базы данных, хотелось бы понять, как это можно сделать с помощью объектов БЭСТ-5?
С уважением,
Ильин Евгений
Пример формирования пользовательского отчета в сводных таблицах
 
Задача: Сформировать отчет для анализа продаж по:
фактическим срокам исполнения заказов;
по группам товара заказанного, отгруженного;
по продукции;
по покупателям;
........
прочим аналитическим признакам партнеров, групп продукции, продукции.

Решение:
Подобные задачи часто возникают на предприятиях. Для решения задачи возможно формирование отдельного отчета для каждого пункта требований.
Но более удобным способом для анализа, будет формирование массива необходимых данных и их анализ средствами офисных приложений.
А именно - режима сводных таблиц MS Office Excel или OpenOffice.Org Calc.
Задача решается в несколько этапов:
Определение структуры данных, содержащей необходимые сведения для анализа.
Выгрузка в таблицу сведений по заказам (выписанным счетам);
Выгрузка в таблицу сведений по отгрузкам;
Экспорт таблицы в офисное приложение (по выбору - OpenOffice.org Calc или MS Office Excel);
Формирование сводной таблицы по необходимым критериям.

Рассмотрим подробнее (текст программы приведен не полностью):

Этап 1. Определение структуры данных для анализа

Набор данных для анализа определяется на каждом предприятии индивидуально, исходя из используемой схемы ведения товарного и аналитического учета. Для примера будет достаточно следующего набора данных:
Документы в БЭСТ-5
Сведения
Заказы (счета)
Дата выписки, Дата отгрузки, Номер документа, Корсчет, Контрагент (тип, код, наименование), товар (код круппы, наименование группы, код товара, наименование), количество, цена, сумма
Накладная на отгрузку
Дата выписки,Номер документа, Корсчет, Контрагент (тип, код, наименование), товар (код круппы, наименование группы, код товара, наименование), количество, цена, сумма


Исходя из сведений (тип, размерность поля) полученых в описании таблиц, определяем итоговую таблицу:

Код
   aTable := {} // массив со структурой временной таблицы
   AADD(aTable,{"priznak","c",4,0})    // ПЛАН / ФАКТ
   AADD(aTable,{"orddate","D",8,0})    // Дата документа
   AADD(aTable,{"numdoc","C",6,0})     // Номер документа
   AADD(aTable,{"otgdate","D",8,0})    // Дата отгрузки
   AADD(aTable,{"schet","C",16,0})     // Счет
   AADD(aTable,{"agentcode","C",60,0}) // Код контрагента
   AADD(aTable,{"agentname","C",25,0}) // Наименование покупателя
   AADD(aTable,{"agenttype","C",25,0}) // Тип покупателя
   AADD(aTable,{"grup","C",5,0})       // Код группы товара
   AADD(aTable,{"grupname","c",60,0})  // Наименование группы
   AADD(aTable,{"nnum","C",13,0})      // Номенклатурный номер товара
   AADD(aTable,{"lname","c",60,0})     // Наименование товара
   AADD(aTable,{"kol","N",19,6})       // Количество по строке заказа
   AADD(aTable,{"cena","N",19,8})      // Цена по строке заказа
   AADD(aTable,{"sumout","N",19,3})    // Сумма по строке заказа        
   cFile := "user\u_plnfct.dbf"        // Определяем файл в папке USER базы данных
   cName := B6_DBF_PATH+cFile          // путь к файлу с временной таблицей
   DBCREATE(cName, aTable)             // создание временного файла, если есть, то перепишется


Этап 2. Формирование выборки по реестру заказов

Далее, для осуществления выборки необходимо сформировать область связаных таблиц, содержащих необходимые данные.

Код
   // Открываем таблицы для первого этапа, получения сведений для плана отгрузки
   NetUseRo("u_rbook",B6_DBF_PATH+"real\rbook.dbf") //открыли реестр заголовков заказов
   ORDSETFOCUS("rbook0")// ставим индекс по коду
   NetUseRo("u_rbookm",B6_DBF_PATH+"real\rbookm.dbf") //открыли реестр содержимого заказов
   ORDSETFOCUS("tag_oper_")
   NetUseRo("u_mgrup",B6_DBF_PATH+"sclad\mgrup.dbf") //открыли справочник групп
   ORDSETFOCUS("mgrup")
   NetUseRo("u_mlabel",B6_DBF_PATH+"sclad\mlabel.dbf") //открыли номенклатурный справочник
   ORDSETFOCUS("mlabel")
   NetUseRo("u_partner",B6_DBF_PATH+"partner.dbf") //открыли справочник партнеров
   ORDSETFOCUS("code")
   NetUseRo("u_type_a",B6_DBF_PATH+"type_a.dbf") // открыли справочник типов
   ORDSETFOCUS("tag_oper")
   /// Блок запроса дат
   dDateOt:=BoM(DATE())// Ставим начальную дату периода
   dDateDo:=EoM(DATE())// Ставим конечную дату периода
   //Делаем запрос периода для формирования реестра
   aDates:=DIALOG({'Введите дату начала периода..','Введите дату завершения......'},{,},{dDateOt,dDateDo})
   dDateOt:=aDates[1]
   dDateDo:=aDates[2]
   SELECT u_rbook // ставим активной область заголовков заказов
   // Ставим фильтр на активные заказы и даты отгрузки по запросу
   Set Filter TO u_rbook->status="1" .And.( u_rbook->date1>=dDateOt .And. u_rbook->date1<=dDateDo)
   Count TO uncount //считаем записи для индикатора
   Go top//?
   Set Relation TO nnoper into u_rbookm //связываем заголовки с содержимым по ИД
   Set Relation TO part_code into u_partner Additive // свзываем реестр заказов со справочником партнеров
   SELECT u_partner
   Set Relation TO type_a into u_type_a Additive // связываем
   SELECT u_rbookm //делаем активной область перечня заказа
   //связываем строки со справочниками для детализации
   Set Relation TO UPPER(grup) into u_mgrup Additive  // справочник групп
   Set Relation TO UPPER(grup)+UPPER(nnum) into u_mlabel Additive//справочник товаров

На этом этапе получили массив связанных таблиц и теперь можно приступать к перебору и записи необходимых данных в итоговую таблицу.

Код
   NETUSE("File_tab",cName) // открываем временную таблицу с алиасом FILE_TAB
   SELECT u_rbook
   PROGRESSINIT(uncount,"Идет перебор картотеки заказов ...")
   Go top //Начинаем перебор заказов
   DO WHILE (u_rbook->(!EOF())) // Цикл 1
     uncurent:=uncurent+1     // счетчик +1
     PROGRESSUPD ATE(uncurent) // обновляем картинку в строке статуса
     SELECT u_rbookm          //переходим в содержимое текущего заказа
     // Начинаем перебор позиций по заказу
     DO WHILE u_rbookm->nnoper_=u_rbook->nnoper   // ставим условие для связанных таблиц Цикл 2
       IF FILE_TAB->(ADDREC())                    // добавляем в приемную таблицу новую запись
         FILE_TAB->priznak:="План"                // Значение для фильтрации в сводной таблице
         FILE_TAB->ordDate:=u_rbook->DATE         // Дата заказа
         FILE_TAB->numdoc:=u_rbook->numdoc        // Номер заказа
         FILE_TAB->schet:=u_rbook->schet          // Счет
         FILE_TAB->otgdate:=u_rbook->date2        // Дата отгрузки
         FILE_TAB->agentcode:=u_rbook->agentcode  // Код контрагента
         FILE_TAB->agentname:=u_rbook->agentname  // Название контрагента
         FILE_TAB->agenttype:=u_type_a->name      // Тип контрагента
         FILE_TAB->grup:=u_rbookm->grup           // Код группы товара
         FILE_TAB->nnum:=u_rbookm->nnum           // Номенклатурный номер товара
         FILE_TAB->kol:=u_rbookm->kol             // Количество поставки
         FILE_TAB->cena:=u_rbookm->cenaout        // Цена
         FILE_TAB->sumout:=u_rbookm->sumout       // Сумма поставки
         FILE_TAB->grupname:=u_mgrup->name        // Название группы товара
         FILE_TAB->lname:=u_mlabel->name          // Название товара
         FILE_TAB->(DBUNLOCK())
       ENDIF
       u_rbookm->(DBSKIP()) // переходим к следующей строке заказа
     ENDDO   // Конец 2 цикла
     // Переходим к следующему заказу
     SELECT u_rbook
     u_rbook->(DBSKIP())
   ENDDO   // конец 1 цикла
   PROGRESSHIDE() // убираем индикатор


Этап 3. Формирование выборки по реестру накладных на реализацию

Часть необходимых таблиц уже открыта, поэтому на достаточно закрыть только таблицы реестра и содержимого заказов.
Код
   u_rbookm->(DBCLOSEAREA())
   u_rbook->(DBCLOSEAREA())

И далее по подобию первого этапа:
Код
   NetUseRo("u_mdoc",B6_DBF_PATH+"sclad\mdoc.dbf") //открыли реестр заголовков документов
   ORDSETFOCUS("mdoc")
   NetUseRo("u_mdocm",B6_DBF_PATH+"sclad\mdocm.dbf") //открыли реестр содержимого накладных
   ORDSETFOCUS("tag_oper_")
   SELECT u_mdoc  // Выделяем область заголовков накладных
   // Накладываем фильтр на перечень накладных, вид и тип - реализация со склада, период аналогично заказам
   Set Filter TO u_mdoc->vid="2" .And. u_mdoc->TYPE="1" .And. u_mdoc->DATE>=dDateOt .And. u_mdoc->DATE<=dDateDo
   Go top // сдвигаем указатель, для активации фильтра
   Count TO uncount
   Set Relation TO nnoper into u_mdocm
   Set Relation TO part_code into u_partner Additive
   SELECT u_partner
   Set Relation TO type_a into u_type_a Additive
   SELECT u_mdocm
   Set Relation TO UPPER(grup) into u_mgrup Additive
   Se t Relation TO UPPER(grup)+UPPER(nnum) into u_mlabel Additive
   SELECT u_mdoc
   Go top
   PROGRESSINIT(uncount,"Идет перебор картотеки накладных ...")
   DO WHILE (u_mdoc->(!EOF()))
     uncurent:=uncurent+1
     PROGRESSUPDATE(uncurent)
     SELECT u_mdocm
     DO WHILE u_mdocm->nnoper_=u_mdoc->nnoper
       IF FILE_TAB->(ADDREC())
         FILE_TAB->priznak:="Факт"
         FILE_TAB->ordDate:=u_mdoc->DATE
         FILE_TAB->numdoc:=u_mdoc->numdoc
         FILE_TAB->schet:=u_mdoc->schet_a
         FILE_TAB->otgdate:=u_mdoc->DATE
         FILE_TAB->agentcode:=u_mdoc->agentcode
         FILE_TAB->agentname:=u_mdoc->agentname
         FILE_TAB->agenttype:=u_type_a->name
         FILE_TAB->grup:=u_mdocm->grup
         FILE_TAB->nnum:=u_mdocm->nnum
         FILE_TAB->kol:=u_mdocm->kol
         FILE_TAB->cena:=u_mdocm->cenaout             // Количество поставки
         FILE_TAB->sumout:=u_mdocm->sumoutr
         FILE_TAB->grupname:=u_mgrup->name
         FILE_TAB->lname:=u_mlabel->name
         FILE_TAB->(DBUNLOCK())
       ENDIF
       u_mdocm->(DBSKIP())
     ENDDO
     SELECT u_mdoc
     u_mdoc->(DBSKIP())
   ENDDO
   PROGRESSHIDE()


Этап 4. Экспорт таблицы в офисное приложение по выбору

Заключительным этапом программы является экспорт таблицы для анализа в офисное приложение по выбору.
Для этих целей используем функции БЭСТ-5 ExportToCalc() и ExportToExcel()
Код
   SELECT file_tab
   nRetFormat:=NOORYES("Сформировать таблицу в формате..."+CHR(13)+CHR(10)+CHR(13)+CHR(10);
                   +"Примечание:"+CHR(13)+CHR(10)+"Цена и сумма без НДС",1,{"OpenOffice.org Calc ","MS Excel "})
   IF nRetFormat == 1
     exporttocalc()
   ELSEIF nRetFormat == 2
     exporttoexcel()
   ENDIF
   //закрытие таблиц
   u_partner->(DBCLOSEAREA())
   u_type_a->(DBCLOSEAREA())
   u_mlabel->(DBCLOSEAREA())
   u_mgrup->(DBCLOSEAREA())
   u_mdocm->(DBCLOSEAREA())
   u_mdoc->(DBCLOSEAREA())
   file_tab->(DBCLOSEAREA())

Этап 5. Формирование сводной таблицы

По инструкции выбранного инструмента...
С уважением,
Ильин Евгений
Накладная, содержащая перечень по спецификации. Возможно такое?
 
Вопрос на проработку:
Возможно ли сделать такой отчет: Торг-12 по продукции, НО в перечне не комплект (коробка с деталями), а перечень деталей, входящих в этот комплект.
Т.е. по базе продается комплект ABC, произведенный по спецификации (упаковка и детали), а в печатной форме документа только детали.
??
С уважением,
Ильин Евгений
Как обосновать главбуху необходимость ввода счета 10 материалы в производстве
 
Вот такая вот странная проблема.
Планируется ввод модуля ПРОИЗВОДСТВО.
В связи с этим необходимо внести изменения в план счетов.
Согласно принятой концепции необходимо использовать субсчет 10Х Материалы в производстве.
Главбух категорически против. Аргументы со стороны бухгалтера - ПБУ и план счетов.
Какие весомые аргументы со стороны системы?
С уважением,
Ильин Евгений
Работа со сканерами ШК
 
Добрый день.
Заинтересовала такая тема:
Приложение на БЭСТ-5, анализирующее обычный штрих-код, и регистрирующее все считываемые коды.
Насколько сложно это осуществить и сколько может стоить аппаратная часть?
С уважением,
Ильин Евгений
Подозрительный файлик sx32w.dll
 
Антивирус дал сообщение о подозрении на троян в файле sx32w.dll.
Размер файла в каталоге БЭСТа - 3 552 576
Размер файла в каталоге system32 - 100 864

Так и должно быть?
С уважением,
Ильин Евгений
Ведение номенклатурного справочника с ОКЕИ, как сделать контроль из документа?
 
Итак, на данный момент в системе отсутствует связь с ОКЕИ. До поры до времени проблем не возникало, если по умолчанию в группе забита единица измерения. Но в последнее время, то ли в документах поставщика идет некорректная информация, то ли оператор - творческая натура, но на складе можно встретить все что угодно и бухты и пачки и емкости.
Для работы в номенклатурном справочнике нарисовал плагин, который при сохранении проверяет единицу измерения по выборке из ОКЕИ. Какое событие, или каким образом можно осуществлять контроль при вводе новой позиции из накладной?
Модуль - Сырье. Материалы
Код
usr_edizm()

  Function usr_edizm()
    Local cMsgEdIzm,nStep:=1,nEdIzm,lRet:=.T.//Строка сообщения,счетчик,количество строк перечня,возврат
    Local aEdIzm := {;//Массив {код,Наименование, Нац.обозначение, КОДОВОЕ обозначение}
          {"868","Бутылка","бут",  "БУТ"},;
          {"055","Квадратный метр ","м2",   "М2"},;
          {"166","Килограмм","кг",   "КГ"},;
          {"839","Комплект","компл","КОМПЛ"},;
          {"113","Кубический метр","м3",   "М3"},;
          {"625","Лист","л.",   "ЛИСТ"},;
          {"112","Литр","л.",   "Л"},;
          {"006","Метр","м",    "М"},;
          {"715","Пара (2 шт.)","пар",  "ПАР"},;
          {"018","Погонный метр","пог.м","ПОГ М"},;
          {"736","Рулон","рул",  "РУЛ"},;
          {"168","Тонна","т",    "Т"},;
          {"798","Тысяча штук","тыс.шт","ТЫСШТ"},;
          {"778","Упаковка","упак", "УПАК"},;
          {"796","Штука","шт",   "ШТ"};
          }
    dbpush()// в астрал
    AltD()
    //Готовим сообщение пользователю
    cMsgEdIzm:="Внимание!"+Chr(13)+Chr(10)+"Единицы измерения должны соответствовать ОКЕИ :"+Chr(13)+Chr(10)
    nEdIzm:=Len(aEdIzm) // подсчитываем строки в массиве
    Do While nStep <= nEdIzm   // Перебор по справочнику единиц измерения
      // Наполняем строку сообщения (КОД - Наименование)
      cMsgEdIzm:=cMsgEdIzm+aEdizm[nStep,4]+"  -  "+aEdizm[nStep,2]+Chr(13)+Chr(10)
      nStep:=nStep+1
    EndDo
    //Если значение поля пустое
    If Len(AllTrim(mlabel->ed))=0
      //Делаем намек
      cMsgEdIzm:=cMsgEdIzm+"Необходимо заполнить поле | Ед.Измер... | !"
      lret:=.f. // Оставляем в карточке до поиска нужного решения
      //Оповещаем
      messagebox(cMsgEdIzm,"Внимание! Пустое значение...",48)
    ElseIf  AScan(aEdIzm,AllTrim(mlabel->ed))=0
      //Оглашаем приговор
      cMsgEdIzm:=cMsgEdIzm+"Значение поля  <"+AllTrim(mlabel->ed)+">  будет удалено !"+Chr(13)+Chr(10)
      //Доводим до сведения
      messagebox(cMsgEdIzm,"Внимание! Ошибочный код Ед.измер.",16)
      //Делаем мелкую пакость
      mlabel->(RLock())
      mlabel->ed:=""
      mlabel->(DbUnLock())
      lret:=.f. // Не выпускать
    EndIf
    // для уверенности пробиваем в верхний регистр, то что прошло через ascan
    mlabel->(RLock())
    mlabel->ed:=Upper(mlabel->ed)
    mlabel->(DbUnLock())
    dbpop()//вернулись
    Return lRet

С уважением,
Ильин Евгений
Переводим ФИО в верхний регистр
 
Одно время было обязательным требованием - занесение данных работника в верхнем регистре.
В последнее время акцент на этом делать перестали, и картотека начала "пестрить" на разные лады.
Если кто-то сталкивался с такой проблемой, то нижеприведенный плагин может помочь.
Запускать из картотеки в кадрах.
Код
usr_FioUp()

  Function usr_FioUp()
    Local cFam,cName,cPatr,cFior,cFiod,cFiov
    dbpush()
    PROGRESSINIT(3,"Идет перебор картотеки..")
    //
    ProgressUpdate(1)
    NetUse("u_people",B6_DBF_PATH+"people.dbf")//открываем картотеку
    Go top
    Do While (u_people->(!EoF()))
      cFam:=Upper(AllTrim(u_people->shortname))
      cName:=Upper(AllTrim(u_people->Name1))
      cPatr:=Upper(AllTrim(u_people->Name2))
      RLock()
      u_people->shortname:=cFam
      u_people->name1:=cName
      u_people->name2:=cPatr
      DbUnLock()
      u_people->(DbSkip())
    EndDo
    u_people->(DbCloseArea())
    //
    ProgressUpdate(2)
    NetUse("u_cardssec",B6_DBF_PATH+"kadry\cardssec.dbf")//открываем картотеку
    Go top
    Do While (u_cardssec->(!EoF()))
      cFam:=Upper(AllTrim(u_cardssec->Fam))
      cName:=Upper(AllTrim(u_cardssec->Name))
      cPatr:=Upper(AllTrim(u_cardssec->Patr))
      cFior:=Upper(AllTrim(u_cardssec->Fio_r))
      cFiod:=Upper(AllTrim(u_cardssec->Fio_d))
      cFiov:=Upper(AllTrim(u_cardssec->Fio_v))
      RLock()
      u_cardssec->fam:=cFam
      u_cardssec->name:=cName
      u_cardssec->Patr:=cPatr
      u_cardssec->Fio_r:=cFior
      u_cardssec->Fio_d:=cFiod
      u_cardssec->Fio_v:=cFiov
      DbUnLock()
      u_cardssec->(DbSkip())
    EndDo
    u_cardssec->(DbCloseArea())
    //
    ProgressUpdate(3)
    NetUse("u_cardspri",B6_DBF_PATH+"salary\cardspri.dbf")//открываем картотеку
    Go top
    Do While (u_cardspri->(!EoF()))
      cFam:=Upper(AllTrim(u_cardspri->Fam))
      cName:=Upper(AllTrim(u_cardspri->Name))
      cPatr:=Upper(AllTrim(u_cardspri->Patr))
      RLock()
      u_cardspri->fam:=cFam
      u_cardspri->name:=cName
      u_cardspri->Patr:=cPatr
      DbUnLock()
      u_cardspri->(DbSkip())
    EndDo
    u_cardspri->(DbCloseArea())
    PROGRESSHIDE()
    dbpop()
    Return
С уважением,
Ильин Евгений
Fast Report Server как сервер отчетов для БЭСТ-5
 
Не так давно вышла обновленная версия указанного продукта. На днях проверил работу в деморежиме на рабочих данных.
Результат впечатлил. Получаем HTTP-сервер отчетов, доступ к которому возможен из любого браузера из любой точки подключения (при настройке доступа из Интернета).
На простых примерах отчеты формируются прекрасно, т.е. как обычно. Но отчеты часто требуются с такими нюансами, что формирование SQL-запроса становится непростой задачей. Хотелось бы узнать мнение специалистов по Fast Report - возможно ли взять на вооружение эту программу для использования в качестве корпоративного сервера отчетов для БЭСТ-5 ?
Есть ли желающие принять участие в тестировании с целью сформировать десяток рабочих отчетов для примера?
Все результаты и отчеты выложим в свободном доступе и здесь и на сайте.
С уважением,
Ильин Евгений
Fast Report Server, есть ли опыт работы с БЭСТ-5?
 
Заинтересовал данный продукт , ссылка - http://fast-report.com/ru/products/fast-report-server-details.html

Судя по описанию никаких проблем возникнуть не должно, Идея неплохая.
Центральный веб-сервер отчетов для руководства, он же антикризисный центр управления - то что многим не помешало бы.
Какие мнения?
С уважением,
Ильин Евгений
Кадры. Формирование отчетов. Фактические отпуска.
 
В кадрах СП18 в отчет "Фактические отпуска" не попадают записи, даты начала/окончания которой не входит в период дат запроса.
Т.е. если взять отчет за период с 23 по 28 марта то в отчет попадет только тот, кто уходит/выходит в этот период.
Если человек находится в длительном отпуске, то он выпадает из отчета.

Я полагаю, что это не совсем верно. Если нет, то как определить кто из работников находится в отпуске на этой неделе?
Изменено: itman - 23.03.2009 17:14:06
С уважением,
Ильин Евгений
Среднесписочная численность. Как правильно рассчитать?
 
Каким образом можно получить правильно рассчитанную цифру среднесписочной численности за месяц, при наличии модуля Кадры и Зарплата ?
Отчет, который есть в зарплате, к сожалению не выдает цифру, на которую выходит служба персонала.
С уважением,
Ильин Евгений
Кассовые ордера , печатные формы, отсутствуют в дизайнере отчетов
 
СП18, собственно не могу открыть форму приходного ордера.
В шаблонах печатных форм только 4 раздела (Авансовый, Платежная, Ведомость деп., Карточка деп).
Сами формы выводятся на печать как обычно.
С уважением,
Ильин Евгений
Часть уволенных сотрудников попадают в отчеты.
 
В чем может быть проблема?
Часть сотрудников, уволенных приказами попадают в отчеты по кадрам.
Например, Штатная расстановка с выводом на текущую дату выходит правильно, с выводом на вчерашний день на 50 человек больше.
Связи не прослеживается, часть уволенных не попадает, часть попадает.
Что проверять?
СП18
С уважением,
Ильин Евгений
Кадры. Некорректное формирование отчетов
 
СП18.
В сентябре прошлого года человек по приказу принят на работу.
Затем в этом же месяце переведен на другую должность по приказу.
С этим все нормально.
Формируем отчет "Данные о работе в подразд, должности и виде работы за период" за период 31.01.2009
Эти сотрудники присутствуют в отчете двумя строками, по должности приема и по должности на которую были переведены.
Может неправильно используется технология работы при переводе сотрудников на другую должность?
Хотя на остальное не влияет.
Помимо упомянутого отчета неверно формируются и остальные отчеты со схожей логикой формирования источников данных, например в категории "Распределение работников".
Кто-нибудь сталкивался с таким случаем?
С уважением,
Ильин Евгений
Вопросы по бюджетированию СП17
 
С новым пакетом появились новые возможности.
Возникли Вопросы:
1. Как можно использовать поле "Секция" в бюджетах.
2. Как правильно передавать результат вычислений из программы пользователя в алгоритмах.
3. Можно увидеть обновленные таблицы в демо-версии, с учетом нового функионала?
4. Названия колонок, не обрабатываются шаблоны (YYYY, MM, ГГГГ... )
5. Как быть, если интервал планирования проекта - месяц, а требуется получить фактический оборот за предыдущие 10, 30, 45 дней отсчитывая от даты расчета.
Изменено: itman - 10.02.2009 13:21:04
С уважением,
Ильин Евгений
Расчет амортизации при сброшенном признаке "Амортизируется"
 
Должна ли рассчитываться амортизация, если в карточке объекта на вкладке амортизация признак "Амортизируется" не установлен. ??
Замечено, что после перехода на 14 пакет в ведомость амортизации попали объекты, перенесенные еще с 4+ по которым не должна считаться амортизация.
С уважением,
Ильин Евгений
Страницы: 1 2 След.