View previous topic :: View next topic |
Author |
Message |
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 05 Mar 2002 19:17 Post subject: |
|
|
СИТУАЦИЯ:
Рассчитываем некий документ. Математика реализована через FileEval строк 300-400.
ПРОБЛЕМА:
Хотелось бы иметь протокол расчёта.
ЧТО НАДО:
а) как узнать что расчитывается последний человек в документе ???
б) можно ли как-нибудь говорить БЭСТу "добавь строку у отчёту", чтобы после окончания расчёта БЭСТ показал нам то, что мы по-надобавляли.
Надо как можно скорее, Больничные и Отпуска горят.
----------------
С велики Уважением
Р.S. А то служба "горячей линии" говорит "мы это не знаем, кто знает не скажет и вообще чего вы нам с такой фигнёй звоните".
ОБИДНО. |
|
Back to top |
|
|
Павлова Наталья
Joined: 08 Jan 2002 Posts: 814 Location: Наталья Павлова
|
Posted: 07 Mar 2002 19:13 Post subject: |
|
|
Quote: |
а) как узнать что расчитывается последний человек в документе ???
|
Для последнего человека задайте SAYANDWAIT()
[ Это Сообщение было отредактировано: Павлова Наталья в 2002-03-07 18:14 ] |
|
Back to top |
|
|
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 10 Mar 2002 20:19 Post subject: |
|
|
Quote: |
On 2002-03-07 18:13, Павлова Наталья wrote:
Quote: |
а) как узнать что расчитывается последний человек в документе ???
|
Для последнего человека задайте SAYANDWAIT()
[ Это Сообщение было отредактировано: Павлова Наталья в 2002-03-07 18:14 ]
|
))
- Как узнать что это масло ?
- А вы посмотрите - если это масло, значит это масло
Quote: |
Для последнего человека задайте SAYANDWAIT()
|
И как узнать что он последний ???
Для кого задавать ???
В оригинале хотелось бы получать стандартный отчёт (синенький такой).
|
|
Back to top |
|
|
Павлова Наталья
Joined: 08 Jan 2002 Posts: 814 Location: Наталья Павлова
|
Posted: 11 Mar 2002 12:47 Post subject: |
|
|
Ответ как вопрос, чем точнее вопрос, тем точнее ответ. |
|
Back to top |
|
|
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 11 Mar 2002 19:22 Post subject: |
|
|
Quote: |
On 2002-03-11 11:47, Павлова Наталья wrote:
Ответ как вопрос, чем точнее вопрос, тем точнее ответ.
|
Good
Ситуёвина такая:
Идет расчёт отпусков.
Типовой документ содержит 2 колонки
- месяц расчёта (произвольно, хоть на три месяца до расчётного периода)
- Сумма.
Сумма рассчитывается через FileEval. Там, как я уже упоминал строк 300-400. Хочется иметь кроме суммы ещё и бумажку с расчётом.
Типа:
--------------------
Пипкин А.А. месяц 3
оклад 1 = 100 за 20 дней
оклад 2 = 50 за 10 дней
и т.д.
--------------------
Сейчас реализовано через alert в функции расчёта. SAYANDWAIT - по сути тоже самое.
И тётка бухгалтер ручками переписывает суммы на бумажку
Мне видится ДВА пути решения проблемы:
1 - НОРМАЛЬНЫЙ:
По ходу расчёта вместо alert вызываем секретную функцию БЭСТ, которая добавляет строки в файл отчёта и по окончании расчёта БЭСТ САМ (!!!) окрывает окошко ViewFile (то самое синее из которого идёт печать).
2 - ВОЕННЫЙ:
Через WriteFile (по-моему так) Я РУКАМИ пишу во внешний файл. Потом как-то определяю что функция расчёта вызвана для последнего человека в списке. И через тот же ViewFile показываю его.
2а - САМЫЙ ВОЕННЫЙ:
Всё как во 2-м, но пишется отдельная прога, которая без участи БЭСТ проверяет наличие условного файла с отчётом о работе и сама показывает его.
Вот! По сему если открыть 1й путь Вам не позволяет религия, то остаётся открытым 2й вопрос. В частности "КАК МНЕ УЗНАТЬ ЧТО ФУНКЦИЯ РАСЧЁТА ВЫЗВАНА ДЛЯ ПОСЛЕДНЕГО ЧЕЛОВЕКА ?". Т.е. если тип.документ для
ИВАНОВ
ПЕТРОВ
СИДОРОВ
Как узнать что мы считаем Сидорова ???
ВОТ !!!!! По моему подробней просто нельзя.
[ Это Сообщение было отредактировано: z0ne в 2002-03-11 18:25 ] |
|
Back to top |
|
|
Hohol
Joined: 15 Jan 2002 Posts: 196 Location: Александр
|
Posted: 12 Mar 2002 08:29 Post subject: |
|
|
У моих бухгалтеров тоже была просьба сделать распечатку алгоритма расчета больнычных т.е. то что считает табличный документ, а они потом переписывают в больничный лист ручкой, напечатать и подклеивать подробный расчет. Я хотел сделать свою форму, но для этого нужны данные по табелю. Есть ли в БЭСТе функции, которые выдают эти данные для меня так и осталось загадкой.
|
|
Back to top |
|
|
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 12 Mar 2002 19:29 Post subject: |
|
|
Quote: |
On 2002-03-12 07:29, Hohol wrote:
хотел сделать свою форму, но для этого нужны данные по табелю. Есть ли в БЭСТе функции, которые выдают эти данные для меня так и осталось загадкой.
|
Они есть !!!
Взять хотябы тот же табличный документ.
Смотрим ... видим параметры "рабочих дней", "дней с субботами" и т.д.,
когда я позвонил в поддержку (знаю что глупость, но ещё оставались надежды) хитрая тётя сказала "такого нет, но за деньги 5 сек"
Типа заплатите ка нам и мы вам накалякаем.
Пришлось лепить самому. В результате строк 15-20 и делов-то.
Если надо заки |
|
Back to top |
|
|
kropelev
Joined: 12 Mar 2002 Posts: 195 Location: Павел
|
Posted: 12 Mar 2002 20:00 Post subject: |
|
|
Полностью поддерживаю насчет линии поддержки.
Просьба ответить kropelev насчет проги для 2-НДФЛ.
Спасибо.
ke_mail@mail.kuban.ru |
|
Back to top |
|
|
Hohol
Joined: 15 Jan 2002 Posts: 196 Location: Александр
|
Posted: 13 Mar 2002 08:35 Post subject: |
|
|
Quote: |
Взять хотябы тот же табличный документ.
Смотрим ... видим параметры "рабочих дней", "дней с субботами" и т.д.,
|
Все правильно, я так же подумал и решил спросить, вдруг просто забыли про них написать, ну всяко-ж бывает
Quote: |
Пришлось лепить самому. В результате строк 15-20 и делов-то.
|
Ну можно конечно, но не очень удобно если период включает и текущий расчтеный период и прошлые. Надо анализировать и из разных баз вытаскивать.
Скинь на mayalex@mail.ru
|
|
Back to top |
|
|
mirror
Joined: 07 Feb 2002 Posts: 137 Location: Айнагуль
|
Posted: 13 Mar 2002 10:06 Post subject: |
|
|
У меня та же проблема с бухгалтерами. Сбрось мне тоже, пожалуйста. tl-mirror@tatinvest.com
Заранее спасибо. |
|
Back to top |
|
|
tosh
Joined: 13 Mar 2002 Posts: 38
|
Posted: 13 Mar 2002 13:05 Post subject: |
|
|
|
|
Back to top |
|
|
tosh
Joined: 13 Mar 2002 Posts: 38
|
|
Back to top |
|
|
mark
Joined: 03 Jan 2002 Posts: 64 Location: Ямпольский Марк Александрович
|
|
Back to top |
|
|
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 14 Mar 2002 01:08 Post subject: |
|
|
Заранее Сори !!!
"Я сегодня не такой как вчера,
а вчера я был совсем никакой"
вот ... кусок из работающего модуля ...
корректировать ЛЕНЬ.
/////////////////////////////////////////////// получение года и месяца в виде ГГГГ.ММ
//
FUNCTION MAKEYEAR(M,Y,S)
If (M<1)
M:=12-(-M)
Y:=Y-1
else
If (M>12)
M:=M-12
Y:=Y+1
endif
endif
S:=STR(Y,4)+"."+STR(M,2)
S:=CHARREPL(" ",S,"0")
RETURN
/////////////////////////////////////////////// отступить от периода вида ГГГГ.ММ на I месяцев
//
FUNCTION OFFS_M(I,P)
PRIVATE Y,M
Y:=VAL(SUBSTR(P,1,4))
M:=VAL(SUBSTR(P,6,2))
P:=MAKEYEAR(M+I,Y,P)
P
RETURN
/////////////////////////////////////////////// получить количество отработанных дней за период по табелю
//
FUNCTION GETDAYR(P,TN,IsSat,D)
If (P=ACCOUNTS->CPERIOD)
If IsSat
D:=TABLE->IDAY
else
D:=TABLE->DSAT
endif
else
ARC_TAB->(DBPUSH(,,,{"UPPER(TNUM+FPERIOD)+'99 '",TN+P,TN+P}))
ARC_TAB->(DBGOTOP())
If IsSat
D:=ARC_TAB->DSAT
else
D:=ARC_TAB->IDAY
endif
ARC_TAB->(DBPOP())
endif
D
RETURN
/////////////////////////////////////////////// получить количество рабочих дней в календаре за период
//
FUNCTION GETCAL(P,TN,D)
If (P=ACCOUNTS->CPERIOD)
QUOTAS->(DBPUSH(,,,{"UPPER(CODE+PERIOD)+'99 '","001"+P,"001"+P}))
QUOTAS->(DBGOTOP())
D:=QUOTAS->DAYS
QUOTAS->(DBPOP())
else
ARC_CRD->(DBPUSH(,,,{"UPPER(PERIOD+TNUM)+'99 '",P+TN,P+TN}))
ARC_CRD->(DBGOTOP())
D:=ARC_CRD->Q_DAYS
ARC_CRD->(DBPOP())
endif
D
RETURN
|
|
Back to top |
|
|
z0ne
Joined: 06 Feb 2002 Posts: 93 Location: Павел
|
Posted: 14 Mar 2002 01:17 Post subject: |
|
|
Ещё раз Сори !!!
Всётаки поясню ...
Quote: |
/////////////////////////////////////////////// получение года и месяца в виде ГГГГ.ММ
//
FUNCTION MAKEYEAR(M,Y,S)
|
М-месяц
Y-год
S-выходной параметр, ломать голову почему оно надо последним параметром ЛЕНЬ, просто впихнул - работает и ладно
Quote: |
/////////////////////////////////////////////// получить количество отработанных дней за период по табелю
//
FUNCTION GETDAYR(P,TN,IsSat,D)
|
P-период в формате ГГГГ.ММ
TN-табельный номер
IsSat-выбитать с "дней с суботами"
D-тоже что и раньше - фуфло
Quote: |
/////////////////////////////////////////////// получить количество рабочих дней в календаре за период
//
FUNCTION GETCAL(P,TN,D)
|
P-период в формате ГГГГ.ММ
TN-табельный номер
D-тоже что и раньше - фуфло
|
|
Back to top |
|
|
|