Имя: Пароль:
1C
 
Как правильно делать вставки в &ИзменениеИКонтроль?
,
0 DTX 4th
 
04.06.20
18:08
Опытом научен, что, как бы банально это ни звучало, для &ИзменениеИКонтроль важен каждый пробел. Обычно для вставки в нужное место встаю в конец строки, жму Enter, вставляю #Вставка #КонецВставки и начинаю работать внутри этого молясь. При этом надо молиться, чтобы лишний пробел за пределы этого блока не воткнуть случайно.
Но сейчас все перепробовал - не получается. Вот даже видос записал:
https://i.imgur.com/FvIL8vU.mp4

0:05 - обновляю конфу, заимствованный модуль содержит оригинальную процедуру (cr_НачатьВнесениеДенег)
0:48 - конфа обновлена. Видно, что мы попали в cr_НачатьВнесениеДенег, все хорошо
1:52 - делаем вставку в cr_НачатьВнесениеДенег, применяем изменения
2:39 - изменения внесли. Видно, что отладчик больше не попадает в cr_НачатьВнесениеДенег. Вместо этого мы получили оригинальную НачатьВнесениеДенег
2:57 - нам любезно говорят, что текст модуля изменился, занавес
маразм.

ЧЯДНТ?
1 DJ Anthon
 
04.06.20
20:21
я копирую строки целиком, выделяя с первого символа по первый. только так и это бигмак
2 AlvlSpb
 
04.06.20
20:21
(0) И при этом 100% конфигурация на полной поддержке и режим совместимости конфигурации 8.3.14, а  &ИзменениеИКонтроль работает начиная с 8.3.15. Или снимай корень конфигурации с поддержки и устанавливай совместимость с 15-йплатформой или ждать выхода конфигурации с предустановленной совместимостью 8.3.15 и пока не применять эту директиву
3 AlvlSpb
 
04.06.20
20:22
И да. В первый раз, после сохранения расширения с  &ИзменениеИКонтроль отладчик заходит, но во второй и последующие разы - хрен там там
4 DJ Anthon
 
04.06.20
20:23
насчет видео - ты не знаешь, сколько пробелов или табуляций и спокойно нажимаешь Enter. они все стираются и табуляциями ты скорее всего не попадёшь в то, что уже было.
просто дублируй любую строку и правь ее от начала до конца.
мало того, все мои исправления на табуляцию смещены, чтобы случайно кусок кода не совпал с рядом стоящими.
5 DJ Anthon
 
04.06.20
20:24
(2)в 2030-м разрешат?
6 AlvlSpb
 
04.06.20
20:26
(5) судя по скорости штамповки платформ и версий - в конце этого\начале следующего уже все будет. И.... Я прав с режимом совместимости?
7 AlvlSpb
 
04.06.20
20:28
(5) Извини, не посмотрел. Думал, это ТС. Так что вопрос "Я прав с режимом совместимости?"© снимаю )))) Не по адресу
8 DTX 4th
 
04.06.20
20:51
(2) Последняя Розница2
Режим совместимости стоит 8.3.12
При этом в других местах в этой же конфигурации ИзменениеИКонтроль работает прекрасно. И на вставку, и на удаление.

(4) Мне кажется, я уже все перепробовал. Сейчас попробовал (1) - тот же результат =\
9 AlvlSpb
 
04.06.20
21:01
(8) Работает и в функциях и в процедурах?
10 DTX 4th
 
04.06.20
21:04
(9) В процедурах работает. Функции еще не пробовал в текущей конфе.

Разве ИзменениеИКонтроль упирается в режим совместимости, а не в версию платформы?
11 AlvlSpb
 
04.06.20
21:30
(10) Это не документировано (или я не встречал). Все что говорю, сугубо из личного опыта. Функции до 8.3.15 нельзя было "директировать" Перед или После, только Вместо. И лишь в 15-й появилась возможность влиять на нее без полной замены.   Но именно совместимость не позволяет этого делать. Проверял. В совместимости с 8.3.14, в измененную функцию заходит только в первый раз после сохранения, дальше всегда мимо. Ставишь совместимость 8.3.15 и проблема снимается. Честно, думал с процедурами такая же история Просто с процедурами ИзменениеИКонтроль пока не сталкивался. По привычке делал Перед или После, что методически правильней. Работаю на 8.3.16
12 Ненавижу 1С
 
гуру
04.06.20
21:48
(11) Перед или После разве могут работать у функции?

а вообще это же частные случаи Вместо?

//твой код...
ПродолжитьВызов();

и

ПродолжитьВызов();
//твой код...


это все аналоги base и super в Java/C#
13 DJ Anthon
 
04.06.20
21:54
(12) а почему бы им не работать?
14 AlvlSpb
 
04.06.20
21:55
(12) "Перед или После разве могут работать у функции?"© Нет не могут. Об этом и говорю. Но в 8.3.15 появилась ИзменениеИКонтрроль. Т.е.  можно влезть внутрь кода, в том числе и функции
15 AlvlSpb
 
04.06.20
21:58
(12) "а вообще это же частные случаи Вместо?"© Нет Это частный случай применения для одной процедуры и Перед и После. Вместо, все же полностью заменяет стандартную, а приведенный пример, стандартную лишь дополняет или изменяет, но полностью выполняет стандартную
16 Franchiser
 
гуру
04.06.20
22:16
(0) вытащить 2 процедуры в текстовые файлы или в модули внешних обработок и сравнить средствами 1с или внешних программ пробовал?
17 Ненавижу 1С
 
гуру
04.06.20
22:19
(15) я к тому, что если вот так вот написать это и будет Перед или После
а Вместо - да, шире работает
Закон Брукера: Даже маленькая практика стоит большой теории.