|
|
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Люди! Существует выполнение по договору, которое разбивается на выполнение по объектам по факту. Существует оплата выполненных работ, которая идет одной суммой (SummaP). Структура таблицы в которой содержаться данные: idDog, Vipolnenie, DataV, idOb, Oplata Задача. Распределить оплату программно по объектам, по которым есть задолженность. Алгоритм представляю себе такой, для всех объектов по договору считаю задолженность (Dolg) Если SummaP >= Dolg по 1 объекту, тогда Oplata = Dolg SummaP1=SummaP-Oplata Иначе Oplata=SummaP SummaP1=SummaP-Oplata Все это в цикл, SummaP1=0 конек цикла А дальше, как в том анекдоте «нутром чувствую, что литр, а математически выразить не могу» Т.Е. не знаю с какой стороны к этому подступиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:11:34 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Sub TraTaTa (ByVal SummaP as Double, idDog as String) Dim db As Database: Set db = CurrentDb Dim rs as Recordset: Set Rs = Db.OpenRecordset("SELECT idDog, Vipolnenie, DataV, Oplata WHERE ((idDog = '" & idDog & "'));", DbOpenDynaset) With rs Do While Not .EOF .Edit If SummaP >= !Dolg !Oplata = !Dolg Else !Oplata = SummaP End If SummaP=SummaP-!Oplata if SummaP = 0 Then Exit Do .Update .MoveNext Loop If SummaP > 0 Then MsgBox "Остались деньги на выпить и закусить в размере " & SummaP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:29:35 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Может ты имела ввиду Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:34:16 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь! Буду делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:35:10 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Ирча, а что в Уренгой уже регулярно поезда ходят? А до Пангод на поезде доехать можно? Или все так же, как и раньше вертушкой через Надым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:36:36 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
2 Ирча стройка? 1-й ворпрос - а надо ли "распределять" может быть - Oplata в твоей таблице - вовсе не оплата, а цена вопроса? тогда складывай цены вопроса и смотри против них сумму оплат по договору. Разница даст тебе величину задолженности (дебиторской/кредиторской). Размазывать по стакану есть смысл, только если оплата постаканная. Вообще же, размазывать - примерно так, как Rivkin Dmitry нарисовал. Если только у тебя задача без приоритетов, или каких-нибудь специальных заковык, где явная "функция распределения" потребуется. обозначился. Все. В дальнейшем участвовать не смогу. по причине боления. побег дальше болеть. PS всем привет :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:43:26 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
to Rivkin Dmitry Поезда до Уренгоя уже ходят, а вот На счет Пангод не скажу, потому что не знаю Victosha1-й ворпрос - а надо ли "распределять" Распределять Надо, потому, что есть господа инвесторы, которые такой отчет придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:49:14 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Victosha ,наверное, прав, и надо бы добавить в таблицу приоритет по idOb, т е. еще одно поле инт, например, и в нем проставлять порядок объектов для оплаты. Тогда в запросе достаточно будет добавить сортировку по этому полю. А что ты собираешься делать с остатком, если такой проявится? А муксун и нельму купить в Уренгое можно? (на остаток, конечно :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:00:29 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryА что ты собираешься делать с остатком, если такой проявится? я заранее прослежу, чтобы SummaP была меньше или равна задолженности по договору, а остаток пойдет как аванс Rivkin DmitryА муксун и нельму купить в Уренгое можно? (на остаток, конечно :) ) Смотря какой остаток... Реально можно, но если интересует качество, то брать надо пока у нас холодно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:39:55 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
А что, все еще холодно? Пора бы и лету наступать. Помнится, снег по оврагам числа до 20 июня лежал, но на солнышке уже жарко становилось в середине июня ... Хотя не всегда! Комарики уже есть? А код работает то? Я там End If и End With не проставил. Справилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:04:57 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryЯ там End If и End With не проставил. Справилась? Код пока смотрю. Он работает, но делает не совсем то, пытаюсь наладить. Endы все дописала Rivkin DmitryА что, все еще холодно? Пора бы и лету наступать У нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:11:02 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Всем спасибо... Отдельное спасибо Rivkin Dmitry Все работает посто отлично! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:54:30 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Привет Северу! Давно там не бывал, и уж, наверное, не буду! А жаль.. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:05:52 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
ИрчаУ нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. А какая у Вас разница во времени? :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:06:38 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
neal ИрчаУ нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. А какая у Вас разница во времени? :))) Когда я там бывал - разница с Москвой была 2 часа (Израиль с Москвой впереди на 1 час), но судя по 6 июля с тех пор они значительно нас обогнали :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:34:23 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryКогда я там бывал - разница с Москвой была 2 часа (Израиль с Москвой впереди на 1 час), но судя по 6 июля с тех пор они значительно нас обогнали :))) Мы такие, к концу рабочего дня еще не то можем. А вообще то я по делу. Где-то туплю Вот что у меня получилось Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SummaP < !Dolg ,Т.е. Когда сумма перестает быть больше или равна долгу, молча не добавляет остаток. Ставлю точку останова на это место SummaP = SummaP - !Opl Значения все правильные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 07:47:40 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Выход из цикла без сохранения рекордсета If SummaP = 0 Then .Update Exit Do End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 07:55:35 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
а пример данных пару строк + тип полей в таблице + описание переменных Variant/Float ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:00:32 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:12:28 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
это была временная таблица из которой рекордсет после внесенных изменений If SummaP = 0 Then .Update Exit Do End If Общая сумма задолженности в таблице 12702,639, распределяю 10000 Временная таблица поля долг и оплата числовые, Одинарное с плавающей точкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:17:53 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ) 2 раза If ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:20:18 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
вдогон в recordset нет Order BY порядок следования записей не важен ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:22:49 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
у меня получилось всего 10000,0539855957 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:32:13 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
последний Update не работает - чукотка права ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:37:35 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1609&tid=1673785]: |
0ms |
get settings: |
10ms |
get forum list: |
25ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 396ms |

| 0 / 0 |
