Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Пт Янв 29, 2010 17:19  Расшерение для дистрибутивной операций |
|
Полезность: Нет оценки
|
Появилась необходимость в изменение одного реквизита на форме дистрибутивной операции "Новый безналичный документ" (NEW#DOC), вместо старого справочника, подцепить новый справочник. Создал расширение (до этого с этим не сталкивался), на вкладке параметры сгенерировались параметры которые находятся на родительской форме, изменил то что мне нужно, ничего нового не добавлял, обработка в коде тоже не меняется. В результате формирования нового безналичного документа, тянется то, что нужно.
Вот мой вопрос, я все правильно сделал?
Или еще нужны какие-то манипуляций? |
|
![](templates/subSilver/images/spacer.gif) |
Admin Site Admin
Вступление в Клуб: 09.06.2007
|
Пн Фев 01, 2010 14:17   |
|
Полезность: 1
|
Если я правильно понял, то Вы всё сделали правильно.
P.S. Неужели в Банке Америки принято переводить вопросы на русский автопереводчиком текста? (шутка) |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Пн Фев 01, 2010 15:23   |
|
Полезность: Нет оценки
|
Admin пишет: | P.S. Неужели в Банке Америки принято переводить вопросы на русский автопереводчиком текста? (шутка) |
![Very Happy](images/smiles/icon_biggrin.gif) |
|
![](templates/subSilver/images/spacer.gif) |
dbmaslov Профи
Вступление в Клуб: 11.07.2007
|
Вт Фев 02, 2010 10:23   |
|
Полезность: Нет оценки
|
Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC? |
|
![](templates/subSilver/images/spacer.gif) |
prog Эксперт
Вступление в Клуб: 03.03.2008
|
Вт Фев 02, 2010 10:34   |
|
Полезность: Нет оценки
|
dbmaslov пишет: | Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC? |
Крик души...
Пробовал делать расширение, 5-ю разными способами, наверно. Каждый раз что нибудь ломалось. Причем некоторые косяки выявить на этапе тестирования было просто нереально. Поддержка ничего внятного не сказала по теме. ![Mad](images/smiles/icon_mad.gif) |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Вт Фев 02, 2010 11:00   |
|
Полезность: Нет оценки
|
dbmaslov пишет: | Подскажите, пожалуйста, вы расширяли операцию NEW#DOC или EDIT_DOC? |
Для NEW#DOC и EDIT_DOC. |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Вт Фев 02, 2010 11:02   |
|
Полезность: Нет оценки
|
Я так предполагаю, что можно было ограничиться только EDIT_DOC |
|
![](templates/subSilver/images/spacer.gif) |
dbmaslov Профи
Вступление в Клуб: 11.07.2007
|
Пт Фев 05, 2010 10:16   |
|
Полезность: 3
|
markoff пишет: | Я так предполагаю, что можно было ограничиться только EDIT_DOC |
Просто будьте внимательны, а то получится такие же грабли как у нас:
вот это из доки:
Цитата: | Особенности расширений операций": Стандартный код тела операции-расширения выглядит так: begin &BASE$SETVARS; &BASE$EXECUTE; end;), но это не означает, что всегда тело операции-расширения всегда должно быть именно таким (т.е. состоящим только лишь из этих двух макросов, которые представляются вполне логичными, если тело операции-расширения вызывается из экранной формы этой же операции по нажатию кнопки “OK”): тело операции-расширения может содержать и другие операторы, которые учитывали бы то, что это тело может быть вызвано не только из экранной формы этой же операции (то есть: предполагаемые особенности вызова тела операции-расширения могут – и должны - быть учтены программистом на прикладном уровне, т.к. учесть все особенности на уровне ТЯ невозможно). |
Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций. |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Пт Фев 05, 2010 10:24   |
|
Полезность: Нет оценки
|
Спасибо, я это учту. |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Пн Фев 08, 2010 13:42   |
|
Полезность: Нет оценки
|
Цитата: | Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций. |
dbmaslov Вы были правы. |
|
![](templates/subSilver/images/spacer.gif) |
2mb Участник
Вступление в Клуб: 23.04.2008
|
Вт Июл 27, 2010 15:25   |
|
Полезность: Нет оценки
|
markoff пишет: | Цитата: | Основная проблема это потеря значений переменных.... и соответственно то проблема валидации то отработка ограничения целостности уже на уровне БД.... пока я отказался от расширения операций которые используют ЭФ других операций. |
dbmaslov Вы были правы. |
Попробуйте добавить &BASE$GETVARS; после &BASE$EXECUTE; в секции EXECUTE.
Мне помогало избежать потерь кэшируемых в расширяемой операции переменных
Глобальные переменные из секции PUBLIC нужно гонять туда-сюда руками. |
|
![](templates/subSilver/images/spacer.gif) |
|