Имя: Пароль:
1C
1С v8
Подвох с обновлением УТ11
,
0 triviumfan
 
30.08.18
09:08
Доброго дня, коллеги.

Имеется переписанная вдоль и поперек УТ11, не прошло ни одного объекта, куда не ступала нога/рука десятка программистов (в том числе и "залётных").

Дали мне задачу обновить её (*facepalm*).
Так вот изначально было 8 "прыжков": 11.3.3.178 -> ... -> 11.4.5.86
https://yadi.sk/i/HEv572KY3agaqs

Но опираясь на рекомендации обновлятора с http://downloads.v8.1c.ru/tmplts/ (в смысле выделенная строка с припиской "рекомендуется" при загрузке конфигурации онлайн) я случайно перешёл на ранний релиз 11.4, что повлекло за собой ещё 6 прыжков до последнего релиза!!! http://www.i-sonnik.ru/wp-content/uploads/2016/07/plach.jpg
Изначально ведь было так: https://yadi.sk/i/PgPI0CI73agbLv

Подскажите, стоит ли оно того? Мне откатиться? Или последующие сравнения может проще пройдут? Напоминаю, что в каждом объекте имеются изменения (в том числе и в форме).
1 yzimin
 
30.08.18
09:12
Проще обновить до последней 11.3 затем перейти сразу на последний 11.4.5
2 Пуля
 
30.08.18
09:12
Делаешь cf со всеми вдольипоперек-изменениями последнего релиза (11.4), потом последовательно накатываешь все релизы на основную базу, и потом cf.
3 triviumfan
 
30.08.18
09:18
(1) Так я изначально и думал, но случайно перешёл на ранний релиз 114!
4 triviumfan
 
30.08.18
09:19
(2) Разумеется, все промежуточные cf сохранены. Просто я вчера целый день (все 8 часов) сравнивал конфу при обновлении на 11.4. Вся работа коту под *уда?
5 END
 
30.08.18
09:20
(3) Если ты уже на 11.4 обновляйся через cf сразу на последний 11.4 - все будет нормально. Внутри одной подредакции так можно.
6 apatyukov
 
30.08.18
09:20
расскажите, зачем обновлять УТ? Особенно переписанную?
7 triviumfan
 
30.08.18
09:20
Я засомневался, может дальше проще пойдёт? Много ли там изменений? Сейчас у меня 11.4.3.115
8 triviumfan
 
30.08.18
09:22
(6) Мать их знает, все механизмы поломали, теперь хотят привести к типовой. Также вроде обновленную БТО хотят, кассы вроде до нового года надо...
А мне эту гвнозадачу дали...
9 Пуля
 
30.08.18
09:22
(6) Вот придет время НДС 20% вот тогда прочувствуете, с 11.4 гораздо проще будет дотянуться
10 triviumfan
 
30.08.18
09:23
(5) "Славик, что-то я очкую. Думаешь прокатит?!" (с)
11 END
 
30.08.18
09:33
(10) Да, прокатит. Внутри одной подредакции можно так делать. С ERP мы так и поступаем. Другое дело, что могут не все обработчики обновления пройти из за ваших изменений. Но, это только опытным путем познается.
12 triviumfan
 
30.08.18
09:37
(11) Да вы опасный человек!
13 hhhh
 
30.08.18
09:49
(11) почему опытным? Можно ведь посмотреть в общие модули. Например, общий модуль ОбновлениеИнформационнойБазыУТ. Если там поискать, то про УТ 11.3, например, вообще ничего нет.
14 triviumfan
 
30.08.18
10:11
Все понятно, в общем, вчерашний день ушёл вникуда. Придётся вернутся к 11_3_4_185
15 hhhh
 
30.08.18
11:20
(14) ну а в чем вообще проблема? Ну обновились и обновились. Зачем читать эти сообщения какого-то сомнительного обновлятора?
16 triviumfan
 
30.08.18
12:14
(15) да не в том проблема, а в том, что я усложнил всё. Надо было не смотреть рекомендации, а выполнить обнову на 11.3 последнего релиза, а потом в один "прыжок" на 11.4.
17 triviumfan
 
30.08.18
12:18
(16) и это с учетом того, что 1.5кк объектов меняются в постобработчиках обновления...
https://yadi.sk/i/3HSSp9wT3agxi8
18 xxTANATORxx
 
30.08.18
12:19
(0)имхо откатится
но думается мне перед такой серьезной работой нужно было большую часть изменений перенести на подписки
19 apatyukov
 
30.08.18
13:04
(9)  а что почуствовать то, в ут... ставку поменять ?
20 Eiffil123
 
30.08.18
14:27
Нафиг эти все УТ обновлять?
21 triviumfan
 
30.08.18
15:28
(18) большинство доработок так и сделаны, но есть уникальные 1сники, которые полезли в обработкупроведения и обработкузаполнения...
а вообще 80% изменений именно в ФОРМАХ. как бы их по-хитрому адаптировать?) опять расширения? запутаешься с этими доработками... половина там, половина тут. Или все-таки проверенное временем программное изменение форм?
22 XMMS
 
30.08.18
15:58
(9) Добавили в УТ 11.2 ставку 20%.
Заняло полчаса, с обновлением кода в общем модуле и формах с тестированием.
23 xxTANATORxx
 
30.08.18
16:03
(21)я формы меняю программно
если нужно переназначаю обработчики
24 triviumfan
 
30.08.18
16:15
(23) "если нужно переназначаю обработчики", - можно поподробней?
25 xxTANATORxx
 
30.08.18
17:27
в толстых формах так

Процедура ПриОткрытииПРОМ()

    //Стандартная обработка
    ПриОткрытии();
    
    ПрочееМодуль.ПроверитьДоступИВывестиДопСвойства(ЭтаФорма);

КонецПроцедуры

Процедура УстановкаОбработчиковПРОМ()
    
    УстановитьДействие("ПриОткрытии", Новый Действие("ПриОткрытииПРОМ"));
    
КонецПроцедуры

УстановкаОбработчиковПРОМ();
26 triviumfan
 
30.08.18
17:28
что-то типа этого?

&НаСервере
Процедура ПриСозданииНаСервере()
//типовые вызовы...
ПриСозданииНаСервереПереопределяемый()
КонецПроцедуры

Процедура ПриСозданииНаСервереПереопределяемый()
Элементы.Контрагент.УстановитьДействие("ПриИзменении", "_ПриИзмененииКонтрагентаПереопределяемый")
КонецПроцедуры

&НаКлиенте
Процедура _ПриИзмененииКонтрагентаПереопределяемый()
// тут типовые вызовы из обработчика "ПриИзмененииКонтрагента"
ПриИзмененииКонтрагента();
// далее свои доработки
КонецПроцедуры

Не особо удобно, вот бы несколько обработчиков на одно событие вешались...

=== блин, пока писал, уже ответили)
27 triviumfan
 
30.08.18
17:29
Может в УФ что-то оригинальней придумали?)
28 triviumfan
 
30.08.18
17:53
(25) Кстати, только что проверил этот код - он выполняется 2 раза.
Можешь сам проверить: https://yadi.sk/d/lt_A4WKT3ahhRt
29 triviumfan
 
30.08.18
18:00
(28) получается, что придётся все-таки добавлять вызов в ПриСозданииНаСервере().
30 ildary
 
30.08.18
18:10
(29) программные изменения форм (те которые в ПриСозданииНаСервере()) - лучше положить МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() - все изменения форм будут в одном месте и не надо модули форм трогать вообще.
31 dmt
 
30.08.18
18:22
(0) после обновления будешь все тестировать?
32 AnisaL
 
30.08.18
18:24
(30) а если в модуле объекта справочника в обработчике ПриЗаписи изменения, их куда поместить?
33 dmt
 
30.08.18
18:29
(32) для этого подписки есть
34 AnisaL
 
30.08.18
18:33
(33) понятно
35 Сияющий в темноте
 
30.08.18
19:05
Ставишь рядом последнюю версию,смотришь,что из костылей нужно,пытаешься окостылить последнюю,а потом выгрузка и загрузка данных.
36 triviumfan
 
30.08.18
19:33
(31) не я:) для этого есть специально обученные)
37 triviumfan
 
31.08.18
09:21
(30) только не все формы имеют такие вызовы)
38 triviumfan
 
07.09.18
12:10
Ребята, а как правильно вынести в подписку такое:


Процедура ОбработкаПроведения()
...
ОбщийМодуль.ДоработкаПоДвжиениям();
...
ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);

КонецПроцедуры


Ведь если перенести в подписку, то данные уже будут записаны в регистры и доработать движения нельзя!
39 triviumfan
 
07.09.18
12:11
Так зачастую в УТ11 движения делаются... пытаюсь адаптировать доработки выносом в отдельные модули/объекты, наткнулся вот на это...
40 hhhh
 
07.09.18
12:19
(39) ну прочитать() слово добавите в начале вашей подписки. одна строчка ведь. Что вы постоянно паникуете?
41 triviumfan
 
07.09.18
12:37
(40) Движения.Прочитать()? Они ведь уже записаны
42 hhhh
 
07.09.18
12:43
(41) зачем слово "ведь" здесь? И какая вам разница, записаны и не записаны? для вашей доработки - это абсолютно пофиг?
43 triviumfan
 
07.09.18
13:31
(42) доработка не моя, но она изменяет движения по остаткам товаров и до того, как движения записаны.
После записи наборов движений там ещё есть типовая

    ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
    ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
44 triviumfan
 
07.09.18
13:32
не понимаю, как вынести в подписку сию доработку.
45 ptiz
 
07.09.18
13:49
(38) Странно, зачем такой код, без параметров, в обработке проведения?
ОбщийМодуль.ДоработкаПоДвжиениям();
46 triviumfan
 
07.09.18
14:04
(45) он с параметрами, просто я их не указал)
47 hhhh
 
07.09.18
15:59
(46) ну значит ваше

ОбщийМодуль.ДоработкаПоДвжиениям();

надо подкорректировать. чтобы оно в эти наборы записало. которые потом

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект)

вы их подкорректируете, а типовая всё чохом запишет.