У меня не получается сделать выводы из темы (причем раньше я боролась с или на разные поля и получилось, должно было бы быть легче, но снова грабли только другого цвета)
Задача. Есть таблица проводок по кассе.
Дата задается дважды:
1. запрос , в котором пользователь выбирает периода типа 010108..31.01.08
2. в процессе обработке мне надо уточнить, что есть даты, которые не входят в период. Я их занесла в контейнер
X++:
strRangeDate = element.query().dataSourceTable(tablenum(RCashTrans)).findRange(fieldnum(RCashTrans,TransDate)).value();
qbrDate = qbdsTO.addRange(fieldnum(RCashTrans,TransDate));
strRangeDate1 = "(%1 == "+strRangeDate+')';
for (numRec=1; numRec <= conlen(line); numRec++)
{
strRangeDate1 += '&&(%1 != '+conpeek(line,numRec)+')';
}
qbrDate.value(strFmt(strRangeDate1, fieldStr(RCashTrans, TransDate)));
На сию фигню программа реагирует так
Info Сообщение (21:16:10) Начало формирования графиков кассы - 09.16.04 pm
Error Сообщение (21:16:10) Невозможно выбрать запись в 'Проводки по касcе' ('RCashTrans') Касса: , .
База данных SQL обнаружила ошибку.
Info Сообщение (21:16:10) Описание ошибки SQL: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting datetime from character string.
Info Сообщение (21:16:10) Оператор SQL:
Код:
SELECT A.VOUCHER,A.TRANSDATE,A.CURRENCYCODE,A.AMOUNTCUR,A.AMOUNTMST,A.DIMENSION,A.DIMENSION2_,A.DIMENSION3_,A.DIMENSION4_,A.DIMENSION5_,A.DIMENSION6_,A.DIMENSION7_,A.DIMENSION8_,A.TXT,A.ACCOUNTNUM,A.OFFSETACCOUNTTYPE,A.DOCID,A.DOCTYPE,A.OFFSETACCOUNTNUM,A.OFFSESSIONID,A.LEDGERACCOUNT,A.ATTACHMENTNUM,A.RPAYTRANSTYPE,A.TRANSSTATUS,A.DOCTAXVALUE,A.POSTED,A.OFFSETLEDGERACCOUNT,A.DOCREPRESPERSONID,A.ATTACHEMENTDATE,A.DOCSALESTAXVALUE,A.MANUALDOCID,A.CONTRACTCODE,A.CONTRACTACCOUNT,A.REFRECID,A.DOCREPRESTYPE,A.RECID,B.DIMCF,B.DIMCF2_,B.DIMCF3_,B.DIMCF4_,B.DIMCF5_,B.DIMCF6_,B.DIMCF7_,B.DIMCF8_,B.VENDNUM,B.CONRACTNUM,B.CONTRACTCODE,B.RECID,A.PAYMENTNOTES FROM RCASHTRANS A,TREASURYCASHFORBUDGET_CAT B WHERE ((A.DATAAREAID='01r') AND (A.TRANSDATE={ts '2124-40-01 00:00:00.000'})) AND ((B.DATAAREAID='v01') AND (A.DIMENSION5_=B.DIMCF5_)) ORDER BY A.DATAAREAID,A.TRANSDATE,A.DIMENSION5_,A.DIMENSION3_,A.DIMENSION2_ OPTION(FAST 22)
Причем мне не ясно как работать с тем фактом, что пользователь задает период. Ведь он не пишет конкретную дату.