Список форумов Акцент Акцент
официальный форум разработчика программы Акцент
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

список макросов Акцент
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
 
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0
Предыдущая тема :: Следующая тема  
Автор Сообщение
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Чт Мар 07, 2013 12:00 pm    Заголовок сообщения: Ответить с цитатой

Oleksandr писал(а):
kris писал(а):
Или, как уже рекомендовали (и что правильнее!), выносить на BeforeSave.

Кстати EnumTrans работает в шаблонах?
А то в классах как-то не очень

Shocked
а что непонятного в проблеме использования GetRef в классах ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Чт Мар 07, 2013 12:04 pm    Заголовок сообщения: Ответить с цитатой

Oleksandr писал(а):
То есть EnumTrans в шаблонах работает?
п.с. А это ошибку не выдаст?
exit sub

"С какого пинцета ?" (с) Быков, Интерны :)

процедуры шаблона - обычные процедуры.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
cветлана
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:08 pm    Заголовок сообщения: Ответить с цитатой

Sub Template_OnApply(op)
'{{ BEGIN_APPLY
'--Число проводок--
op.TransCount = 4
'--Общие--
op.FormID = 31
op.Name2 = "ст. 22 Прочие удержания зарплаты"
'--Счета--
op.TransList(1).SetAccDb 560
op.TransList(1).SetAccCr 434
op.TransList(2).SetAccDb 560
op.TransList(2).SetAccCr 434
op.TransList(3).SetAccDb 1165
op.TransList(3).SetAccCr 434
op.TransList(4).SetAccDb 560
op.TransList(4).SetAccCr 1165
'--Объекты учета--
op.TransList(1).SetEnt 5516
op.TransList(2).SetEnt 5516
op.TransList(3).SetEnt 5516
op.TransList(3).SetEnt 5516
'}} END_APPLY
End Sub

Sub Template_OnEdit(op)
'{{ BEGIN_EDIT
'--Число проводок--
op.TransCount = 4
op.LockUI &H9
'--Блокировки--
op.TransList(4).LockUI &H19
'}} END_EDIT
End Sub

Sub Template_OnRecalc(op)
'{{ BEGIN_RECALC
'--Объекты учета--
op.CopyEntSeries 4, 1
'--Корреспонденты--
op.CopyAgents 4, False, 1, False
op.CopyAgents 4, True, 1, True
'--Суммы--
op.CalcSum "=T1"
op.TransList(4).CalcSum "=$1"
'--Разное--
Op.TransList(4).SetMisc 12, Op.Trans(3).MiscID(12)
Op.TransList(4).SetMisc 11, op.Trans(3).MiscID(11)
'}} END_RECALC
End Sub
Sub TEMPLATE_BEFORESAVE(OP, ByRef CANCEL)
'{{ BEGIN_BEFORESAVE
'}} END_BEFORESAVEE

Dim prm

Set prm = createlibobject("map")
Op.TransList(4).EnumTrans GetRef("SetMscRow"), prm


Function SetMscRow(Tr, ByRef prm)
SetMscRow = True

If Not prm.exists(Tr.AgToID) And Tr.AgToID <> 0 Then
If Tr.AgTo.Parent Is Nothing Then Exit Sub
prm(Tr.AgToID) = Tr.AgTo.Parent.Params("Затраты: Группа 02").Value2
End If

Tr.MiscId(19) = prm(Tr.AgToID)
End Function
End Sub

синтаксическая ошибка
Вернуться к началу
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:08 pm    Заголовок сообщения: Ответить с цитатой

olimp писал(а):

процедуры шаблона - обычные процедуры.

ну да, только там функция а не процедура
Вернуться к началу
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Чт Мар 07, 2013 12:16 pm    Заголовок сообщения: Ответить с цитатой

Сорри, невнимательность - мой бич Sad
замените кусок на этот

Код:
Dim prm

   set prm = createlibobject("map")
   Op.TransList(4).EnumTrans GetRef("SetMscRow"), prm

end sub


function SetMscRow(Tr, byref prm)
   SetMscRow = true

   if Tr.AgToID = 0 then exit function
   if prm.exists(Tr.AgToID) then
      if Tr.AgTo.Parent is nothing then exit function
      prm(Tr.AgToID) = Tr.AgTo.Parent.Params("Затраты: Группа 02").Value2
   end if

   Tr.MiscId(19) = prm(Tr.AgToID)
