CftClub.ru
Клуб специалистов ЦФТ-Банк

Расшерение для дистрибутивной операций

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПт Янв 29, 2010 17:19   Расшерение для дистрибутивной операций Ответить с цитатой
Полезность: Нет оценки
Появилась необходимость в изменение одного реквизита на форме дистрибутивной операции "Новый безналичный документ" (NEW#DOC), вместо старого справочника, подцепить новый справочник. Создал расширение (до этого с этим не сталкивался), на вкладке параметры сгенерировались параметры которые находятся на родительской форме, изменил то что мне нужно, ничего нового не добавлял, обработка в коде тоже не меняется. В результате формирования нового безналичного документа, тянется то, что нужно.

Вот мой вопрос, я все правильно сделал?
Или еще нужны какие-то манипуляций?
Admin
Site Admin


Вступление в Клуб: 09.06.2007
СообщениеПн Фев 01, 2010 14:17    Ответить с цитатой
Полезность: 1
Если я правильно понял, то Вы всё сделали правильно.

P.S. Неужели в Банке Америки принято переводить вопросы на русский автопереводчиком текста? (шутка)
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПн Фев 01, 2010 15:23    Ответить с цитатой
Полезность: Нет оценки
Admin пишет:
P.S. Неужели в Банке Америки принято переводить вопросы на русский автопереводчиком текста? (шутка)

Very Happy
dbmaslov
Профи


Вступление в Клуб: 11.07.2007
СообщениеВт Фев 02, 2010 10:23    Ответить с цитатой
Полезность: Нет оценки
Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC?
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеВт Фев 02, 2010 10:34    Ответить с цитатой
Полезность: Нет оценки
dbmaslov пишет:
Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC?


Крик души...
Пробовал делать расширение, 5-ю разными способами, наверно. Каждый раз что нибудь ломалось. Причем некоторые косяки выявить на этапе тестирования было просто нереально. Поддержка ничего внятного не сказала по теме. Mad
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеВт Фев 02, 2010 11:00    Ответить с цитатой
Полезность: Нет оценки
dbmaslov пишет:
Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC?


Для NEW#DOC и EDIT_DOC.
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеВт Фев 02, 2010 11:02    Ответить с цитатой
Полезность: Нет оценки
Я так предполагаю, что можно было ограничиться только EDIT_DOC
dbmaslov
Профи


Вступление в Клуб: 11.07.2007
СообщениеПт Фев 05, 2010 10:16    Ответить с цитатой
Полезность: 3
markoff пишет:
Я так предполагаю, что можно было ограничиться только EDIT_DOC

Просто будьте внимательны, а то получится такие же грабли как у нас:

вот это из доки:
Цитата:
Особенности расширений операций": Стандартный код тела операции-расширения выглядит так: begin &BASE$SETVARS; &BASE$EXECUTE; end;), но это не означает, что всегда тело операции-расширения всегда должно быть именно таким (т.е. состоящим только лишь из этих двух макросов, которые представляются вполне логичными, если тело операции-расширения вызывается из экранной формы этой же операции по нажатию кнопки “OK”): тело операции-расширения может содержать и другие операторы, которые учитывали бы то, что это тело может быть вызвано не только из экранной формы этой же операции (то есть: предполагаемые особенности вызова тела операции-расширения могут – и должны - быть учтены программистом на прикладном уровне, т.к. учесть все особенности на уровне ТЯ невозможно).


Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций.
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПт Фев 05, 2010 10:24    Ответить с цитатой
Полезность: Нет оценки
Спасибо, я это учту.
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПн Фев 08, 2010 13:42    Ответить с цитатой
Полезность: Нет оценки
Цитата:
Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций.


dbmaslov Вы были правы.
2mb
Участник


Вступление в Клуб: 23.04.2008
СообщениеВт Июл 27, 2010 15:25    Ответить с цитатой
Полезность: Нет оценки
markoff пишет:
Цитата:
Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций.


dbmaslov Вы были правы.


Попробуйте добавить &BASE$GETVARS; после &BASE$EXECUTE; в секции EXECUTE.
Мне помогало избежать потерь кэшируемых в расширяемой операции переменных
Глобальные переменные из секции PUBLIC нужно гонять туда-сюда руками.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru