Вызво окна "wnd_CashflowEdit" с помощью действия процесса "Открытие окна"

Здравствуйте!

Пытаюсь в процессе вызвать карточку редактирования раздела "Операции", но при выполнении процесса "вываливается" следующая ошибка:

Подозреваю, что надо задать какие-то атрибуты окна. Вопрос - какие?

Нравится

14 комментариев

Добрый день!
Пробовал повторить ошибку на версии 3.4.0.106, сбоя не произошло.
Укажите, пожалуйста, Вашу версию.

Да действительно забыл указать версию и ОС:
1. build - 3.4.0.101;
2. OC - Windows 7.

Геннадий, проверил на конфигурации 3.4.0.106, все отрабатывает корректно, при создании новой записи
1
Просьба уточнить версию конфигурации

    1) В Terrasoft Administrator посмотрите
    1

    2
    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
3
удалите связь с действием Открытие окна "Создание операции" так что бы элемент "Создание операции" выглядел следующим образом
4

Замечу, что запрос посылаемый в БД Terrasoft можно восотреть вот так

Спасибо, Алексей!
Так действительно работает! Не подскажете как получить ID созданной операции?

З.Ы. Информация о профайлере действительно очень полезна.

Геннадий, создайте новый параметр БП, и назовите его иначе, чем CashflowID, например CashflowIDInOpenWindow, далее в действии "Открыть окно" укажите его в качестве параметра содержащего ID
1
Сервисы БП и скрипта, который проверяет значения параметра, во вложении

Спасибо, Алексей. Последний вопрос. Чтобы предотвратить подобные ситуации может быть мне стоит всем параметрам добавить какой-нибудь префикс? Или я не столкнусь с такой проблемой при использовании других карточке?

Ганнадий, рассмотрел вопрос более детально.
Цифра при сравнении, возникает из-за того что в действии "Получение данных о поставщике" по процесу wd_ReceiptWarehouseProductsFromSupplier мы сохраняем номер операции в параметр Операции (CashflowID)
1

2
Это и есть причиной возникновения ошибки
В общем случае параметры БП, отрабатывают корректно, и дополнительные префиксы устанавливать не нужно.

Показать все комментарии