Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alib Ezbar
Зарегистрирован: 17.06.2005 Сообщения: 17 Откуда: Донецк
|
Добавлено: Ср Июл 06, 2005 3:14 pm Заголовок сообщения: |
|
|
Острим или просим о помощи?
ЗЫ: 40 на 40 это когда два цикла, а у меня один |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Ср Июл 06, 2005 4:20 pm Заголовок сообщения: |
|
|
Сейчас это просто трёп, ты его сам начал, а "вуйко мае час i натхнАння". Снобизма поубавь немного, здесь не все из детского сада.
Не "о помощи", а совет я просил почти месяц назад. Условие задачи было сформировано вполне понятно, и задача оказалась совсем не уникальная. С n-ного раза выдавил что-то более-менее в тему.
В базу ошибок писать давно нет желания, вот и сюда теперь не очень охота будет с вопросами обращаться.
40 на 40 - это когда цикл включить в Method_OnCalc для документа с 40 строками. Тоже выход, я так сразу не додумал.
И форме цикл тоже не так просто.
Нужно не забыть перед циклом сделать Calc для вычисления сумм первой проводки, потом суммы первой переписываются в тариф второй, потом Calc для второй. Возможно ещё есть подводные камни. |
|
Вернуться к началу |
|
|
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Ср Июл 06, 2005 4:39 pm Заголовок сообщения: |
|
|
Юров Ю.С. писал(а): | В базу ошибок писать давно нет желания, вот и сюда теперь не очень охота будет с вопросами обращаться.
|
А вот птичку нашу, попрошу не обижать. По 7-ке по тебе в базе такая статистика (заявки/сделано) :
Ошибки 2/2
Пожелания 5/1 |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Ср Июл 06, 2005 4:54 pm Заголовок сообщения: |
|
|
> По 7-ке по тебе в базе такая статистика (заявки/сделано)
Класс! Аж интересно.
А по шестёрке за полгода когда я туда писал не посмотришь? |
|
Вернуться к началу |
|
|
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Ср Июл 06, 2005 5:12 pm Заголовок сообщения: |
|
|
Юров Ю.С. писал(а): | > По 7-ке по тебе в базе такая статистика (заявки/сделано)
Класс! Аж интересно.
А по шестёрке за полгода когда я туда писал не посмотришь? |
Всего от тебя было 106 сообщений включая эти. Подробнее не скажу по техническим причинам :)
Может позжее. |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Ср Июл 06, 2005 10:15 pm Заголовок сообщения: |
|
|
> А вот птичку нашу, попрошу не обижать.
Я вот тут пива попил, ещё раз перечитал, и вот чё подумал.
Алиб Езбарыч, ты что, в самом деле чтоли нерусский?
Тогда просто цирк получается.
Я думаю что меня в детский сад посылают, пример из стандартной зарплаты упорно приводят - два раза написал "без участия кода формы", в третий раз уже и забыл. Ты - что тебя помыться посылают.
Ладно, замяли. |
|
Вернуться к началу |
|
|
Alib Ezbar
Зарегистрирован: 17.06.2005 Сообщения: 17 Откуда: Донецк
|
Добавлено: Чт Июл 07, 2005 8:01 am Заголовок сообщения: |
|
|
Алкоголь Вам на пользу не идёт. Однозначно. В глобальном смысле. |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Чт Июл 07, 2005 8:53 am Заголовок сообщения: |
|
|
Тогда, Мохаммед Али (в миру Кассиус Клей), лови правильный ответ.
Обратиться из программы события метода проводки к данным другой проводки можно, если предварительно из кода формы в цикле или по перехвату изменения скопировать нужные данные в резервные поля этой проводки. Без помощи кода формы этого сделать невозможно, потому что прочитать свойство RowNo проводки нельзя по политическим причинам.
В ходе дискуссии выяснилось, что прочитать RowNo можно простым запросом из базы данных, потому что проводка на момент расчёта всегда сохранена. Процедура с обращением к другой проводке выглядит так.
Код: | '= Метод : Классность
'==============================================
Sub Method_OnCalc(Tr)
With Tr
Select Case .Long2
Case 1 : .Percent=25
Case 2 : .Percent=10
Case Else : .Percent=0 : .AgID=0 : Global_delTr(tr) : Exit Sub 'нет классности - сотрудника очищаем.
End Select
If .PDocument Is Nothing Then Exit Sub 'считается только из документа.
Dim row : row=Global_trNo(tr) : If row=0 Then Exit Sub 'наша проводка ещё не сохранена, о номере говорить нет смысла.
Dim tr0 : Set tr0=.PDocument.TransRM(row, Workarea.GetCodeID("0115n")) 'Сдельная по наряду
tr0.Calc 64 'Расчитывать только нерасчитанные проводки
.Sum1 =tr0.Sum
.Sum = .Sum1 * .Percent / 100.
.DbCode = IIF(.Long1<>0,"",.Long1)
End With
End Sub
Sub Global_DelTr(tr)
If tr.ID<>0 Then workarea.DaoDataBase.Execute("delete * from P_JOURNAL where JP_ID="&tr.ID)
End Sub
Function Global_trNo(tr)
If tr.ID=0 Then Exit Function
Dim rs : Set rs=workarea.DaoDataBase.OpenRecordSet("Select JP_ROW from P_JOURNAL where JP_ID="&tr.ID)
If Not rs.EOF Then Global_trNo=CheckNull(rs.Fields(0).Value,0)+1
End Function |
Также был найден альтернативный вариант копирования нужных данных в цикле непосредственно в программе метода.
[/code][/quote] |
|
Вернуться к началу |
|
|
Alib Ezbar
Зарегистрирован: 17.06.2005 Сообщения: 17 Откуда: Донецк
|
Добавлено: Чт Июл 07, 2005 9:10 am Заголовок сообщения: |
|
|
ну да... куда быстрее выполнять запросы в базу из кода метода, чем просто из тела формы передать один раз циклом из N шагов нужные значения.
каждый программирует как ему больше нравится, но иногда просто надо делать так как надо, а не строить монстроидальные структуры.
Зачем усложнять себе жизнь и тому человеку кто будет читать код?
Программист должен быть ленивым и писать как можно меньше кода (с)
ЗЫ: И хватит поясничать и каверкать мой ник-нейм.[/b] |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Чт Июл 07, 2005 9:23 am Заголовок сообщения: |
|
|
Набор фраз, которые к конкретному случаю не имеют никакого отношения. |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Чт Июл 07, 2005 9:25 am Заголовок сообщения: |
|
|
Тем более, что в частном случае формы динамические и ничего не знают о тех свойствах, которые надо циклить. |
|
Вернуться к началу |
|
|
Alib Ezbar
Зарегистрирован: 17.06.2005 Сообщения: 17 Откуда: Донецк
|
Добавлено: Чт Июл 07, 2005 9:36 am Заголовок сообщения: |
|
|
Вопрос себя исчерпал.
Ответы исчерпывающие.
Ветку можно закрывать. |
|
Вернуться к началу |
|
|
Юров Ю.С.
Зарегистрирован: 11.03.2005 Сообщения: 383 Откуда: Павлоград
|
Добавлено: Пт Июл 08, 2005 7:41 am Заголовок сообщения: |
|
|
>... быстрее выполнять запросы в базу из кода метода
Если сам подход целесообразен (в некоторых случаях) и не приводит к ошибкам в расчёте, может есть смысл добавить свойство PTransaction.RowNo? |
|
Вернуться к началу |
|
|
|