12 июня на территории поля «Красный пахарь» прогремит салют международного музыкального фестиваля «Рок Над Волгой»! Среди участников фестиваля – Легенда хард-рока, британская группа Deep Purple, легенды российского рока «Машина Времени», «Алиса», «Чайф», Кипелов, Вячеслав Бутусов и «Юпитер», «Аквариум», а так же «Сплин», «Король и Шут», Пелагея.
БЭСТОВЦЫ, я давно уже говорил что если проводить аналогию между ПО и музстилями, то мы явные рокеры .
Кто-нибудь планирует посетить фестиваль в этом году? В прошлом году это был отличный праздник.
И наконец, блок "РАСЧЕТЫ с ПАРТНЕРАМИ" требует настройки, и в него надо заходить.
Так что большая просьба к разработчикам - ВЕРНИТЕ простую проверку задолженности по счету по F10
Не надо в него заходить, в карточке партнера видно будет остаток.
Более того, установив кредитный лимит можно будет даже не беспокоиться о проверке долга, т.к. система даст сообщение о превышении лимита.
Ознакомьтесь с блоком Расчеты с партнерами, это удобнее чем было раньше.
Такую бронебойную систему как БЭСТ-4+ надо еще поискать .
На будущее, в 5-ке игра с файлами не прокатит, надо привыкнуть искать простые решения, т.е. начать с документации.
Пример для линейного способа амортизации.
Что это такое и как это работает - можно посмотреть в каталоге .. .\server\DATA\Pro\PLUGINS\EXTENSNS\ASSETS\
Файл с расширением prg.
Из БЭСТА:
Сервис/Запустить редактор XBA/в инспекторе выбрать папку ASSETS/выбрать нужный файл.
А можно пользоваться плагинами, пришедшими в каком-то из пакетов и находящимися в каталоге assets папки плагинов?
Код
// HFileEval ("amort_2009.hrb",{1,LineCostCur,20000,LineDepBeg,LineDepCur,LineUtiAll,LineDepCoef,
X 0,0,0,0,0,LineQnty,DocDateBeg,DocDateEnd,DocWrkDate,0,0,0,DocOutDate,0})
//Пример линейного метода от базовой стоимости (для очень старых ОС)
// HFileEval ("amort_2009.hrb",{1,LineRstBase,0,0,0,LineUtiBase,LineDepCoef,
X 0,0,0,0,0,LineQnty,DocDateBeg,DocDateEnd,DocWrkDate,0,0,0,DocOutDate,0})
Задача: Две базы в БЭСТ-5. Допустим, номенклатурные справочники идентичны.
Учет ведется по партиям. Необходимо в базе данных - приемнике программно создать накладную, сделать записи в справочник партий. В виду сложности и опасности самостоятельно прямой записи в базы данных, хотелось бы понять, как это можно сделать с помощью объектов БЭСТ-5?
Наталья, я предложил плагин, но когда прошел цепочку по работе со справочником партнеров понял, что не стоит она затрат на написание плагина. А почему?
Потому что есть технология работы, и ее легче соблюдать чем писать защиты на все случаи.
Итак, вы создаете документ, открываете справочник партнеров. Что должен сделать оператор?
Найти контрагента!!! Как ? Нажимаете первые буквы и программа легко предложит вам нужный вариант.
В чем проблема?
В БЭСТ-4+ всегда, любой оператор пользовался поиском по контексту Alt-F7 и был порядок (пока из 1сников кто-нибудь не принимался на работу).
Опишите процедуру, после которой происходит дублирование. Уверен, что все решится намного проще.
Плюс ко всему, используете ли вы режим Расчетов с партнерами? То есть ведете ли вы учет по договорам.
Наверняка оплата со студентов берется на основании договора на обучение, мне кажется это для Вас будет очень удобным инструментом.
PAGE_NAME=message&FID=9&TID=1174&MID=22905#message22905]вот этот способ[/URL] кажется более удобным. PDF - бесплатен и более распространен.
жалко только что в программу не встроен конвертер в pdf - недавно появилось сохранение в jpg но к сожалению это немного не то, т.к. нельзя сделать многостраничный документ и нельзя выбрать формат "по умолчанию"
Продублирую и здесь.
Зайдите на этот сайт и скачайте pdfcreator 0.9.9.
После установки появится принтер PDFCREATOR, на него и печатаем все что надо в PDF.
Бесплатно и эффективно. Можно сохранять в файл или сразу на почту отправлять, к примеру счет, с заранее отсканированной подписью и печатью (и сохраненной в шаблон).
PAGE_NAME=message&FID=9&TID=1174&MID=22905#message22905]вот этот способ[/URL] кажется более удобным. PDF - бесплатен и более распространен.
жалко только что в программу не встроен конвертер в pdf - недавно появилось сохранение в jpg но к сожалению это немного не то, т.к. нельзя сделать многостраничный документ и нельзя выбрать формат "по умолчанию"
Продублирую и здесь.
Зайдите на этот сайт и скачайте pdfcreator 0.9.9.
После установки появится принтер
Задача: Сформировать отчет для анализа продаж по:
фактическим срокам исполнения заказов;
по группам товара заказанного, отгруженного;
по продукции;
по покупателям;
........
прочим аналитическим признакам партнеров, групп продукции, продукции.
Решение:
Подобные задачи часто возникают на предприятиях. Для решения задачи возможно формирование отдельного отчета для каждого пункта требований.
Но более удобным способом для анализа, будет формирование массива необходимых данных и их анализ средствами офисных приложений.
А именно - режима сводных таблиц 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. Формирование выборки по реестру накладных на реализацию
Часть необходимых таблиц уже открыта, поэтому на достаточно закрыть только таблицы реестра и содержимого заказов.
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.3.4 сеть - 5 комп. На сервере ведется работа в БЭСТ5, как и на других компьютерах. Сервер - просто более мощный компьютер. Установлен несколько месяцев назад.
Нестабильность заключается в том, что примерно 1 раз в час - два вдруг теряется связь с сервером приложений. А еще конкретнее - сетевой диск оказывается неподключеннвым. Сетевое окружение - ничего не показывает.
Самое удивительное, что сетевое окружение может отключаться и на сервере даже тогда, когда не включены другие компьютеры (только HUB и сервер). Кабели, сетевую плату и HUB заменял. Симптомы не уходят.
ЧТО БЫ ЭТО МОГЛО БЫТЬ?
Как проверить не матер. плата ли?
Или может есть другие мысли?
Операционная система на сервере? Сервис-пак?
Вполне возможно, что вирус.
gabov пишет:
а у разработчика все какие-то якобы обоснованные отговорки для создания такого механизма?
Мысли шире.
По логике, должны у всех быть схожие настройки, но на самом деле наблюдаются существенные отличия.
И сделать универсальный механизм для всех за короткое время очень сложно, это надо понимать.
Утилита Алексея ( как всегда на высоте ! ) облегчает ввод настроек, но не снимает ответственности с оператора за "работу напильником".
Да и работы то не так много, на самом деле
Раньше в 4-ке намного больше приходилось потеть, к тому же еще и автоматизировать процессы было очень сложно.
максим Зимин пишет:
Закрыли период. Открыли новый 01.01.2010. В ручную чистили банк, касса групповым удалением и из книги учета операции. При выводе актов сверок выдаются суммы прошлых лет. Главная книга- внешняя отчетность- баланс 130.
Периоды закрываются отдельно по блокам. (в кассе "Управление расчетным периодом" в настройках)
Рекомендую перечитать документацию.
Сдается мне, что банк и касса не закрывались.
АРМ главбуха закрывается в последнюю очередь.
Восстановите архивную копию и на ней повторите закрытие помодульно.
Не совсем понятно, что значит открыли?
В БЭСТе будущее открыто всегда, можно только закрыть старый период.
При выводе какого баланса? Отчетность, форма?
Что чистили вручную и как именно?
Поподробнее.