Добавлено: Чт Мар 07, 2013 1:24 pm Заголовок сообщения:
cветлана писал(а):
как я пойму что это процедура сохранения?
по какому слову?
извините, если не в тему, но раньше я не трогала форму, а статья появлялась
я ее стерла , как я понимаю, при редактировании кода шаблона
нужно было не стереть, а убрать за какие-нибудь скобки, наверно
Этот код убрать из процедуры 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
Прочитайте ВНИМАТЕЛЬНО этот пост http://www.accent6.com/forum/viewtopic.php?p=8773#8773 и сделайте как там написано. Если кол-во строк в проводке №4 более 2000-3000 и не исключены ошибки в справочнике сотрудников (не туда занесен сотрудник или ещё что-то) то можете попробовать использовать код который olimp предлагает (имхо еще пол дня будете разбираться как его правильно вставить).
П.С. Аналитика будет прописываться по нажатию кнопочки СОХРАНИТЬ в форме
Добавлено: Вт Мар 26, 2013 5:06 pm Заголовок сообщения:
cветлана писал(а):
как задать копирование построчно?
Код:
' Op.TransList(4).SetMisc 12, Op.Trans(3).MiscID(12)
Dim i
for i = 1 to op.Translist(4).Rows
if i<=op.translist(3).Rows then
op.trans(4,i).miscId(12) = op.trans(3,i).miscId(12)
else
op.trans(4,i).miscId(12) = op.trans(3,op.translist(3).Rows).miscId(12)
End if
Next
Добавлено: Ср Мар 27, 2013 2:32 pm Заголовок сообщения:
'--Разное--
Op.TransList(4).SetMisc 12, Op.Trans(3).MiscID(12)
Op.TransList(4).SetMisc 11, op.Trans(3).MiscID(11)
Op.TransList(4).SetMisc 4, Op.Trans(3).MiscID(4)
op.TransList(3).SetMisc 19, 5597
'}} END_RECALC
End Sub
Sub TEMPLATE_BEFORESAVE(OP, ByRef CANCEL)
'{{ BEGIN_BEFORESAVE
'}} END_BEFORESAVEE
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
End Sub
где нужно добавить то, что Вы написали?
Добавлено: Ср Мар 27, 2013 3:53 pm Заголовок сообщения:
Уважаемая Светлана. Если Вы не владеете базовыми знаниями в программировании, настоятельно рекомендую не вносить никаких изменений. Даже несознательно привнесенная ошибка может привести к весьма печальным последствиям, а некоторые из подобных ошибок влекут за собой административную ответственность, а в особых случаях - и уголовную. Не то, что бы я пытаюсь запугать, но , будучи в прошлом на месте дилера, несколько раз встречался с попытками "улучшить" программу "специалистами", приведшими к хаосу. Не экономьте на вызовах специалистов. Потраченные денежки потом сторицей окупятся в виде
нормально построенного учета.
Код:
Sub TEMPLATE_BEFORESAVE(OP, ByRef CANCEL)
'{{ BEGIN_BEFORESAVE
'}} END_BEFORESAVEE
Dim i
With op
For i = 1 To .TransList(4).Rows
.Trans(4, i).MiscId(19) = .Trans(4, i).AgTo.Parent.Params("Затраты: Группа 02").Value2
' помещать сюда <- начало
if i<=op.translist(3).Rows then
op.trans(4,i).miscId(12) = op.trans(3,i).miscId(12)
else
op.trans(4,i).miscId(12) = op.trans(3,op.translist(3).Rows).miscId(12)
End if
' помещать сюда <- окончание
Next
End With
End Sub
Я пишу в шаблоне во вторую проводку в поле сумма/валюта такую формулу "=P1*1.2" в ОУ и кол-ве соответственно "=E1" и "=Q1". Затем перепровожу документы. По идее должно проставить цены из первой проводки умноженные на 1.2 но что-то ничего не проставляет. Что-то не так делаю?
Я пишу в шаблоне во вторую проводку в поле сумма/валюта такую формулу "=P1*1.2" и перепровожу документы. По идее должно проставить цены из первой проводки умноженные на 1.2 но что-то ничего не проставляет. Что-то не так делаю?
Этот макрос работает со строками проводки. Если нет объектов учета, то ничего происходить не будет.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах