BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / CashOrder():New() Ошибка создания экземпляра класса!

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
CashOrder():New() Ошибка создания экземпляра класса!
 
B5SP32FIX3

Вызов спецфункции из Финансы->Кассовая книга

Описание объекта взял из : ..xHarbour/common/cash.prg >> CLASS CashOrder FROM AbsClass





.../EXTENSNS/PAY/utst.prg
________________________________________________________________________

fnMain()

PROCEDURE fnMain()
ALTD()

dbPush()
fnNewCashOrder()
dbPop()


RETURN

PROCEDURE fnNewCashOrder()
LOCAL oCsh

oCsh := CashOrder():New() --- Error1 descripotion: Неисправимая ошибка 1237708: Функция __CLSINST
--- dop1 Ошибка создания экземпляра класса!

// oCsh:Main_Schet := "501"
// oCsh:VType := "П/О"
// oCsh:NNDOC := "000002"
// oCsh:DATAOPER := Date()

oCsh:Add()
RETURN

В чём моя ошибка?
Изменено: Андрей Зиганьшин - 22.02.2015 00:25:55
 
// Функция для создания, редактирования, удаления и печати документов АРМа "Денежные средства"
PAY_CLS.BDLL
// FUNCTION CreateEditPrintFinDoc(cEditMode, cShowMode, aDocSeek, aDocFields, aErrMsg)
// Пока работает для следующих видов документов:
// 'Р/О', 'П/О', 'П/П', 'ЗКР', 'СВЕ', 'ЗИЗ'
// Параметры:
// cEditMode - строка, задающая действие, которое надо выполнить с документом. Возможны следующие значения:
// 'APPEND' - создать новый документ
// 'DELETE' - удалить существующий документ
// 'EDIT' - изменить(редактировать) документ
// 'PRINT_F9' - печать по шаблону, который установлен по-умолчанию
// 'PRINT_ALTF9' - пучать документа с выбором шаблона.
// cShowMode - строка, определяющая режим показа документа для cEditMode = 'APPEND' или cEditMode = 'EDIT'. Возможные значения:
// 'SHOW' - показать документ
// 'NOSHOW' - не показывать документ
// 'SHOWONERROR' - показать документ только в том случае, если при сохранении документа возникли ошибки.
// aDocSeek - массив, определяющий правило поиска документа (для cEditMode = 'APPEND' можно передавать пустой массив)
// Формат массива: aDocSeek := {Тэг_по_которому_выполняется_поиск, Значение_которое_надо_найти}.
// Пример: aDocSeek := {'TAG_ID', 'AЫRNКП7OБKЦFМП5АЫОБ4ЩМ'}
// aDocFields - массив значений полей документа. Этот массив надо задавать для cEditMode = 'APPEND' и cEditMode = 'EDIT'
// Формат массива: aDocFields := {;
// {Имя_поля, Значение},;
// {Имя_поля, Значение},;
// ...
// {Имя_поля, Значение},;
// {Имя_объекта_с_дочерними_строками,;
// {;
// {Имя_поля_для_поиска, Значение_поля_для_поиска, Действие_выполняемое_с_найденной_строкой},;
// {Имя_поля, Значение},;
// {Имя_поля, Значение},;
// ...
// {Имя_поля, Значение},;
// };
// },;
// ...
// {Имя_объекта_с_дочерними_строками,;
// {;
// {Имя_поля__для_поиска, Значение_поля_для_поиска, Действие_выполняемое_с_найденной_строкой},;
// {Имя_поля, Значение},;
// {Имя_поля, Значение},;
// ...
// {Имя_поля, Значение},;
// };
// };
// }
// Для заполнения строк документа элемент "Имя_объекта_с_дочерними_строками" может принимать значения:
// 'BUDEXP' - строка расшифровки документа
// 'FINTAX' - налоговые строки по документу
// 'DOCREC' - дополнительные реквизиты документа или строки расшифровки
// Элемент {Имя_поля_для_поиска, Значение_поля_для_поиска, Действие_выполняемое_с_найденной_строкой}
// можно задавать только для cEditMode = 'EDIT':
// В строках документа будет выполняться поиск строки, у которой в поле Имя_поля_для_поиска (здесь может быть задано выражение)
// находится значение Значение_поля_для_поиска и с этой строкой будет выполнено
// действие Действие_выполняемое_с_найденной_строкой ('EDIT' - редактировать, 'DELETE' - удалить)
// Пример для добавления строки:
// aDocFields := {;
// {'DOC_NUM', '000010'},;
// {'DOC_DATE', CTOD('08/07/2011')},;
// {'OPER_DATE', CTOD('08/07/2011')},;
// {'MV_CODE', '20'},;
// {'DOC_CODE', 'П/о'},;
// {'DIR', '1'},;
// {'FIN_CTG', '2'},;
// {'OBJ_ID', 'BLМ3FМMFП4ЦХКЪSХ6QGYWG'},;
// {'PRT_TP', '1'},;
// {'PRT_ID', 'Б2ТYЗYMWHР2DWНUФR1LЪБG'},;
// {'ACNT_ID', 'SHMТCЧШОXKЦСЙТШЦNЧSУМ0'},;
// {'CURR', 'РУБ'},;
// {'RATE', 1},;
// {'SUM_C', 700},;
// {'SUM', 700},;
// {'STATUS', '0'},;
// {'DOC_DIM', '000004-000003'},;
// {'DOP_NUM', '000000000000008'},;
// {'TABN', '000008'},;
// {'FIO', 'Батюк Елена Матвеевна'},;
// {'PASP_TP', 'Паспорт СССР'},;
// {'PASP_NUM', 'XI-СБ 998877'},;
// {'PASP_DATE', CTOD('09/10/2003')},;
// {'PASP_OVD', '12 о/м г. Москвы'},;
// {'BUDEXP',;
// {;
// {'REC_TP', 'D'},;
// {'EXP_DIM_TP', '10'},;
// {'EXP_DIM', '000001- 011'},;
// {'SUM_KR', 300},;
// {'FIN_TP', '1'},;
// {'DOCREC',;
// {;
// {'CODE', 'Р2'},;
// {'VALUE', 'Знач. рекв. 2'};
// };
// };
// };
// },;
// {'BUDEXP',;
// {;
// {'REC_TP', 'D'},;
// {'EXP_DIM_TP', '10'},;
// {'EXP_DIM', '000002- 018'},;
// {'SUM_KR', 400},;
// {'FIN_TP', '1'};
// };
// },;
// {'DOCREC',;
// {;
// {'CODE', 'Р1'},;
// {'VALUE', 'Значение реквизита 1'};
// };
// };
// }
// Пример для редактирования строки:
// aDocFields := {;
// {'SUM_A', 500},;
// {'BUDEXP',;
// {;
// {'EXP_DIM', '212-055-0901-4700000-455', 'EDIT'},;
// {'SUM_LBO', 200};
// };
// };
// }
// aErrMsg - массив строк с ошибками, возникшими при работе функции (надо передавать по ссылке)
// В конце файла clsOBJ_FINDOC.PRG есть пример тестовой функции для отладки CreateEditPrintFinDoc(...)
 
