-
Notifications
You must be signed in to change notification settings - Fork 46
Нужна статья про то, как создать компоненту средствами 1Скрипта, а не C# #179
Comments
В планах на ближайший месяц-два. Либо одна большая - как сделать библиотеку и как сделать приложение, либо две поменьше. |
большинство библиотек написаны на oscript, а не на c# :) |
https://infostart.ru/public/548028/ раздел "Схема загрузки библиотек", плюс уже упомянутый http://oscript.io/docs/page/libraries плюс https://github.com/oscript-library/oscript-lib-template и https://github.com/oscript-library/oscript-app-template |
Простой вопрос - чем "классы" отличаются от "модулей"? У них какой-то особый синтаксис? Где этот синтаксис описан? |
http://oscript.io/docs/page/package-loader |
я имею в виду синтаксис в месте определения класса, а не в месте использования через оператор Новый |
Классы инстанцируются с помощью оператора Новый. Каждый инстанс имеет свои собственные версии глобальных переменных скрипта. |
у класса еще есть необязательный метод ПриСозданииОбъекта. различий в синтаксисе описания классов и модулей нет, т.к. этого не позволяет сама грамматика 1С |
в языке C# для класса есть ключевое слово "class", есть ли подобное в 1Скрипт? Или класс отличается от модуля только тем, что в классе описаны переменные в глобальном скопе, а в модуле не описаны? |
нет, такого нет. все различие - в способе инстанцирования. |
в модуле тоже могут быть переменные в глобальном скоупе. |
@ArsenShnurkov все как на картинке. Будет файл "классом" или "модулем" зависит от того, в какой папке он лежит. Внутри синтаксически они не отличаются никак. Если копнуть еще глубже, то дело не в папках, а в алгоритме модуля package-loader.os. Именно он решает в какую из групп "класс"/"модуль" отнести тот или иной файл .os |
@bahtiy - это к кому просьба? Про написать? |
Ничо не понял |
Ничего не получается.
Результат:
|
Так тоже не работает
Пишет
$ oscript -v | head -1 есличё, новее релизов нет в списке тэгов репозитория |
@ArsenShnurkov : Процедура ПриСозданииОбъекта()
Сообщить("Создан класс!");
КонецПроцедуры
Процедура МойМетод() Экспорт
Сообщить("Вызван метод");
КонецПроцедуры //main.os ПодключитьСценарий("МойКласс.os", "МойКласс");
ЭкземплярКласса = Новый МойКласс();
ЭкземплярКласса.МойМетод(); вот так работает |
Ясно, слово "Символ" неудачное было... Надо было использовать "СимволПрорыва" |
Вопрос решен вроде бы |
Не затруднит ли Вас в таком случае добавить сюда ссылку на эту замечательную обучающую статью с официального сайта 1Скрипт, раз уж вопрос решен. Или таки не решен? |
Статья под заголовком "Исчерпывающее руководство по созданию библиотеки 1Script" ведет на мою статью на ИС. |
Неясно, как это сделать (и можно ли), http://oscript.io/dev/page/components
Вроде бы компонента/библиотека начинается с файла package-loader.os -
http://oscript.io/docs/page/libraries
кроме того, есть (http://oscript.io/library) заманчивая картинка
Но всё вместе оно как-то не складывается в голове, как надо что писать и куда класть в файловой системе.
The text was updated successfully, but these errors were encountered: