Имя: Пароль:
1C
1С v8
Как обратится к общему модулю при совпадении имен
0 mpudy
 
28.05.13
00:09
Имеется общий модуль, к примеру называется Зарплата, и табличная часть с таким же именем. Подскажите, пожалуйста, как в функциях и процедурах модуля документа обратится к функциям и процедурам общего модуля?
1 MadHead
 
28.05.13
00:13
можно в модуле менеджера сделать метод. Или в общем модуле
2 mpudy
 
28.05.13
00:15
В модуле документа видна ТЧ с именем Зарплата, а не общий модуль.
3 mikecool
 
28.05.13
00:16
не заниматься копрокодом, назвать модуль и ТЧ разными именами
4 mpudy
 
28.05.13
00:17
(3) а если так исторически сложилось?..
5 MadHead
 
28.05.13
00:17
(2)вот я и говорю что можно создать метод в модуле менеджера документа и оттуда вызвать все что надо, а этот метод дернуть из документа. Но конечно переименовать будет правильнее
6 mpudy
 
28.05.13
00:20
Неужели нет стандартных методов разжешения конфликта имен?
7 Reaper_1c
 
28.05.13
00:59
(6) Убить всех, кто помнит, что "так исторически сложилось" и сделать правильно.
8 ICWiner
 
28.05.13
07:42
ТС не читатель? (1), (5) чем не подходят? Или в модуле объекта.
9 Chai Nic
 
28.05.13
07:54
(8) Вы что, читать не умеете? Исторически сложилось.. автор питает глубокое уважение к истории родной нетленки! Как можно от наследия предков отказываться?!
ЗЫ А вообще, конечно, жаль что в платформе вместо общих объектов с наследованием ввели понятие "общие модули"..
10 1Сергей
 
28.05.13
07:56
(9) >>общих объектов с наследованием

расшифруй
11 Chai Nic
 
28.05.13
08:01
(10) Ну вот предположим, что вместо модулей будет иерархия объектов. На каждом уровне определяются свои процедуры и функции, при этом те процедуры, которые не определены на текущем уровне - наследуются из вышестоящих уровнея. Если процедура с таким же именем уже есть в вышестоящих объектах - то в текущем она переопределяется, с возможностью обращения через "Родитель.". Это бы здорово упростило внесение доработок в типовые, в частности, и значительно повысило бы сопровождаемость кода. Да и в типовых не было бы того спагетти вызовов между модулями, как сейчас.
12 Маратыч
 
28.05.13
08:03
(11) Поздравляю, вы сейчас пришли к концепции ООП, наследования и перегрузки функций :))

Не нужно это на самом деле. Оно упрощает работу программиста, но существенно усложняет читабельность чужого кода и простоту его изменения.
13 1Сергей
 
28.05.13
08:03
(11) Переходи на ООП :)
14 Маратыч
 
28.05.13
08:04
+(12) ... не нужно это, само собой, только применительно к описательному процедурно-ориентированному языку 1С. А в полноценном высокоуровневом ЯП без этого не обойтись.
15 Chai Nic
 
28.05.13
08:18
(12) Читабельность чужого кода в типовых ниже плинтуса, я уже упоминал спагетти с модулями типа "ОбщийМодульРасчетаЗарплатыСтандартный", "ОбщийМодульРасчетаЗарплатыПереопределяемый", "ОбщийМодульРасчетаЗарплатыРегламентированный" и тому-подобный кошмар, который бы элегантно реализовывался через ООП.
16 mpudy
 
28.05.13
13:48
(9) исторически сложилось - это писалось до меня

для демонстрации решил набросать по минимуму, для демонстрации проблемы и обнаружил что
http://savepic.net/3757316.png, но http://savepic.org/3597751.png
Есть ли в общем доступе описание стандартов язика 1С с описанием подобных ситуаций?