Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Групповые операции. Помогите чайнику
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4
View previous topic :: View next topic  
Author Message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 15 Mar 2005 09:50    Post subject: Групповые операции. Помогите чайнику Reply with quote

Пытаюсь создать следующее:

А1=ДАТА0()
А2=ДАТА()

/*Даты при выполнении групповой операции не спрашивает. Со словом ВВОД помедитировал - не вышло...*/

ВВОД(("Введите дату проводок",А3,"Д"))
ВВОД(("Введите процент начислений",А4,"Ч","99"))

/*Здесь все вводится, но я не понимаю, зачем двойные скобки? */


ПОКА (СЧЕТ(Б2,"Введите счет") = 1)
ДОБАВИТЬ(Б1,Б2)
ВСЕ_ПОКА

/*Скопировал из хелпа. Написано, что по CTRL-F10 должно останавливаться - не останавливается */

ЦИКЛ Б1,Б2,Б3
ДОБАВИТЬ(В1,ДТКТ(Б2,70,А1,А2)
ВСЕ_ЦИКЛ

/*Здесь, вроде бы, что-то делает*/

ЦИКЛ В1,В2,В3
П(А3,"РЕЗЕРВ",Б1(В3),"96","Начисление резерва отпускных),В2*А4)
ВСЕ_ЦИКЛ

/*Ругается на непарные скобки.. Где, интересно?*/
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Лариса Т.



Joined: 05 Jul 2004
Posts: 247
Location: Тюрикова Л.А.
Occupation: программист
Interests: Ижевск

PostPosted: 15 Mar 2005 10:56    Post subject: Reply with quote

Quote:

П(А3,"РЕЗЕРВ",Б1(В3),"96","Начисление резерва отпускных),В2*А4)

П(А3,"РЕЗЕРВ",Б1(В3),"96","Начисление резерва отпускных",В2*А4)
Back to top
View user's profile Send private message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 15 Mar 2005 11:43    Post subject: Reply with quote

Спасибо Но это я при перепечатке ошибся. В оригинале - кавычки.

По остальным никто не поможет? А
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 15 Mar 2005 12:58    Post subject: Re: Групповые операции. Помогите чайнику Reply with quote

[quote="SamS"]Пытаюсь создать следующее:

ВВОД(("Введите дату проводок",А3,"Д"))
ВВОД(("Введите процент начислений",А4,"Ч","99"))

/*Здесь все вводится, но я не понимаю, зачем двойные скобки? */


Внутри скобок может быть список:

ВВОД(("Введите дату проводок",А3,"Д"),;
("Введите процент начислений",А4,"Ч","99");
)
Back to top
View user's profile Send private message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 15 Mar 2005 17:20    Post subject: Reply with quote

Ау! Ну хоть пальцем ткните, где читать...

И про цикл с ДОБАВИТЬ, скопированный из хелпа - не работет ведь Ctrl-F10. Шо делать-
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 15 Mar 2005 17:37    Post subject: Reply with quote

Об операторе
П(А3,"РЕЗЕРВ",Б1(В3),"96","Начисление резерва отпускных),В2*А4)
По моему, скобки д.б. квадратными: Б1[D3].

Цитата из хелпа:
"Если в цикле используется оператор ВЫВОД, прерывание может осуществляться только при помощи функции КЛАВИША()."
Может для отладки есть ВЫВОД?

Полный текст программы не помешал бы.....


Last edited by Fan on 15 Mar 2005 17:40; edited 1 time in total
Back to top
View user's profile Send private message
Elena



Joined: 06 Jun 2002
Posts: 504
Location: Пучнина Елена Ивановна
Occupation: Компания БЭСТ
Interests: г.Москва

PostPosted: 15 Mar 2005 17:37    Post subject: Reply with quote

Можно получить полный текст групповой операци
Back to top
View user's profile Send private message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 15 Mar 2005 18:05    Post subject: Reply with quote

А как его вывести в куда-нибудь?
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 15 Mar 2005 18:13    Post subject: Reply with quote

Сначала F9, потом F2 для вывода в текстовый файл.
Back to top
View user's profile Send private message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 15 Mar 2005 18:53    Post subject: Reply with quote

Ага, сделал

Code:

А1="01/01/05"
А2="31/01/05"

ВВОД(("Введите дату проводок",А3,"Д"))
ВВОД(("Введите % отчислений:",А4,"Ч","99"))

Г1={70,6911,6912,6921,6922,6923,6931,6932}

ДЛЯ А5=1,4,1
  СЧЕТ(Б2, "Добавьте счет")
  ДОБАВИТЬ(Б1,Б2)
ВСЕ_ДЛЯ

ЦИКЛ Б1,Б2,Б3
  ДОБАВИТЬ(В1,0)
  ЦИКЛ Г1,Г2,Г3
    В1[Б3]=В1[Б3]+ДТКТ(Б2,Г2,А1,А2)
  ВСЕ_ЦИКЛ
ВСЕ_ЦИКЛ

ЦИКЛ В1,В2,В3
  П(А3,"РЕЗЕРВ",Б1[В3],"96","Начисление резерва отпускных",В2*А4/100)
ВСЕ_ЦИКЛ


Что не работает:
1. Дату хочется, чтобы спрашивал, т.е. А1, А2 вводить с экрана. Просто ВВОД нарисовать или как-то с ДАТА(), ДАТА0() надо поиграться?
2. Переменную Б2 список сейчас набираем из 4 значений, хотелось бы - на выбор пользователя, но пример из хелпа по Ctrl-F10 не останавливается.
3. Вложенный цикл не работает. Если выбирать только по одному кредиту (70 счет, например) - работает. Вложенный по всем 70 и 69 - не хоче
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 16 Mar 2005 12:23    Post subject: Reply with quote

1. Я бы сделал так:
А1=ДАТА()
А2=ДАТА()
А3=ДАТА()
ВВОД(("Введите дату начала расчета",А1,"Д"),;
("Введите дату конца расчета",А2,"Д"),;
("Введите дату проводок",А3,"Д"),;
("Введите процент начислений",А4,"Ч","99");
)
Если дата конца расчета совпадает с датой проводок, то один оператор можно исключить.
2. Во вложенном списке, как я понимаю, счета затрат вводятся? Этож надо еще и последовательность соблюсти ;( Ошибки оператора возможны...
Список можно задать в начале программы. Абсолютно универсальных программ не бывает :0)
Что касается вложенных циклов, у меня тоже были проблемы... Делаю пока без них.
Нужно ли хранить промежуточные результаты до конца подпрограммы (потом все равно пропадут)? Если НЕТ, то два цикла - лишние.
3. Номер счета это строка символов, а не число. Я бы определил список:
Г1{"70(и еще 8 пробелов, если счет 10 разрядов)","6911(и 6 пробелов)", и т.д.}
4. Перед формированием проводок сумму лучше округлить заранее. Иначе возможны проблемы при закрытии периода в АрмеГБ.
Back to top
View user's profile Send private message
SamS



Joined: 12 Jan 2002
Posts: 281
Location: Спиридонов С.А.
Occupation: ПКП "БИСТ"
Interests: Чистополь

PostPosted: 16 Mar 2005 19:58    Post subject: Reply with quote

Спасибо, почти все получилось

Работающий вариант:
Code:

А1=ДАТА()
А2=ДАТА()

ВВОД(("Введите дату начала месяца",А1,"Д"),;
("Введите дату окончания месяца",А2,"Д"),;
("Введите % отчислений:",А4,"Ч","99"))

Г1={"70","6911","6912","6921","6922","6923","6931","6932"}

ДЛЯ А5=1,3,1
  СЧЕТ(Б2, "Добавьте счет затрат по оплате труда")
  ДОБАВИТЬ(Б1,Б2)
ВСЕ_ДЛЯ

ЦИКЛ Б1,Б2,Б3
  ДОБАВИТЬ(В1,0)
  ЦИКЛ Г1,Г2,Г3
    В1[Б3]=В1[Б3]+ДТКТ(Б2,Г2,А1,А2)
  ВСЕ_ЦИКЛ
ВСЕ_ЦИКЛ

ЦИКЛ В1,В2,В3
  П(А2,"РЕЗЕРВ",Б1[В3],"96","Начисление резерва отпускных",В2*А4/100)
ВСЕ_ЦИКЛ


В хелпе, кстати, пример со список счетов дан без кавычек - не работало, пока у Г1 кавычке не поставил.

Я правильно понимаю, что по умолчанию округляет до 2 знаков? По крайней мере в хелпе так написано... Или не верить?

Осталась одна проблема - как добавлять не 3 счета затрат, как в примере, а сколько угодно (не работает Ctrl-F10)?
_________________
Origin: 2:5049/97.3
Back to top
View user's profile Send private message Send e-mail
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 16 Mar 2005 21:31    Post subject: Reply with quote

БЭСТ считает до трех знаков после запятой и даже в main.dbf суммы с тремя знаками.
Поскольку в формуле есть деление, лучше округлить насильно :0)
Back to top
View user's profile Send private message
GAL



Joined: 23 Apr 2002
Posts: 344
Location: Лопухова Галина Анатольевна
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 17 Mar 2005 20:03    Post subject: Reply with quote

SamS wrote:
В хелпе, кстати, пример со список счетов дан без кавычек - не работало, пока у Г1 кавычке не поставил.

Можно поискать в описаниях к версиям, там было написано.

SamS wrote:

Осталась одна проблема - как добавлять не 3 счета затрат, как в примере, а сколько угодно (не работает Ctrl-F10)?


В ХЭЛПЕ написано следующее:
Прерывание работы цикла может быть произведено:
- По клавише
ESC , если работа цикла требует подтверждения
следующего запуска цикла. Например:
ПОКА (СЧЕТ(А1, "Введите счет") = 1)
... действия ...
ВСЕ_ПОКА
В данном случае выход из цикла осуществляется нажатием
клавиши
ESC в ответ на запрос: "Введите счет".
- По сочетанию клавиш
Ctrl-F10 , если работа цикла не требует
подтверждения на продолжение работы
. Например:
СЧЕТ(А1, "Определите счет")
ПОКА (ШАУ(А1) = 1)
... действия ...
ВСЕ_ПОКА

Т.е. по Ctrl-F10 можно выйти из цикла
ПОКА (СЧЕТ( А1 ) = 1)
... действия ...
ВСЕ_ПОКА

И еще. Я бы не стала "перегружать" конструкции, и вынесла бы вычиление процента от суммы из функции "проводка".

И цикл в цикле тоже работает.
Back to top
View user's profile Send private message
Fan



Joined: 03 Sep 2002
Posts: 76
Location: Корзюков Николай


PostPosted: 18 Mar 2005 12:19    Post subject: Reply with quote

GAL писала:
И еще. Я бы не стала "перегружать" конструкции, и вынесла бы вычиление процента от суммы из функции "проводка".

От себя добавлю "масла масляного" в эту рекомендацию:
Округлите это вычисление.

У меня оператор ввела новую проводку в амортизацию ОС. Вылезла копейка в оборотках. Замучился округлять вручную.
Не "подстелишь соломки" - сюда и упадешь :0)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4 All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru