Имя: Пароль:
1C
1С v8
Как определить, откуда происходит обращение к экспортной функции
0 commdt
 
08.02.16
16:14
При выполнении, например, экспортной функции программа совершенно точно знает, откуда к ней происходит обращение, т.к. впоследствии продолжается выполнение кода, в котором происходит обращение к ней.
А вот как бы в экспортной функции определить, откуда к ней происходит обращение, не пользуясь переменными и не внося изменения в код, в котором происходит к ней обращение?
1 ДенисЧ
 
08.02.16
16:14
Никак
2 commdt
 
08.02.16
16:22
Тогда может кто сталкивался со следующей проблемой:
Конфигурация УПП. У контрагента есть реквизит ИНН. Когда имеем дело с иностранцами, у которых нет ИНН, а есть некий Регистрационный номер в стране регистрации, поле ИНН заполнять не нужно (да и нельзя), т.к. в их рег номере количество знаков не равно ни 10, ни 12, и декларация по НДС не проходит проверку. Соотетственно, в декларацию он попадать не должен. При этом бухгалтерия хочет, чтобы во всех печатных формах этот Рег номер выводился вместо ИНН. Реквизит ИНН и для всех печатных форм, и для отчетности выдаёт одна и та же экспортная функция.
Вопрос: как малой кровью подменить реквизит ИНН на условный Рег номер только в печатных формах? Конфигурация хоть и не на поддержке, но регулярно обновляется, поэтому крайне не хочется ковыряться в регламентных модулях. А вот модуль УправлениеКонтактнойИнформацией не жалко
3 Kain_wrath
 
08.02.16
16:31
Наверно делать внешние печатные формы ?
4 Ma3eIIa
 
08.02.16
16:33
(3) не наверное, а 100500
5 commdt
 
08.02.16
16:33
(3) да вот я пока тоже другого варианта не вижу. Эх
6 vde69
 
08.02.16
16:34
стек вызовов посмотреть не судьба?
7 vde69
 
08.02.16
16:35
а еще более хорошая метода такая

стек вызова ставим точку остановки до и после перезапускаем, и включаем замер производительности

в результате в замере производительности будет весь исполненый код...
8 commdt
 
08.02.16
16:45
(6) Стек вызовов - это хорошо, но как обратиться к нему программно?
9 mikecool
 
08.02.16
16:47
(8) по стеку возможно можно будет определить какие-то доп переменные, которые могут быть в том или ином случае
10 vde69
 
08.02.16
16:54
я себе для отладки бизнес процессов делал так

            НоваяЗадачаОбьект.ДополнительныеСвойства.Вставить("ID_ОбъектаВПамяти", "Источник обьекта - бизнесс процесс ""Согласование""");


конечно это с изменением кода, зато реально помогает
11 commdt
 
08.02.16
16:57
(9) нет, в переменных там ничего интересного.
(10) с изменением кода можно было бы просто отправить доп переменную, которая по умолчанию Неопределено. Но от изменений я и хочу уйти, проще сделать внешние печатные формы, чем геморроится с каждым следующим обновлением.
12 Фрэнки
 
08.02.16
16:59
(10) такое на толстом клиенте только ?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший