|
Так как все-таки правильно сделать подписку ПриПроведении для типовых УТ/КА/ERP ? | ☑ | ||
---|---|---|---|---|
0
triviumfan
12.09.18
✎
11:24
|
Доброго дня, коллеги.
Наткнулся на закрытую тему Подписка на событие обработка проведения в комментарии (31) указано решение, но! Это ведь в корне неверно! Есть поясняющая картинка https://курсы-по-1с.рф/wp-content/uploads/2017/04/document-posting-scheme-pict01-2.gif Типичный обработчик ОбработкаПроведения():
И как же мне изменить движения в подписке, если контроль уже прошёл? Что, заново инициализировать доп.свойства, изменить движения конкретного регистра, записать и снова выполнить контроль? Что-то это дико звучит с точки зрения производительности. |
|||
1
Вафель
12.09.18
✎
11:25
|
подпиской не обойдешься.
нужно кудато вклиниваться |
|||
2
triviumfan
12.09.18
✎
11:57
|
(1) Но ребята из указанной темы как-то обходятся))) Или они просто не в курсе, что контроля нет?
|
|||
3
vyaz
12.09.18
✎
12:23
|
(0) Никто не мешает реализовать контроль отрицательных остатков в подписке, но, как всегда, есть нюанс - при использовании подписки на события будет страдать производительность.
|
|||
4
triviumfan
12.09.18
✎
12:29
|
Так у меня вопрос, как вы лично реализуете подписку (ну или каким образом выполняете адаптацию типовой конфы) в данном случае? Куда ни глянь - везде подписки, 2 курса уже посмотрел - все гладко, все легко и просто. А начинаешь делать - опять какие-то грабли и камни!
|
|||
5
triviumfan
12.09.18
✎
12:30
|
Посмотрел курсы "Адаптация и доработка типовых конфигураций" и "Курсы по расширениям" ресурса "курсы-по-1с", но там ни малейшего намёка на эту ситуёвину. Поиск по форумам тоже ничего полезного не дал.
|
|||
6
shuhard
12.09.18
✎
12:33
|
(5) заведи бложек (с)
|
|||
7
vyaz
12.09.18
✎
12:34
|
(5) Модуль 3, задача 4, урок 16 "Проведение через подписку на событие".
Вот сам курс https://xn----1-bedvffifm4g.xn--p1ai/ut11/trade-confs-dev/ |
|||
8
vyaz
12.09.18
✎
12:42
|
(4)
Процедура ОбработкаПроведенияРеализацияТоваровУслугОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт Ссылка = Источник.Ссылка; ДополнительныеСвойства = Источник.ДополнительныеСвойства; Движения = Источник.Движения; ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства); ВзаиморасчетыСервер.ОтразитьРасчетыСПоставщиками(ДополнительныеСвойства, Движения, Отказ); ДоходыИРасходыСервер.ОтразитьПрочиеРасходы(ДополнительныеСвойства, Движения, Отказ); ДоходыИРасходыСервер.ОтразитьПартииПрочихРасходов(ДополнительныеСвойства, Движения, Отказ); УправленческийУчетПроведениеСервер.ОтразитьДвиженияКонтрагентДоходыРасходы(ДополнительныеСвойства, Движения, Отказ); ЕстьДвиженияПрочиеАктивыПассивы = Источник.Движения.Найти("ПрочиеАктивыПассивы") <> Неопределено; Если ЕстьДвиженияПрочиеАктивыПассивы И ПолучитьФункциональнуюОпцию("ФормироватьУправленческийБаланс") Тогда УправленческийУчетПроведениеСервер.ДобавитьДвиженияАктивовПассивов(Источник); КонецЕсли; КонецПроцедуры |
|||
9
Вафель
12.09.18
✎
13:04
|
если нужно менять текущие движения, то подпиской не обойдешься
|
|||
10
MaxS
12.09.18
✎
13:12
|
(9) Всё не читал.
Делал подпиской на событие. Если нужно исправить имеющиеся движения, исправлял в своей подписке на событие. Нерешаемых проблем не припоминаю. |
|||
11
triviumfan
12.09.18
✎
13:44
|
(7) Благодарю! Как-то я пропустил этот урок! Думал, что ничего нового!
Ппц там моловина модуля менеджера нужно в подписке использовать, потому что все процедуры неэкспортные! (8) Замеры делал?) секунд 10 проводится? |
|||
12
triviumfan
12.09.18
✎
13:46
|
Пожалуй, после все увиденного, я ничего делать не буду, оставлю в ОП() как оно имеется сейчас.
|
|||
13
DSSS
12.09.18
✎
13:49
|
(3)
>> Никто не мешает реализовать контроль отрицательных остатков в подписке, но, как всегда, есть нюанс - при использовании подписки на события будет страдать производительность. Почему? |
|||
14
vyaz
12.09.18
✎
13:57
|
(11) мне замеры без надобности, понадобится сделаю)
(13) Количество обращений к БД на чтение и на запись увеличилось и при определенной "удаче" и криворукости возможно влететь на взаимоблокировки |
|||
15
MaxS
12.09.18
✎
14:14
|
(11) так результаты работы типового проведения можно увидеть в том числе в дополнительных свойствах документа объекта.
Подготовил свою таблицу с данными и типовой процедурой отправил в регистр. |
|||
16
triviumfan
12.09.18
✎
16:50
|
(14) вы случайно не Вячеслав Вязигин – тренер сего курса?)
|
|||
17
triviumfan
12.09.18
✎
16:51
|
Раз так хорошо знаете материал...:)
|
|||
18
vyaz
12.09.18
✎
17:59
|
(16) Вы очень догадливы :)
|
|||
19
triviumfan
14.09.18
✎
12:00
|
Оказывается, что подписку на событие ОбработкаПроверкиЗаполнения() Тоже не сделать.
Потому то в типовом варианте все программно обрабатывается:
Получается, что разработчики специально срут нам, поддержке/сопровождению? Это я ещё молчу про то, что они пробелы и точки проставляют в описании процедур, чтобы я, блять, сравнивал каждую из них в модуле из 100500 процедур! |
|||
20
triviumfan
14.09.18
✎
12:01
|
(19) "сравнивал каждую из них в модуле из 100500 процедур", - при сравнении/объединении обновления конфы.
|
|||
21
vyaz
14.09.18
✎
15:13
|
(19) разработчики дают нам работу, усложняя типовые, повышают стоимость специалистов 1С, это ведь прекрасно :)
|
|||
22
triviumfan
14.09.18
✎
15:28
|
(21) у меня оклад! :)
|
|||
23
Вафель
14.09.18
✎
15:31
|
(22) ну так и оклады на рынке из-за этого растут
|
|||
24
Byasha
14.09.18
✎
15:36
|
(0) Все зависит от задачи которую ты решаешь. Если нужно добавить движения по дополнительным регистрам - то через подписку на событие обработки проведения. Если нужно изменить или добавить движения регистров которые формируются типовым функционалом - то только через подписку на событие "ПриЗаписи" или "ПередЗаписью" набора записей регистра. Через какой-именно обработчик - нужно смотреть по коду, потому что, как правило, у 1С перед записью выполняется контроль данных.
Это резкое снижение производительности. Если нужна скорость то нужно вклиниваться в процедуры заполнения дополнительных свойств для проведения - там формируются таблицы, которые будут загружены в наборы записей, и в процедуры контроля отрицательных остатков. Как правило достаточно аккуратно, парой строчек, в нужном месте вклиниться в процедуры заполнения дополнительных свойств для проведения. Если скорость на втором плане - то через подписку на событие "При записи" набора записей регистра. Это самый безболезненный вариант в части сохранения типового кода. |
|||
25
Cyberhawk
14.09.18
✎
15:38
|
(9) Ты про что, когда есть подписка на регистр?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |