Имя: Пароль:
1C
1С v8
Простенький вопрос по именам процедур в общих модулях.
0 never_sleep
 
03.05.17
08:12
Читаю книжку (правда там 8.2, а у июзаю 8.3)
там следующее написано:
Поскольку общий модуль не привязан к какому-либо объекту конфигурации, а относится ко всему прикладному решению, имена экспортируемых процедур и функций должны быть различными в разных общих модулях. В противном случае будет выдана синтаксическая ошибка, т. к. глобальный контекст будет содержать повторяющиеся имена.
Я подумал, что тут ошибка. Так как, если модуль не глобальный, то вызвать процедуру можно только через точку от имени модуля. Так что логично, что для процедур общих модулей уникальность должна быть в пределах модуля, где она объявлена. Решил проверить. Сделал 2 общих модуля (сервер) А и Б. В них одна и та же процедура "Первая()"
Все отлично сохранилось и запустилось. Решил проверить выставить свойство глобальный, думал выдаст ошибку, т.к. в глобальном контексте бы появилось 2 процедуры с один именем, но все опять ок. Что вообще творится?)
1 dezss
 
03.05.17
08:21
(0) ну как, начнем гадать на кофейной гуще?)))
Давай продолжай эксперимент и нам сюда отписывайся о результатах.
Сделай у них разное количество параметров, попробуй вызвать. Потом одно и то же количество, опять попробуй и посмотри какая вызовется.


З.Ы.: а там может и книжку напишешь, а то волшебник что-то никак не напишет продолжение своего бестселлера.
2 бомболюк
 
03.05.17
08:21
Экспорт?
3 youalex
 
03.05.17
08:23
похоже рудимент с 8.0
4 never_sleep
 
03.05.17
08:23
(2) наверное экспорт!!! блин ща проверю
5 never_sleep
 
03.05.17
08:26
Да он самый. Простите идиота.
Если стоит галка глобальный, то ошибка, если нет, то ошибки нет. Все теперь логично. Но книжка все же ошибалась. Ну не ошибалась, а не добавила упоминание про "глобальный".
6 youalex
 
03.05.17
08:31
(5) В 8.0 - не было неглобальных ОМ.
В той же книжке, но по 8.1 - этот абзац также присутствует.
7 never_sleep
 
03.05.17
08:47
(6) ааа.