End function
 


Последний раз редактировалось: olimp (Чт Мар 07, 2013 12:22 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:16 pm    Заголовок сообщения: Ответить с цитатой

olimp писал(а):

а что непонятного в проблеме использования GetRef в классах ?

getref не работает в классах, в этом и заключается проблема использования. что тут непонятного может быть
Вернуться к началу
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:19 pm    Заголовок сообщения: Ответить с цитатой

Светлана, это код шаблона, а вам нужен код формы....
Вернуться к началу
cветлана
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:21 pm    Заголовок сообщения: Ответить с цитатой

про код формы я поняла, не поняла как туда войти он с расширением afm
Вернуться к началу
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Чт Мар 07, 2013 12:24 pm    Заголовок сообщения: Ответить с цитатой

Oleksandr писал(а):
olimp писал(а):

а что непонятного в проблеме использования GetRef в классах ?

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

это ты сказал что, цитирую, "не очень работает", т.е. ты не понимаешь почему не работает GetRef в классах ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:25 pm    Заголовок сообщения: Ответить с цитатой

cветлана писал(а):
про код формы я поняла, не поняла как туда войти он с расширением afm

Открыть конструктор и войти в код формы. У вас что даже сисадмина нет, который помог бы?
Вернуться к началу
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 12:29 pm    Заголовок сообщения: Ответить с цитатой

olimp писал(а):

т.е. ты не понимаешь почему не работает GetRef в классах ?

Не понимаю, расскажете? Хотелось бы почитать более развернутый ответ чем этот:
You can't use GetRef() with a method of an instance of a VBScript class, it simply isn't supported.
Michael Harris
Microsoft.MVP.Scripting
Seattle WA US
Вернуться к началу
olimp
Site Admin


Зарегистрирован: 10.03.2005
Сообщения: 2661

СообщениеДобавлено: Чт Мар 07, 2013 12:55 pm    Заголовок сообщения: Ответить с цитатой

Oleksandr писал(а):
olimp писал(а):

т.е. ты не понимаешь почему не работает GetRef в классах ?

Не понимаю, расскажете? Хотелось бы почитать более развернутый ответ чем этот:
You can't use GetRef() with a method of an instance of a VBScript class, it simply isn't supported.
Michael Harris
Microsoft.MVP.Scripting
Seattle WA US


Видимо ты прочитал это уже после того, как написал это

Oleksandr писал(а):
kris писал(а):
Или, как уже рекомендовали (и что правильнее!), выносить на BeforeSave.

Кстати EnumTrans работает в шаблонах?
А то в классах как-то не очень

Вот я и подумал, что нужно тебе помочь Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
cветлана
Гость





СообщениеДобавлено: Чт Мар 07, 2013 1:07 pm    Заголовок сообщения: Ответить с цитатой

код формы нашла, добавила
теперь все работает, сообщений не выдает
но вернулось все к самому началу- не указывается статья движения ДС
Вернуться к началу
Oleksandr
Гость





СообщениеДобавлено: Чт Мар 07, 2013 1:09 pm    Заголовок сообщения: Ответить с цитатой

cветлана писал(а):
код формы нашла, добавила
теперь все работает, сообщений не выдает
но вернулось все к самому началу- не указывается статья движения ДС

выложите код процедуры сохранения из кода формы Smile
а заодно и процедуру BeforeSave из шаблона
Вернуться к началу
cветлана
Гость





СообщениеДобавлено: Чт Мар 07, 2013 1:13 pm    Заголовок сообщения: Ответить с цитатой

как я пойму что это процедура сохранения?
по какому слову?

извините, если не в тему, но раньше я не трогала форму, а статья появлялась
я ее стерла , как я понимаю, при редактировании кода шаблона
нужно было не стереть, а убрать за какие-нибудь скобки, наверно

Этот код убрать из процедуры Sub Template_OnRecalc(op) :
Код:

Dim i
With op
For i = 1 To .TransList(4).Rows
.Trans(4, i).MiscId(19) = .Trans(4, i).AgTo.Parent.Params("Затраты: Группа 02").Value2
Next
End With


Последний раз редактировалось: cветлана (Чт Мар 07, 2013 1:15 pm), всего редактировалось 2 раз(а)
Вернуться к началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0 Часовой пояс: GMT + 2
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Страница 6 из 8

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group