7.7 вопрос к программистам,которые знают не только 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем mart17, 7 янв 2008.

  1. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Ситуация следующая:во всех книгах по встроенному языку от 1С прямо на первой странице приводится определение программного модуля в смысле 1С,цитата:"программный модуль-своего рода контейнер для размещения текстов процедур и функций,вызываемых системой во время исполнения задачи в определенные работы времени.Поэтому программный модуль не имеет формальных границ своего описания типа:"Начало модуля"-"Конец модуля""-конец цитаты.Судя по слову "поэтому"-предпринималась попытка сказать.что поскольку модуль не является целостным алгоритмом(то есть последовательностью исполняемых операторов)то у него не должно быть формальных границ описания-откуда начать и чем кончить.
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А где вопрос??
    В данном случае действительно так и предполагалось. Т.к. язык 1С являетс предметно-ориентированным, то программный код выполняется только в определенных ситуациях (либо в др. языках это называется "событием"). Также код может быть размещен в свойствах реквизитов и внешних файлов, поэтому начало/конец программного модуля -- понятие довольно растяжимое (хотя имея немного опыта легко и его систематизировать)
  3. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    "
    Спасибо за ответ.
    Но ведь в языке Паскаль .например .модуль имеет ключевое слово END,хотя там тоже нет последовательного исполнения-хотя казалось бы зачем?-ведь-действительно -незачем-то есть 1 С внес коррективу в традицию написания модулей?

    Вот в чем вопрос: в книге Конфигурирование и Администрирование 1С "Тимофеев,Шуменко(стр.66) написано следующее -цитата"Каждый из модулей привязан к конкретному объекту системы,например,документу.Вследствие этого в языке не предусмотрены конструкции-"начало"- "конец "для модулей."
    По идее -это неправильно,ведь отсутствие конструкций из-за того,что 1С-предметно-ориентированный язык,а привязка к конкретному объекту тут непричем-допустим в С++ метод тоже привязан к конкретному классу,но тем не менее имеет конструкции в виде фигурных скобок.Да?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Это что желание пофилософствовать??? Если есть конкретные претензии, то с интересом все послушают и согласятся(или не согласятся). Иначе это тема больше подходит для курилки...
    Если в двух словах, то
    Из-за того, что код модуля считается от конца последней функции/процедуры до конца текстового файла, а пользуются им крайне редко (можно обойтись вообще без него), то каждый раз писать "НачалоМодуля"/"КонецМодуля" просто никому не нужная затея. Например, переводя с английского на русский опускают артикли.
    Конкретно Паскаль - не ООП язык, все операторы выполняются в отределенном порядке последовательно.
    По аналогии с 1С методы - это процедуры и функции, фигурные скобки - Процедура-КонецПроцедуры/Функция-КонецФункции.

    PS все языки программирования работают абсолютно одинаково (если кто не согласен, приведите пример): одни и те же операторы и функции, только имеют разный синтаксис, заточенный под конкретно-решаемую задачу. (Пример, никто не запрещает писать бухгалтерские программы прямо на С++ и т.п. Да и на 1С умудряются игрушки писать, но каждый язык УДОБНЕЕ реализует задуманную задачу)
  5. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Вы правы.только я имею в виду следующее:Паскаль-не ООП,споров нет,просто там после описания последней процедуры присутствует раздел инициализации,который исполняется ПОСЛЕДОВАТЕЛЬНО.
    Если его нет,то все равно стоит слово END
    1С-язык ,близкий к ООП.В модуле 1С ,как я понимаю, раздел инициализации объединен с разделом основной программы.Этот раздел ,если он есть,тоже исполняется ПОСЛЕДОВАТЕЛЬНО.Но ведь этот раздел может отсутствовать?И слова END (как в Паскале) в языке 1С нет.Событийная ориентированность означает,что может вызваться одна или несколько процедур модуля-в зависимости например от нажатия на кнопку пользователем.А поскольку,как вы справедливо заметили,слова переводятся без артикля,и самое главное-пользуются основной программой(которую вы называете кодом модуля)крайне редко-можно обойтись вообще без нее,то разработчики 1С и решили предложить свой вариант оформления модуля.В связи с этим их фраза насчет того,что модуль -это контейнер,поэтому в нем не предусмотрены конструкции начало-конец-не вполне точно отражает ситуацию.Модуль 1С чаще всего оказывается контейнером,но если в нем присутствует раздел основной программы(инициализация и какие-нибудь исполняемые(ПОСЛЕДОВАТЕЛЬНО) операторы- вызов процедуры,описанной в соответствующем разделе модуля)-то по-моему конструкции начало-конец были бы не лишними
  6. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
  7. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Я тоже не курю, но это уже тема для курилки :)

    Вообще есть недокументированная возможность 1С, которой пользуются многие профессионалы: 1С предусмотрела операторы обозначения начала и конца модулей:
    ///.НачалоМодуля
    ///.КонецМодуля
  8. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    mart, без личного, но стоит занятся вставкой пробелов в вашем посте - читать затруднительно :)
  10. TopicStarter Overlay
    mart17
    Offline

    mart17

    Регистрация:
    7 янв 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    да пожалуйста-а то у меня времени нет(все уходит на 1С)!

Поделиться этой страницей