Имя: Пароль:
1C
1С v8
Цены в подборе номенклатуры
,
0 Sem0709
 
13.01.17
02:23
Всем привет. ДАЛИОН

Задача установить свои (другие) цены в подборе номенклатуры только в возврате поставщику.
Запрос, вроде как составил, теперь не могу понять, что делать дальше. На каком моменте надо подставить цены, когда и где правильно вклиниться, какие варианты есть?

При нажатии кнопки подбора проходить через несколько процедур в форме объекта, затем открывает обработку подбора и ещё несколько процедур и функций из общих модулей. В последние вклиниться не могу, так как эти процедуры и для других документов, их изменение изменит их поведение. Если передавать тип документа, то надо добавлять и редактировать все процедуры во всеё конфе, что не приемлемо.

Покажи в каком направлении копать !? Заранее благодарен!!!
1 Sem0709
 
13.01.17
02:34
(0) >>их изменение изменит их поведение

Изменение процедур, изменит поведение других документов, чего надо избежать)
2 Fram
 
13.01.17
02:55
А что, в самом нужном месте никак не получить тип документа? Слабо верится. Нафига его с самого начала стэка передавать.
3 Sem0709
 
13.01.17
03:11
(2) Так это ещё лучше, только откуда его получить ?)

Мне нужно изменить процедуру с такими параметрами:
Процедура ЗаполнитьЦену(ОформленияСтрок, СписокНоменклатуры, ИмяКолонкиЦена, КатегорияЦен)

В них нет моего документа.
4 wertyu
 
13.01.17
04:45
(3) добавь с той обработкой, которая уже есть, которая тебе нравится
5 zvial
 
13.01.17
05:43
А может тип цен передавать в качестве параметра? Зачем тип документа?

Ну а процедуру можно допилить, чтобы она не затрагивала уже существующие механизмы. Тип такого:

Процедура ЗаполнитьЦену(ОформленияСтрок, СписокНоменклатуры, ИмяКолонкиЦена, КатегорияЦен, ТипЦен = Неопределено)

Если параметр ТипЦен не передан (равен Неопределено), получать цены по типу цен, используемому в процедуре.
6 Sem0709
 
13.01.17
06:30
(5) Нужно условие если тип документа = возврат поставщику, то нужно сделать другой запрос к ценам.

В документе нажимая подбор,
начинает открываться обработка,
для её заполнения вызывается процедура из общего модуля для заполнения табличной части,
для заполнения цены вызывается другой общий модуль с процедурой заполнения цены,
и далее обработка открывается...

То есть наверное нужно условия вставлять на моменте заполнения цены, вместо основного запроса делать свой, но для этого нужно понять для какого документа открывается подбор... надеюсь понятно объяснил. Спасибо за помощь..
7 Sem0709
 
13.01.17
06:37
Если передавать параметр в эту процедуру, то нужно будет его передать и во все десять процедур от документа, для которого открывается подбор, до процедуры заполнения цены ?
8 zvial
 
13.01.17
06:50
(7) Ага :(
9 Sem0709
 
13.01.17
06:52
(8) И это единственный вариант выход? :) Применяемый повсеместно ? Десяток, два таких изменения и конфу полгода обновлять будешь :)
10 zvial
 
13.01.17
06:53
А в процедуру заполнения ТЧ не передается ссылка документа или контекст формы?
11 zvial
 
13.01.17
06:54
Либо, при открытии обработки - там контекст формы-владельца уж должен быть - при определенном типе документа вызывать свою процедуру заполнения ТЧ?
12 Sem0709
 
16.01.17
08:16
(10) (11) Да, есть. Попробовал. Буду иметь ввиду как вариант на будущие.

Но пока скопировал обработку подбора...
13 Sem0709
 
16.01.17
08:16
Спасибо всем...
14 FIXXXL
 
16.01.17
08:55
ВладелецФормы подбора посмотри перед открытием и перезаполни цены
15 Мимохожий Однако
 
16.01.17
08:59
Сделай внешнюю обработку заполнения ТЧ, в которой заложи свой алгоритм установки цен.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн