|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Здравствуйте. Надо распечатать накладных. В этом проблема нет. Проблема в том что, надо сделать так что пустые накладные не печаталось. Например, 4-й, 5-й, 9-й, 11-й, 12-й и т.д. пустые накладные не должно печататься. Как можно делать такое? Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 22:37 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
А конкретнее? Как-то лениво разбираться в корябушках, написанных в абсолютно неинформативном стиле. Единственное, за что зацепился глаз - replace all внутри цикла, оно там точно необходимо? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 06:13 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
tanglir, Постараюсь объяснить. Есть 2 таблица: 1) QZT_İNF.DBF - здесь находится полученные товары за каждый день для каждого клиента (Klient1, Klient2,...) 2) ABN_INF.DBF - информация о клиента (цена для конкретного клиента (A_QIY и т. д.)) В распечатках накладных проблема нет, проблема в том что, если клиент за сегодня товары не получил (например клиент4, клиент5, клиент9,,,,,) надо чтобы эти накладные не печатался ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 17:00 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
astadпроблема в том что, если клиент за сегодня товары не получилПроблема в том, что никто не собирается догадываться, как у вас организовано хранение информации о движении товаров, если вы сами об этом внятно не расскажете. Названия полей мало что говорят русскоязычному человеку, да и англоязычному тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 05:38 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Вы должны дать определение "пустые накладные", и это условие поставить в программу... т.е. "Накладная является пустой, если...и т.д." ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 07:27 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
q1w1e1, Накладная является пустой, если это поле вообще пуста. Если поле пуста, программа должна проверить следующие поле. Я хотел что-то делать, но пока не получается у меня т,е, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 16:43 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Пустое поле это не заполненное поле(туда не вводились данные), тогда empty(), т.к. суммирование может дать и 0 и меньше 0, то я бы сделал locate for not ermty(P1), т.е. если есть хотя бы одна запись с непустым значением данного поля, то проверяем следующее (можно и count вместо locate, но будет дольше не микросекунды..:-)) В Вашем случае IF S10<=0 && Если поле пуста MC=MC+1 && программа должна проверить следующие поле ENDIF IF S20<=0 && Если поле пуста MC2=MC2+1 && программа должна проверить следующие поле P2=FIELD(MC2) ENDIF то просто исправьте заоментированное условие в Вашей программе * IF s_fl1 <> 0 .OR.s_fl2 <> 0 REPORT FORM raza prev * ENDIF на IF S10<=0 .and. S20<=0 && если два поля пустых, то не печатаем else REPORT FORM raza prev ENDIF ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 05:52 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
q1w1e1, не, не помогает. Я еще что-то делал, но, ничего не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 18:59 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
astad, если не можешь не то что сделать, а даже объяснить что хочешь сделать - найми того кто сделает. В итоге это будет дешевле. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 19:30 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Dima T, почему не могу объяснить? Просто, мне трудно на русском объяснить. Есть 2 таблица: 1) QZT_İNF.DBF - здесь находится полученные товары за каждый день для каждого клиента (Klient1, Klient2,...) 2) ABN_INF.DBF - информация о клиента (цена для конкретного клиента (A_QIY и т. д.)) Надо распечатать в одном листе 2 накладных. Если клиент за сегодня товары не получил (например клиент4, клиент5, клиент9,,,,,эти поле пуста) надо чтобы эти накладные не печатался. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 19:54 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
в таком случае, надо к программе приложить эти файлы DBF в двух вариантах, когда надо печатать накладные, и когда накладные не должны печататься, сам report не нужен, в условии достаточно заменить на wait window, предварительно удалив из таблиц секретную инфу(персон. данные и т.д.)... и надо удалить все лишние записи, чтоб уменьшить объём таблиц... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 05:23 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
astadЕсли клиент за сегодня товары не получилОт вас пытаются добиться объяснения, как процитированное выглядит в терминах таблиц и полей. Типа "клиент за сегодня товары не получил" = "сумма полей А,Б,В из записей таблицы Г, подходящих под условие Д=Е, равна нулю". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 06:40 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Сейчас, по другому буду задавать свой вопрос. Ест одна таблица. Надо по 2 группировать (распечатать) все не пустые поле. Например, в моем примере : 1-я группа будет Klient1 и klient2, потому что обе поле не пуста. 2-я группа Klient3 и klient5, потому что в klient4 все записи пустые. 3-я группа Klient6 и klient10, потому что в klient7, klient8, klient9 все записи пустые. 4-я группа Klient13 и klient17, потому что в klient11, klient12, klient14 , klient15, klient16 все записи пустые. 5-я группа Klient18 и klient20, потому что в klient19 все записи пустые. Я понимаю что моя ошибка где-то в проверка условие (IF...ENDIF), а конкретнее если поле пуста в перейти на следующие поле. Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2015, 22:06 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Во, этот код уже можно читать. Вместо for-цикла делаете while типа такого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 06:20 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
А вообще если система ваша, то почитайте про нормализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 06:21 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
В общем таблица ненормализована, но критикой заниматься не буду делают так или не не делают, если извращаться, то по полной программе..:-) Делаем afilds(xxx) для вашей таблицы далее идём по этому массиву, и проверяем сумму клиента, если 0, то удаляем эту строчку... после того, как массив готов с клиентами, где сумма >0, создаём временную таблицу create table from xxx и добавляем туда записи из первой таблицы append from газетная инфа и после печатаем накладные....по созданной таблице... Второй вариант, создаём строку SQL str_sql="select " Цикл по вашей таблице if sum>0 то str_sql=str_sql+" SUM(Qzt_inf.klient"+alltrim(str(номер клиента))+") as klient"+alltrim(str(номер клиента))+", " endfor str_sql=substr(str_sql,1,len(str_sql)-2) Всё, команда SQL готова запускаем на выполнение, опять же получаем таблицу с необходимыми клиентами и печатаем... Вариант 3 Ладно удачи... всё примерно, главное идея, типа формируем нужную таблицу с нужными полями, т.к. таблица ненормализована и запускаем уже вашу программу ...:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 07:01 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
пардон, не видел, что ответ уже написан, моё сообщение можно не читать... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 07:02 |
|
Распечатка накладных
|
|||
---|---|---|---|
#18+
Спасибо, tangir, по моему этот код - то что мне надо, но пока точно не проверил. tanglir Но я не разбирался, почему у вас условие на fcount-2 - может, надо на просто fcount поменять. И скорее всего в каждом подцикле придётся добавить проверку на превышение mcount над fcount. А последные 2 поле -не "клиенты". Эти поле я использую для отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 11:01 |
|
|
start [/forum/topic.php?fid=41&msg=39113508&tid=1582207]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 130ms |
0 / 0 |