|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМ Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
1. У меня FoxPro 8.0 2. Да, для одной записи таблицы PROCLCDT существует только одна запись таблицы TEMPVO 3. Да, проблема остается 4. Да, значение поля Tempvo.t1_n6 не ноль ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:25 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМTempvo - это таблица или тоже ранее сделанная выборка? Если это выборка, то была ли она сформирована с учетом значения переменной m_date1? Т.е. а есть ли вообще запись с суммой остатка, для Вашего проблемного значения? Tempvo - это тоже ранее сделанная выборка, сформирована с учетом значения переменной m_date1 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 18:30 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
У кого-нибудь есть идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:58 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoftУ кого-нибудь есть идеи? Начни сначала. Попробуй в одном сообщении четко изложить весь поток сознания, который выше понаписал. Приведи структуру таблиц использованных в коде. Тут просто непонятно ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 10:17 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima TularsoftУ кого-нибудь есть идеи? Начни сначала. Попробуй в одном сообщении четко изложить весь поток сознания, который выше понаписал. Приведи структуру таблиц использованных в коде. Тут просто непонятно ничего. Короче, имеются таблицы Tempvo и proclcdt. Получаю отчет в EXCEL за еженедельную. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
SCAN FOR (m_date1>=TTOD(pl_date2)-6 AND m_date1<=TTOD(pl_date2)) Тут задача такая, если ТЕКУЩАЯ_ДАТА входит в этот диапазон, то tt1_n6 = tt1_n6 + tmp.t1_n6, т.е. включается в РАСЧЕТ. Иногда бывают моменты СРОК ДОГОВОРА истекает, а клиент не закрыл счет, остаток остается. Их не включает в РАСЧЕТ. А я должен включит их. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:05 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМ5. Если в командном окне выполнить такой запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Будет ли в открывшемся Browse-окне отображена нужная запись? Есть ли в выборке "дубли" по значению поля proclc.pl_lc? Т.е. может ли быть несколько записей с одним и тем же значением proclc.pl_lc? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:23 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoft, когда Dima T писал "четко изложить весь поток сознания", он имел в виду не "изложить в виде потока сознания", а "изложить чётко, связно, последовательно то, что до этого являлось потоком сознания". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:35 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМВладимирМ5. Если в командном окне выполнить такой запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Будет ли в открывшемся Browse-окне отображена нужная запись? Есть ли в выборке "дубли" по значению поля proclc.pl_lc? Т.е. может ли быть несколько записей с одним и тем же значением proclc.pl_lc? С одним и тем же значением в proclc.pl_lc не может. В Browse-окне отображается нужная запись, но только между TTOD(proclc.pl_date2)-6 и TTOD(proclc.pl_date2), у меня если срок истек остаток не равно 0, тогда должны вкл в РАСЧЕТ. Программа не включает, т.е. вкл только до срока. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:37 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoft Код: sql 1.
Тут задача такая, если ТЕКУЩАЯ_ДАТА входит в этот диапазон, то tt1_n6 = tt1_n6 + tmp.t1_n6, т.е. включается в РАСЧЕТ. Иногда бывают моменты СРОК ДОГОВОРА истекает, а клиент не закрыл счет, остаток остается. Их не включает в РАСЧЕТ. А я должен включит их. Я так понимаю ты не знаешь как условие поправить, как-то так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:40 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima Tularsoft Код: sql 1.
Тут задача такая, если ТЕКУЩАЯ_ДАТА входит в этот диапазон, то tt1_n6 = tt1_n6 + tmp.t1_n6, т.е. включается в РАСЧЕТ. Иногда бывают моменты СРОК ДОГОВОРА истекает, а клиент не закрыл счет, остаток остается. Их не включает в РАСЧЕТ. А я должен включит их. Я так понимаю ты не знаешь как условие поправить, как-то так Код: sql 1.
Я так делал, но все равно в РАСЧЕТ не включает: Код: sql 1.
Я не понял следующее: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:52 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoftЯ так делал, но все равно в РАСЧЕТ не включает: Код: sql 1.
Разницу между AND и OR понимаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 11:57 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoftЯ не понял следующее: Код: sql 1.
недописал, надо "дата окончания договора", подставь туда соответствующее поле, от тебя я так и не увидел структуры таблиц. Вобщем это проверка что договор закончился раньше периода отчета. Условие должно быть такое: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:01 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima TularsoftЯ так делал, но все равно в РАСЧЕТ не включает: Код: sql 1.
Разницу между AND и OR понимаешь? Прости, Код: sql 1.
Все равно, если m_date1 = '18.07.2016', '19.07.2016', '20.07.2016', '21.07.2016', '22.07.2016', '23.07.2016', '24.07.2016' и срок истекает '22.07.2016', то в РАСЧЕТ включаются только по '22.07.2016', а за '23.07.2016', '24.07.2016' не включает. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:02 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima TularsoftЯ не понял следующее: Код: sql 1.
недописал, надо "дата окончания договора", подставь туда соответствующее поле, от тебя я так и не увидел структуры таблиц. Вобщем это проверка что договор закончился раньше периода отчета. Условие должно быть такое: Код: sql 1.
pl_date2 - дата окончания договора ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:04 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Опять все запутал. Давай пример исходных данных proclcdt. Так чтобы можно было запустить твой код. И код дополни. Чтобы можно было скопировать и запустить. Типа Код: sql 1. 2. 3.
Много данных не надо, 3-5 записей и описание "эта запись не попадает, но должна попадать потому что она то-то" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:22 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
можешь пример заполненной proclc, т.е. вместо Код: sql 1. 2.
написать Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:28 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima TОпять все запутал. Давай пример исходных данных proclcdt. Так чтобы можно было запустить твой код. И код дополни. Чтобы можно было скопировать и запустить. Типа Код: sql 1. 2. 3.
Много данных не надо, 3-5 записей и описание "эта запись не попадает, но должна попадать потому что она то-то" Структура таблицы proclcdt: PL_LC - лицевой счет, PL_DATE1 - дата начала, PL_DATE2 - дата окончания. Структура курсора TEMPVO t1_lc CHAR(16) - лицевой счет, t1_n6 NUMERIC(15,2) - остаток Если по счету "Х" установлен срок с 24.06.2016 по 22.07.2016, когда формирую отчет с 18.07.2016 по 24.07.2016, тогда у меня Код: sql 1.
проверяет все даты, до срока 22.07.2016 включает в РАСЧЕТ, а за 23.07.2016 и 24.07.2016 не включает в РАСЧЕТ, но договор не закрыть, а значит остаток не равно 0. Если договор не закрылся, мы должны продолжать вкл остаток в РАСЧЕТ до закрытия договора. У меня проблемы с дополнительным условием :( не получается. Уже 4 месяца мучаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:42 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Ребята помогите. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:44 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Н-р, в таблице PROCLCDT: PL_LC = Х, PL_DATE1 = 24.06.2016, PL_DATE2 = 22.07.2016. в курсоре TEMPVO t1_lc = Х - лицевой счет, t1_n6 = 5000 - остаток. Код: sql 1.
Когда формирую отчет, получаю след данные в EXCEL: 18.07.2016 = 5000 19.07.2016 = 5000 20.07.2016 = 5000 21.07.2016 = 5000 22.07.2016 = 5000 23.07.2016 = 0 24.07.2016 = 0 Срок договора истек 22.07.2016, но не закрыть, а значит мы знаем, что остаток 5000 и должны вкл в РАСЧЕТ до закрытия договора. В отчете должны быть такие цифры: 18.07.2016 = 5000 19.07.2016 = 5000 20.07.2016 = 5000 21.07.2016 = 5000 22.07.2016 = 5000 23.07.2016 = 5000 24.07.2016 = 5000 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 12:58 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Судя по теме, программирование не есть Ваша основная работа. Вы просто не понимаете о чем Вас спрашивают и что Вы делаете "не так". Тогда попробуйте совсем "тупой" вариант Код: sql 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. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 13:17 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Млин, ну хоть таблицу то можешь тут нарисовать? Курсор PROCLCDT PL_LCPL_DATE1PL_DATE2...Х24.06.201622.07.2016............... дозаполни, добавь поля которые в коде упоминаются, и данные чтобы были те что должны попасть, те что не должны и те что должны но не попадают. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 13:24 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
Dima TМлин, ну хоть таблицу то можешь тут нарисовать? Курсор PROCLCDT PL_LCPL_DATE1PL_DATE2...Х24.06.201622.07.2016............... дозаполни, добавь поля которые в коде упоминаются, и данные чтобы были те что должны попасть, те что не должны и те что должны но не попадают. Курсор Tempvo: t1_lct1_n6Х5000 Курсор PROCLCDT: PL_LCPL_DATE1PL_DATE2Х19.11.201418.03.2015Х25.01.201621.06.2016Х24.06.201622.07.2016 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 13:53 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМСудя по теме, программирование не есть Ваша основная работа. Вы просто не понимаете о чем Вас спрашивают и что Вы делаете "не так". Тогда попробуйте совсем "тупой" вариант Код: sql 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. 26. 27. 28.
"тупой" вариант увеличивает сумму в 3 раза. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 13:56 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ВладимирМСудя по теме, программирование не есть Ваша основная работа. Вы просто не понимаете о чем Вас спрашивают и что Вы делаете "не так". Тогда попробуйте совсем "тупой" вариант Заставляют :( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 14:00 |
|
Перебор строк в таблице
|
|||
---|---|---|---|
#18+
ularsoftЗаставляют :( Электричество пропадет, скажут лезь в трансформаторную будку, почини. Тоже полезешь? Владимир правильно написал что ты даже не понимаешь что от тебя просят. Мы тут не телепаты. Я у тебя прошу то что мне необходимо увидеть чтобы понять логику работы твоего кода. Я уже самый простейший вариант предложил, от руки набить табличку и показать данные из полей которые используются в коде. И чего ты набил? Я вижу в коде поле pl_lc, а в таблице не вижу. Если планируешь и дальше продолжать писать только "помогите", то это в форум работа, с указанием суммы вознаграждения. Помогут. Гарантирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 14:20 |
|
|
start [/forum/topic.php?fid=41&msg=39283792&tid=1582077]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 178ms |
0 / 0 |