Вызво окна "wnd_CashflowEdit" с помощью действия процесса "Открытие окна"
Здравствуйте!
Пытаюсь в процессе вызвать карточку редактирования раздела "Операции", но при выполнении процесса "вываливается" следующая ошибка:
Подозреваю, что надо задать какие-то атрибуты окна. Вопрос - какие?
Нравится
Добрый день!
Пробовал повторить ошибку на версии 3.4.0.106, сбоя не произошло.
Укажите, пожалуйста, Вашу версию.
Да действительно забыл указать версию и ОС:
1. build - 3.4.0.101;
2. OC - Windows 7.
Геннадий, проверил на конфигурации 3.4.0.106, все отрабатывает корректно, при создании новой записи
Просьба уточнить версию конфигурации
-
1) В Terrasoft Administrator посмотрите
2) SQL Server Management Studio выполните запрос
SELECT * FROM [tbl_DatabaseInfo]
Геннадий, проблема в том что ошибка в самом датасете ds_Cashflow. Проверьте соотношение полей к сапросу SQ
Выше уже упомянул версию сборки и на всякий случай ОС.
Я так понял мне надо обновить конфиграцию!
Каким образом я могу это сделать? Судя по документации это возможно сделать получив от вас пакет обновлений.
Я проверил сначала датасет, а потом запрос! На мой взгляд, там ошибок нет. Можете выложить "свои" версии запроса и датасета?
Или вопрос снимется после обновления конфигурации?
Геннадий, данная проблема, не связана с версией конфигурации. Подробности про процесс обновления конфигурации с коммерческой стороны вы можете узнать у Вашего отвественного менеджера. Я бы советовал Вам переходить на более новую версию (на 3.4.1, когда она выйдет). С технической стороны, пакет обновления представляет собой разницу в сервисах XML, также дополнительно учитываются доработки на стороне базы данных (хранимые процедуры, функции, триггера)
Понял вас, Алексей!
А, что с ошибкой делать? С датасетом насколько я могу судить все в порядке!
Алексей, я не могу определить причину возникновения ошибки но... могу описать, при какой ситуации возникает баг.
Если рассматривать работу раздела, то все ОК и датасет как я и говорил работает отлично.
Ошибка специфична для инструментария БП и возникает только при определенных условиях. Прикрепляю архив с двумя процессами. Один процесс позволяет показать карточку, а второй - нет!
twowf.rar
Геннадий , воспроизвел ошибку в БП wd_ReceiptWarehouseProductsFromSupplier
Ошибка возникает на уровне БД, в запросе который посылает клиент Terrasoft'a
exec sp_executesql N'SELECT [tbl_Cashflow].[ID] AS [ID], [tbl_Cashflow].[EstimatedDate] AS [EstimatedDate], [tbl_Cashflow].[ActualDate] AS [ActualDate], [tbl_Cashflow].[Description] AS [Description], ................ [dbo].[tbl_Purchases] AS [tbl_Purchases] ON [tbl_Purchases].[ID] = [tbl_Cashflow].[PurchaseID] LEFT OUTER JOIN [dbo].[tbl_CashflowType] AS [tbl_CashflowType] ON [tbl_CashflowType].[ID] = [tbl_Cashflow].[TypeID] WHERE([tbl_Cashflow].[ID] = @P1)',N'@P1 varchar(8000)','5'
А именно в строчке
([tbl_Cashflow].[ID] = @P1)',N'@P1 varchar(8000)','5'
Так как мы сравниваем uniqueidentifier ([tbl_Cashflow].[ID] ) с '5'
где 5, это количество сколько раз мы запускали процесс.
Решение:
В параметре БП : CashflowID
удалите связь с действием Открытие окна "Создание операции" так что бы элемент "Создание операции" выглядел следующим образом
Замечу, что запрос посылаемый в БД Terrasoft можно восотреть вот так
Спасибо, Алексей!
Так действительно работает! Не подскажете как получить ID созданной операции?
З.Ы. Информация о профайлере действительно очень полезна.
Геннадий, создайте новый параметр БП, и назовите его иначе, чем CashflowID, например CashflowIDInOpenWindow, далее в действии "Открыть окно" укажите его в качестве параметра содержащего ID
Сервисы БП и скрипта, который проверяет значения параметра, во вложении
Спасибо, Алексей. Последний вопрос. Чтобы предотвратить подобные ситуации может быть мне стоит всем параметрам добавить какой-нибудь префикс? Или я не столкнусь с такой проблемой при использовании других карточке?
Ганнадий, рассмотрел вопрос более детально.
Цифра при сравнении, возникает из-за того что в действии "Получение данных о поставщике" по процесу wd_ReceiptWarehouseProductsFromSupplier мы сохраняем номер операции в параметр Операции (CashflowID)
Это и есть причиной возникновения ошибки
В общем случае параметры БП, отрабатывают корректно, и дополнительные префиксы устанавливать не нужно.