Ура, спасибо!!!
А где взять clsOBJ_FINDOC.PRG ?
Изменено: Андрей Зиганьшин - 25.02.2015 23:46:43
 
Сам по себе этот исходник не нужен, он уже скомпилирован.
Вот пример отладки, на упоминании о котором заканчивается предыдущий пример.


Код
// Пример тестовой функции для создания, удаления, редактирования и печати документов
//   ::TestFinObj('APPEND') - создать документ
//   ::TestFinObj('DELETE') - удалить документ
//   ::TestFinObj('EDIT') - редактировать документ
//   ::TestFinObj('PRINT_F9') - печатать по шаблону, заданному по-умолчанию
//   ::TestFinObj('PRINT_ALTF9') - печатать с выбором шаблона для печати
//FUNCTION TestFinObj(cEditMode) class frmReasonsRee
//  LOCAL aDocSeek := {}
//  LOCAL aDocFields := {}
//  LOCAL aErrMsg := {}
//  LOCAL lRet, cErrMsg := '', nInd
//
//  MessageBox('TestFinObj:' + cEditMode)
//
//  DO CASE
//    CASE cEditMode == 'APPEND'
/*
      aDocFields := {;
        {'DOC_NUM', '000010'},;
        {'DOC_DATE', CTOD('08/07/2011')},;
        {'OPER_DATE', CTOD('08/07/2011')},;
        {'MV_CODE', '20'},;
        {'DOC_CODE', 'П/о'},;
        {'DIR', '1'},;
        {'FIN_CTG', '2'},;
        {'OBJ_ID', 'BLМ3FМMFП4ЦХКЪSХ6QGYWG'},;
        {'PRT_TP', '1'},;
        {'PRT_ID', 'Б2ТYЗYMWHР2DWНUФR1LЪБG'},;
        {'ACNT_ID', 'SHMТCЧШОXKЦСЙТШЦNЧSУМ0'},;
        {'CURR', 'РУБ'},;
        {'RATE', 1},;
        {'SUM_C', 700},;
        {'SUM', 700},;
        {'STATUS', '0'},;
        {'DOC_DIM', '000004-000003'},;
        {'DOP_NUM', '000000000000008'},;
        {'TABN', '000008'},;
        {'FIO', 'Батюк Елена Матвеевна'},;
        {'PASP_TP', 'Паспорт СССР'},;
        {'PASP_NUM', 'XI-СБ 998877'},;
        {'PASP_DATE', CTOD('09/10/2003')},;
        {'PASP_OVD', '12 о/м г. Москвы'},;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '000001-   011'},;
            {'SUM_KR', 300},;
            {'FIN_TP', '1'},;
            {'DOCREC',;
              {;
                {'CODE', 'Р2'},;
                {'VALUE', 'Знач. рекв. 2'};
              };
            };
          };
        },;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '000002-   018'},;
            {'SUM_KR', 400},;
            {'FIN_TP', '1'};
          };
        },;
        {'DOCREC',;
          {;
            {'CODE', 'Р1'},;
            {'VALUE', 'Значение реквизита 1'};
          };
        };
      }
*/
/*
      aDocFields := {;
        {'DOC_NUM', '000004'},;
        {'DOC_DATE', CTOD('07/09/2011')},;
        {'OPER_DATE', CTOD('07/09/2011')},;
        {'MV_CODE', '09'},;
        {'DOC_CODE', 'ЗКР'},;
        {'DIR', '2'},;
        {'FIN_CTG', '1'},;
        {'OBJ_ID', '3ГDХДIAФНРUПВCРМТIАБFG'},;
        {'PRT_TP', '1'},;
        {'PRT_ID', 'CVLУ0AJКVKMCG785ШЦЦKJW'},;
        {'CURR', 'РУБ'},;
        {'RATE', 1},;
        {'SUM_C', 750},;
        {'SUM', 750},;
        {'STATUS', '2'},;
        {'TAX_MOD_ID', 'V05DФЫ0ГПKAHГЖUФWAЪСКW'},;
        {'DOP_NUM', '000000000300400'},;
        {'REG_NUM', '333'},;
        {'REG_DATE', CTOD('07/09/2011')},;
        {'M_ACNT_ID', 'БФGСX8Z6ВKEC3IYLЕQ5TWG'},;
        {'M_ACNT_BNK', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'P_ACNT_ID', '2БЗF4ЖP7Y4КLЦШYЪЪAЕФК0'},;
        {'PAY_DATE', CTOD('07/09/2011')},;
        {'R_ID', 'JJPШЕЗНHТH6ЧЖG04TXFМLG'},;
        {'FO_ID', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'KORR_ACNT', '0430222'},;
        {'KORR_DIM', '000005'},;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '220-055-0901-4700000-455'},;
            {'SUM_KR', 750},;
            {'PRIM', 'Назначение'},;
            {'STR_TP', '61'},;
            {'FIN_TP', '1'},;
            {'DOP_DIM_TP', '10'},;
            {'DOP_DIM', '222-055-0901-4700000-456'},;
            {'PRIM1', 'Примечание'};
          };
        };
      }
*/
/*
      aDocFields := {;
        {'FIN_CTG', '1'},;
        {'OBJ_ID', '3ГDХДIAФНРUПВCРМТIАБFG'},;
        {'DIR', ' '},;
        {'DOC_NUM', '000002'},;
        {'DOC_DATE', CTOD('09/09/2011')},;
        {'OPER_DATE', CTOD('')},;
        {'PL_DATE', CTOD('')},;
        {'PRT_ID', 'JJPШЕЗНHТH6ЧЖG04TXFМLG'},;
        {'CURR_A', 'РУБ'},;
        {'CURR_P', 'РУБ'},;
        {'SUM_LBO', 300},;
        {'DOC_CODE', 'СМЕ'},;
        {'MOVE_TP', '60'},;
        {'DOP_NUM', '0000000000002'},;
        {'SUM_LBO1', 300},;
        {'ADV_SUM', 300},;
        {'STATUS', '0'},;
        {'DEST_YEAR', '2011'},;
        {'M_ACNT_ID', 'БФGСX8Z6ВKEC3IYLЕQ5TWG'},;
        {'M_ACNT_BNK', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'BUD_LEV', '1'},;
        {'FO_ID', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '20'},;
            {'EXP_DIM', '100-055-1010201001-1000'},;
            {'SUM_LBO', 100},;
            {'EX_YEAR', '2011'},;
            {'STR_TP', '51'},;
            {'FIN_TP', '2'},;
            {'LIC_STRNUM', '1'};
          };
        },;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '20'},;
            {'EXP_DIM', '110-055-1010202001-1000 '},;
            {'SUM_LBO', 200},;
            {'EX_YEAR', '2011'},;
            {'STR_TP', '51'},;
            {'FIN_TP', '2'},;
            {'LIC_STRNUM', '2'};
          };
        },;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '200-055-0901-4700000-067'},;
            {'SUM_LBO', 300},;
            {'EX_YEAR', '2011'},;
            {'STR_TP', '51'},;
            {'FIN_TP', '2'},;
            {'LIC_STRNUM', '3'};
          };
        };
      }
*/
/*
      aDocFields := {;
        {'FIN_CTG', '1'},;
        {'OBJ_ID', '3ГDХДIAФНРUПВCРМТIАБFG'},;
        {'DIR', '2'},;
        {'DOC_NUM', '000002'},;
        {'DOC_DATE', CTOD('09/09/2011')},;
        {'OPER_DATE', CTOD('')},;
        {'PL_DATE', CTOD('')},;
        {'PRT_ID', 'CVLУ0AJКVKMCG785ШЦЦKJW'},;
        {'CURR_A', 'РУБ'},;
        {'SUM_A', 700},;
        {'CURR_P', 'РУБ'},;
        {'SUM_LBO', 700},;
        {'DOC_CODE', 'СВЕ'},;
        {'MOVE_TP', '50'},;
        {'DOP_NUM', '000000000000002'},;
        {'ADV_RATE', 300},;
        {'ADV_SUM', 2100},;
        {'BEG_DT_A', CTOD('01/01/2011')},;
        {'END_DT_A', CTOD('31/12/2011')},;
        {'STATUS', '0'},;
        {'M_ACNT_ID', 'БФGСX8Z6ВKEC3IYLЕQ5TWG'},;
        {'M_ACNT_BNK', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'P_ACNT_ID', '2БЗF4ЖP7Y4КLЦШYЪЪAЕФК0'},;
        {'R_ID', 'JJPШЕЗНHТH6ЧЖG04TXFМLG'},;
        {'BUD_LEV', '1'},;
        {'FO_ID', 'Ч9ELQMHЗOKОЛ5ДKPOTЙ0PМ'},;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '210-055-0901-4700000-067'},;
            {'SUM_LBO', 300},;
            {'PRIM', 'Предмет ДО'},;
            {'EX_YEAR', '2011'},;
            {'STR_TP', '41'},;
            {'EX_MON', '03'},;
            {'FIN_TP', '1'},;
            {'PRIM1', 'Примечание'};
          };
        },;
        {'BUDEXP',;
          {;
            {'REC_TP', 'D'},;
            {'EXP_DIM_TP', '10'},;
            {'EXP_DIM', '212-055-0901-4700000-455'},;
            {'SUM_LBO', 400},;
            {'EX_YEAR', '2011'},;
            {'STR_TP', '41'},;
            {'EX_MON', '04'},;
            {'FIN_TP', '1'};
          };
        };
      }
*/
//      aDocFields := {;
//        {'DOC_NUM', '000018'},;
//        {'DOC_DATE', CTOD('30/12/2010')},;
//        {'MV_CODE', '09'},;
//        {'DOC_CODE', 'П/п'},;
//        {'DIR', '2'},;
//        {'FIN_CTG', '1'},;
//        {'OBJ_ID', 'АVРM3PЦCUАY79УЖVUЧ09DG'},;
//        {'PRT_TP', '1'},;
//        {'PRT_ID', '1L1KGDП6SРЦHНИЕШГ8ЧFKW'},;
//        {'CURR', 'РУБ'},;
//        {'RATE', 1},;
//        {'SUM_C', 120},;
//        {'SUM', 120},;
//        {'COMMENT', '123'},;
//        {'STATUS', '0'},;
//        {'DOP_NUM', '000000000000020'},;
//        {'M_ACNT_ID', 'ЗM9ZВ9M68АEЪОSOW0P9ЧFG'},;
//        {'P_ACNT_ID', 'HCFRВ4РШСKЪПVДMEФДБАM0'},;
//        {'PL_QUE', '1'};
//      }
//    CASE cEditMode == 'DELETE'
//      aDocSeek := {'TAG_ID', 'YБ9АYHБВKKОП8JUНBTШЧAW'}
//    CASE cEditMode == 'EDIT'
//      aDocSeek := {'TAG_ID', 'YБ9АYHБВKKОП8JUНBTШЧAW'}
/*
      aDocFields := {;
        {'SUM_A', 500},;
        {'BUDEXP',;
          {;
            {'EXP_DIM', '212-055-0901-4700000-455', 'EDIT'},;
            {'SUM_LBO', 200};
          };
        };
      }
*/
//      aDocFields := {;
//        {'SUM', 25},;
//        {'SUM_C', 25};
//      }
//    CASE cEditMode == 'PRINT_F9'
//      aDocSeek := {'TAG_ID', 'AЫRNКП7OБKЦFМП5АЫОБ4ЩМ'}
//    CASE cEditMode == 'PRINT_ALTF9'
//      aDocSeek := {'TAG_ID', 'PЛЩДУB1HФР2S7XH0ЕЙO3ШМ'}
//  ENDCASE
//
//  lRet := CreateEditPrintFinDoc(cEditMode, 'SHOW', aDocSeek, aDocFields, @aErrMsg)
//
//  IF LEN(aErrMsg) > 0
//    FOR nInd := 1 TO LEN(aErrMsg)
//      IF nInd > 1
//        cErrMsg := cErrMsg + CHR(13) + CHR(10)
//      ENDIF
//      cErrMsg := cErrMsg + aErrMsg[nInd]
//    ENDFOR
//    MessageBox(cErrMsg)
//  ENDIF
//RETURN lRet
 
С уважением, Новиков Алексей.
 
Спасибо Вам добрый человек :)

// aErrMsg - массив строк с ошибками, возникшими при работе функции (надо передавать по ссылке)

lRet := CreateEditPrintFinDoc(cEditMode, 'SHOW', aDocSeek, aDocFields, @aErrMsg)

Я уж думал, ум за разум заехал. Компилятор выдавал синтаксическую ошибку.
Изменено: Андрей Зиганьшин - 26.02.2015 13:49:52
Страницы: 1
Читают тему (гостей: 1)