Тема создана для обсуждения интервью, чтобы не затерялись вопросы в комментариях к публикации.
Сами вопросы задавать и голосовать в соседней ветке: http://forum.infostart.ru/forum24/topic88121/
думаю, это разговор не в ту сторону, т.к. 1С много чего из DLL использует, как в 7, так и в 8. Другое дело - использует по принципу "абы было и бесплатно", а не по принципу "цель использования именно этого?"
Ребята, вы, прежде чем кидаться юношеским максимализмом в оппонентов, изучите материалы по 1С.
А лучше - начните работать в ней, в фирме, где обычные пользователи с "обычными" (т.е. уникальными только для них самих) требованиями. А не просто - "сел вечерком с фантой, и открыл такие возможности в 1С!!!" :)
Я тоже в том числе? Хоть я и не работаю в фирме с "обычными" пользователями, но с такими общаюсь...
P.S. А может замутить тему с майкой: "Есть претензии к 1С? Их и пинайте" :)))
Это уже давно пройденный этап - еще с проффорума.
И варианты ответы от 1С на все:
- молчание
- "это не нужно"
- возможно, будет реализовано в будущих версиях.
Файловая 1С - это не СУБД. Это концепт "видения" 1С обработки данных, реализованный одним куском - и данные, и конфигурация неразрывно связаны друг с дургом даже на файловом уровне.
А вот 1С прежняя (1.0, 2.0, 3.0) - это сторонняя разработка другой фирмы, и когда братья организовали свою !1С" - взяли оттуда идеи.
что речь о классе объектов 1С "ВнешниеИсточникиДанных"
В 1С нет, и никогда не было никаких классов "ВнешниеИсточникиДанных" или "Справочники", "Документы", "РегистрыСведений".
Вам, как специалисту с шестой версии, давно пора такое знать.
Так вот у классов РегистрыСведений, РегистрыБухгалтерии, РегистрыНакопления и РегистрыРасчетов есть объект НаборЗаписей
... поэтому - у каждого Объекта 1С свой набор УНИКАЛЬНЫХ свойств, методов, событий и прочего, жестко реализованный в платформе для каждого типа объектов 1С. То, что они обозваны для разных объектов одинаково - лишь уловка 1С, призванная спутать незамутненные умы. Работают-то все такие "объекты" и их "объектные свойства" - по-разному.
Метод "Записать()" реализован в платформе для объектов 1С. ВнешниеИсточникиДанных - это не "полноправный" объект 1С сродни встроенным в платформу, а, как правильно заметили, нечто близкое к COM.
И обрабатывается он сугубо своим драйвером, который подключается к 1С, и данные получает через тот драйвер в 1С.
А не создается новый "объект" в 1С, который можно вертеть как хочешь и куда хочешь. И уж тем более - в 1С нет никаких классов и наследования из этих классов.
Странно не знать такие вещи, работая с шестой версии с 1С.
В 1С нет, и никогда не было никаких классов "ВнешниеИсточникиДанных" или "Справочники", "Документы", "РегистрыСведений".
Вам, как специалисту с шестой версии, давно пора такое знать.
Ну спорить с человеком, который никогда не открывал конфигуратор бесполезно.
Поставьте наконец себе хотя-бы голую платформу 1С 8.2 или 8.3, создайте пустую базу и Вы увидете весь перечень классов прикладных объектов. В синтаксис-помощнике Вы сможете прочитать про свойства, методы и т.п.
На худой конец просто зайдите на сайт 1С:Предприятие 8 и почитайте, а потом можете возвращаться сюда обсуждать что-либо.
(274) sobenko, с этим человеком вообще спорить бесполезно, это местный дурачёк, у него в голове такая каша из понятий, терминов и фантазий, вы другие его темы почитайте, обычно как только он где то появляется я отписываюсь, потому как этот поток невозможно остановить, обрати внимание что за все время он еще не с кем не в чем не согласился :)
Это талант.
Вы просто недавно зарегестрировались еще не в теме.
(253) отлично сказал.
(276) VVi3ard, Я удивляюсь этому человеку, как ему удается отвечать на абсолютно все вопросы, даже о которых он понятия не имеет. Все и ниочем.. истинный адинэснег, с большой буквы ))) я же говорю он в фирме 1С работает, ну как минимум замом БГ, если это не сам ОН ^^ ...
и Вы увидете весь перечень классов прикладных объектов.
Что такое класс?
На худой конец просто зайдите на сайт 1С
Ну да, если "на сайт 1С" - то в 1С есть все.
(277) AllexSoft,
даже о которых он понятия не имеет.
Да уж, требуешь-просишь понятия от "настоящих 1сников", а в ответ - ( 274), ( 276) и ( 277).
И никаких понятий, определений и знаний в итоге :)
а для меня понятие "Класс" и понятие "Объект" - одно и тоже.
Ага, первое "понятие" пошло...
Видно сказывается специфика других языков...
Это в каких таких языках, где они ЕСТЬ, понятия "класс" и "объект" меняются местами?! В 1С - понятно, нет ни того, ни другого, поэтому и менять их можно как угодно и на что угодно. Но в других языках?
(280) artichoke, а вы пробовали дорабатывать в доработанных в доработанных конфигурациях? Например Украинская УТ 3.0 - калька с УТ11 , но вот незадача Переопределяемый уже переписан и дописан хорошо.
(280) AlexO,
Немного проясню терминологию.
Для ООП:
Класс описывает переменные, свойства, процедуры и события объекта. Объекты представляют собой экземпляры классов.
В 1С нет возможности (т.к. нет смысла, т.к. это специализированная среда разработки) создавать собственные классы объектов. В платформе предопределены все необходимые для разработки классы объектов. Чего не хватает можно добавить при помощи подключения внешних библиотек или COM-объектов. Чаще всего это драйверы для внешнего оборудования.
Так вот я термином "класс объектов Внешние источники данных" назвал предопределенный класс объектов метаданных "Внешние источники данных" в дереве метаданных, как и "Справочники", "Документы", "Регистры сведений" и т.п.
Класс описывает переменные, свойства, процедуры и события объекта.
Правильно. А Вам говорили, для ЧЕГО класс все это описывает?
Т.е. зачем вообще нужен класс?
В платформе предопределены все необходимые для разработки классы объектов
Отнюдь, не раз сталкивался с проблемой - чем заменить РС или Справочник, т.к. в таком виде он мне не нужен.
Чего не хватает можно добавить при помощи подключения внешних библиотек или COM-объектов.
Это как в 1С можно что-то добавить уровня "класса" или "объекта"?
Чаще всего это драйверы для внешнего оборудования.
нет, это совсем другая тема - подключаемое оборудование никаким "объектом" для 1С не становится, а лишь дает данные и получает их через свой драйвер (взаимодействующий с 1С)/обработку портов средствами ОС.
Так вот я термином "класс объектов Внешние источники данных" назвал предопределенный класс объектов метаданных "Внешние источники данных" в дереве метаданных, как и "Справочники", "Документы", "Регистры сведений" и т.п.
Объекты метаданных в 1С никак не могут быть "классами", да и вообще объектами, на самом деле.
Создавая разные справочники - вы их создаете не из "единого класса", а получаете ни к чему не привязанную структуру-скрипт в обработку платформе (создать нужные таблицы в БД и нарисовать в метаданных строчку), которая никак не взаимодействует ни со своим якобы "родительским классом", ни с другими "братскими объектами".
Грубо говоря, если бы в 1С было все так прекрасно, как Вы описали из других языков, для обработки двух справочников не требовалось бы получать Наименование там, или еще свойства какие, которые "одинаковые" по начинке (отличаются только значением) для всех справочников , - из одного справочника, чтобы сравнить его с дургим - а все бы делалось через объект и ВНУТРИ него, по схеме "аналог свойства "Наименование" - запроси все похожие свойства таких же объектов". И никакого кода "Наим1 = Справочник1.Наименование; Наим2 = Справочник2.Наименование;".
Это для примера.
И чтобы выйти из этой неприголядной ситауции "без пятен" (как же, ведь у нас объекты! а они все разные на уровне платформы), 1С придумала: объявило каждый новый "объект" - новым типом данных. Вроде как и не обманули, и про "объекты" нет намека.
... поэтому - у каждого Объекта 1С свой набор УНИКАЛЬНЫХ свойств, методов, событий и прочего, жестко реализованный в платформе для каждого типа объектов 1С. То, что они обозваны для разных объектов одинаково - лишь уловка 1С, призванная спутать незамутненные умы. Работают-то все такие "объекты" и их "объектные свойства" - по-разному.
Как платформа транслирует работу с объектами 1С в запросы к СУБД никого из разработчиков 1С сильно не интересует, ровно как и разработчика на Delphi не интересует как выполняется его программа на уровне ассемблера. Для того и существует платформа 1С чтобы разработчик думал о реализации бизнес-логики, а не создания классов объектов, наследования и всего прочего, что необходимо делать другим разработчикам на Delphi, C#, Java и т.п. Там разве-что можно воспользоваться готовыми библиотеками, чтобы оторваться от низкого уровня разработки.
Метод "Записать()" реализован в платформе для объектов 1С. ВнешниеИсточникиДанных - это не "полноправный" объект 1С сродни встроенным в платформу, а, как правильно заметили, нечто близкое к COM.
И обрабатывается он сугубо своим драйвером, который подключается к 1С, и данные получает через тот драйвер в 1С.
То, что ВнешниеИсточникиДанных это не совсем то, что РегистрСведений это понятно. Но по большому счету подключение сервера 1С:Предприятие к любой СУБД (кроме файловой) тоже происходит через соответствующий драйвер ODBC. Для того и реализовали прикладной объект ВнешниеИсточникиДанных, чтобы "оторвать" разработчика от работы на низком уровне. И свойства, методы 1С-вские для этих объектов реализовали чтобы стереть различие между родными и не родными таблицами.
Платформа запросы к таблицам внешних источников транслирует в соответствующие SQL-запросы, выполняющиеся через соответствующие ODBC-драйвера. Я уже писал, что стандарт языка SQL кроме команды SELECT, для чтения данных, имеет команды APPEND, REPLACE и т.п. для записи. Что мешает дописать трансляцию метода Записать() для набора записей внешнего источника в соответствующие SQL-запросы? Естественно необходимо побеспокотся еще и о блокировках.
А не создается новый "объект" в 1С, который можно вертеть как хочешь и куда хочешь. И уж тем более - в 1С нет никаких классов и наследования из этих классов.
Странно не знать такие вещи, работая с шестой версии с 1С.
Причем здесь наследование. Я "классами объектов" назвал "прикладные объекты" просто как аналогичный термин. Ни про какое наследование я речь не веду.
(282) sobenko, мне тоже интересно, наверняка причина есть, но мне вот так сразу в голову ничего не приходит, может быть кто то поделится своими мыслями, на мой взгляд если немного абстрагироваться то ведь по сути что внешняя таблица что "родная" таблица регистра сведений БД очень похожи и доработок там не много...
Может это политическое решение типа "1С не про это". Я правда пока и примеров использования не придумал, для чего вам это нужно? Есть подозрение что вы хотели бы подключать таблицу регистра другой БД 1С и в неё писать?
Есть подозрение что вы хотели бы подключать таблицу регистра другой БД 1С и в неё писать?
нет, что в документации написано, что ВИД именно для этого, а не для подключения к базе 1С - это не интересно, да и скучно читать документацию, гораздо интереснее про троллей и кто есть ху :)
Как платформа транслирует работу с объектами 1С в запросы к СУБД никого из разработчиков 1С сильно не интересует
Сейчас - да, уже и разработчиков это мало интересует, но по совсем другой причине, а не "реализации бизнес-логики". Сначала сие не интересовало только менеджеров, потом - менеджеров и внедрятелей.
Как раз с навязыванием УФ 1С еще дальше ушла от проработки бизнес-логики в сторону бессистемного кодирования.
а не создания классов объектов, наследования и всего прочего, что необходимо делать другим разработчикам на Delphi, C#, Java и т.п.
1С сама создает какие-то классы и объекты? Разве что только свои "объекты" или классы с помощью Си, на котором написана.
И свойства, методы 1С-вские для этих объектов реализовали чтобы стереть различие между родными и не родными таблицами.
Какие таблицы - родные, а какие - не родные? С учетом того, что внешние таблицы являются при подключении анаологами COM-объектов, и вообще к базе никак не относятся (а то давайте и внешние файлы, загружаемые в 1С, туда припишем :) ).
ам разве-что можно воспользоваться готовыми библиотеками, чтобы оторваться от низкого уровня разработки.
Проведите границу "низкого уровня разработки".
Но по большому счету подключение сервера 1С:Предприятие к любой СУБД (кроме файловой) тоже происходит через соответствующий драйвер ODBC
Задумайтесь на мгновенье о проблеме курицы и яйца.
ODBC - единственная возможность работать с другими БД. Т.е. альтернатива - это работа из самой "родной" СУБД.
Так что было в начале - работа 1С с ODBC-драйверами или подключение к другим базам?
чтобы "оторвать" разработчика от работы на низком уровне.
Ну оторвали. Причем оторвали не только самого разработчика, но и "руки-ноги" его программе. И до кучи связали для надежности залили цементом, чтобы наверняка еще и двигаться не могла никуда.
Вас все устраивает? Значит, вы в полной мере обладаете столь сейчас нередкой способностью находится годами в эйфории от 1С, которая у меня, например, прошла за первые три месяца знакомства с восьмеркой.
Что мешает дописать трансляцию метода Записать() для набора записей внешнего источника в соответствующие SQL-запросы?
Мешает все то же самое, что мешает реализовать нативную и более полную работу с тем же MS SQL с начала выпуска восьмой версии.
Я "классами объектов" назвал "прикладные объекты" просто как аналогичный термин
Ну да, я понял - "классы и объекты - это одно и то же" (с)
Вообще, как специалист "еще с шестой версии", скажите, 1С вообще чем-нибудь конкретным когда-нибудь озабочивалась в сфере обработки данных, куда она, ничтоже сумняшеся, влезла в свое время? Ну, там, "цель - быстрый доступ, быстрая обработка", etc.
Судя по Вашим ответам Вы в лучшем случае слышали про существование 1С:Предприятие, но ничего конкретного про эту платформу не знаете. 1С:Предприятие 8 "влезла" в рынок интегрированных систем управления предприятием (а не обработку данных вообще). Обогнала (по крайней мере в России и СНГ) Microsoft Dynamics и Oracle (по исследованиям IDC) и сейчас на 2-м месте после SAP. Еще раз повторяю, что 1С:Предприятие это не СУБД, а платформа для разработки и работы интегрированных систем управления предприятием. А с СУБД ее бессмысленно сравнивать, т.к. 1С это не СУБД.
Обогнала (по крайней мере в России и СНГ) Microsoft Dynamics и Oracle (по исследованиям IDC) и сейчас на 2-м месте после SAP.
Я не удивлюсь, если в РОССИИ она будет на первом месте.
Россия по многим "прекрасным" показателям - на первом месте.
Где конкретика по заданному вопросу?
И если "1С - не СУБД", то скажите, что 1С делает среди систем обработки данных и усилено оккупирует рынок ERP? Не Вы ли только что приводили данные (и вы представляете, как и с чем работает при обработке данных MD, SAP):
(273) sobenko,
Обогнала (по крайней мере в России и СНГ) Microsoft Dynamics и Oracle (по исследованиям IDC) и сейчас на 2-м месте после SAP.
Пытается обработать данные другим способом, а-ля "мы пойдем своим путем"?
Ваша версия.
И если "1С - не СУБД", то скажите, что 1С делает среди систем обработки данных и усилено оккупирует рынок ERP? Не Вы ли только что приводили данные (и вы представляете, как и с чем работает при обработке данных MD, SAP):
Начнем с того, что ERP (Enterprise Resource Planning)-системы не занимаются обработкой данных. Обработкой занимаются СУБД. Не MD, не SAP не являются СУБД. Они так-же, как и 1С используют СУБД. MD работает только с MS SQL, а вот SAP может и с MS SQL и с Oracle Database.
ERP-система занимается планированием ресурсов предприятия! 1С относится к ERP, а не к СУБД!
Кашку в голове надо как-то упорядочить.
ERP (Enterprise Resource Planning)-системы не занимаются обработкой данных.
Да? Т.е. ERP может работать сама по себе, без СУБД и обработки данных?
Они так-же, как и 1С используют СУБД. MD работает только с MS SQL, а вот SAP может и с MS SQL и с Oracle Database.
Плавно переходим к блюду дня для студенчества - можно ли сравнить работу и интеграцию 1С со своей СУБД, с якобы "аналогичными" продуктами других фирм?
Вы как-то запутались
Если б только запутался :)
Вы не задумывались, почему преподаватели в университетах сходят с ума? :)
(307) EmpireSer,
Так и конфигуратор 1С и 1С Платформа тоже отчасти СУБД для 1CD базы данных.
То СУБД, то не СУБД... Почему я и просил обсудить эту тему в кругу приятелей. Вы же не прислушались к совету.
Да и данные можно через 1С писать в её БД используя ВнешнееСоединение или Web-сервис. У остальных СУБД поведение такое же.
Можно. Но только через 1С. Вопрос-то в чем ко мне? А то начали с высказывания несогласия, а закончили описанием первой главы методички "Какие СУБД существуют" :)
Можно. Существуют. И?
а ERP кое какие и на Oracle Form писали. Так может сразу назовём Oracle супер пупер ERP СУБД?
Хорошо, предложите вариант обработки данных без СУБД, но с эффективностью не менее обработки СУБД.
что пишется на FoxPro, надо писать несколько дней, а на 1С тот-же функционал делается за пару часов.
разочарую, множество чего, что можно написать на FP, невозможно написать на 1С, или только через одно известное место и с матюками. А уж обработка данных - вообще рядом не стояла. И никакие ИТОГИ и СрезПервых в запросах 1С существенно картины не меняют. Дальше.
Потому что в 1С нет необходимости опускаться до самого низкого уровня работы с СУБД, описывать свои объекты и т.п.
Опять же, Вы не знаете, что такое "низкий уровень работы СУБД". Это первое.
Второе - нет возможности не только исправить неоптимальные запросы к СУБД, которые уже не решаются только посещением столь обожаемых народом курсов и переписыванием 1С-запросов (а затыков море), но и хоть как-то проконтролировать получаемые данные, дабы подсократить их объем уже при выборке в СУБД, чтобы 1С-сервер не чах и не пыхтел с бессмысленной обработкой никому потом ненужных данных.
Программирование в 1С больше сконцентрировано на описание бизнес-логики
Разочарую второй раз - 1С давно уже не ориентирована на "описание бизнес-логики" (разве что бизнес логики в понимании самой 1С, которая априори считается везде одинаковой и неизменной): масса времени уходит на "принуждение" 1С работать именно так, как хочешь, а не как заложили разработчики.
А с УФ это все усложнилось на порядок.
зачем не претендующей на лавры обработчика даннных компании писать свой сервер обработки данных, да еще и закрытый
так он и так уже написан, причем именно в клиент серверной технологии, догадаешся про что я говорю?
я про сажбу удаленного хранилища, именно она является полноценной серверной СУБД, а учитывая что в 8.3 открыто говорит что теперь у хранилища формат 1cd то я вообще не понимаю о чем разговор....
да пока сервер 1cd является узкозаточеным, но подобных реализаций полно...
(305) AlexO,
Гражданин, Вы как-то запутались, как мне кажется.
Вы не отделаете БД (база данных) от СУБД. Вот в чистом виде примеры БД: DBF, MDF, FAT, HTFS, 1CD и т.д. Эти БД только хранят какие-то данные в каком-то структурированном виде и что с этими данными делать - не знаю и не умеют.
А вот всякие СУБД (dBase, FoxPro, Oracle, MS SQL, PostgreSQL) умеют с этими данными работать, выполнять то, что написано в каких-то полях таблиц и считающимся "функциями", "процедурами" и т.п.
Так и конфигуратор 1С и 1С Платформа тоже отчасти СУБД для 1CD базы данных. Да и данные можно через 1С писать в её БД используя ВнешнееСоединение или Web-сервис. У остальных СУБД поведение такое же.
Пытается обработать данные другим способом, а-ля "мы пойдем своим путем"?
Ваша версия.
1С давно идет "свим путем", но не по пути СУБД.
Я тоже когда-то писал на FoxPro, Visual FoxPro. Это универсальная СУБД+ среда для разработки приложений. Но приложение, что пишется на FoxPro, надо писать несколько дней, а на 1С тот-же функционал делается за пару часов. Потому что в 1С нет необходимости опускаться до самого низкого уровня работы с СУБД, описывать свои объекты и т.п. Очень многое уже залодено в платформе и либо визуально программируется, либо несколькими строками кода, доступного для понимания другими разработчиками 1С. Программирование в 1С больше сконцентрировано на описание бизнес-логики, а не на работу на низком уровне.
И СУБД - система управления базами данных. 1С умеет управлять своей файловой базой :)))) Вывод: 1С - СУБД!
Т.к. у Вас с другими оппонентами общего много больше, чем со мной - то смею зачислить заочно их всех в число Ваших "приятелей" :)
Так вот, вы там с приятелями пока обсудите, СУБД это, или не СУБД, и почему :)
(281) AlexO, у меня пользователи частенько спрашивают "а что такое тонкий\толстый клиент". А вот вопрос вам: а что такое толстый и тонкий тролль? вы должны знать...
Да уж... а для меня понятие "Класс" и понятие "Объект" - одно и тоже.
Видно сказывается специфика других языков...
Палишся, путать класс и объект это совсем не специфика других языков.
Если коротко то класс это описание, объект это экземпляр класса, если перевести на язык 1С то:
"Класс"(Базовый класс) это "Справочник" создавая справочник "Пользователи" ты наследуешь его от базового класса, когда ты создаешь элемент справочника ты создаешь экземпляр класса "Пользователи". Так вот твой созданный элемент и будет Объектом класса "Пользователи".
Главное (но не единственное) отличие 1С от ООП языков заключается в том что ты не можешь создавать свои базовые классы, ты можешь только наследовать существующие: "Справочник, РегистрСведений, Накопления" причем для унаследованных ты можешь определить только структуру "свойств" т.е. реквизитов, при этом создать новые "Методы" ты не можешь, можешь использовать только методы унаследованные от базового класса.
Если коротко то класс это описание, объект это экземпляр класса, если перевести на язык 1С то:
О, вижу, конспектик свой студенческий достали :)
А вот дальше - не дали Вам практику-то, не дали, и понимание не привили...
"Класс"(Базовый класс) это "Справочник" создавая справочник "Пользователи" ты наследуешь его от базового класса
1. Измените в 1С свой "класс", если Вы считаете его классом;
2. Сделайте другой класс на основе "класса" 1С.
3. Найдите в созданном "объекте" признаки объекта.
когда ты создаешь элемент справочника ты создаешь экземпляр класса "Пользователи". Так вот твой созданный элемент и будет Объектом класса "Пользователи".
Ну это даже в приведенном предложении начало противоречит окончанию даже само по себе в написанном виде. Тем более комментировать такое невозможно.
причем для унаследованных ты можешь определить только структуру "свойств" т.е. реквизитов
Т.е. свойства = реквизиты?
можешь использовать только методы унаследованные от базового класса.
Если есть "базовый" класс, должен быть и "не базовый", так ведь? Иначе чем вся эта софистика отличается от копирования жестко заданной структуры "объекта" и развертывания его на таблицы БД?
1. Измените в 1С свой "класс", если Вы считаете его классом;
2. Сделайте другой класс на основе "класса" 1С.
3. Найдите в созданном "объекте" признаки объекта.
Все цитировать не вижу смысла, т.к. Вы просто как-то изберательно читаете посты. Просто спешите "на все стороны отгавкаться", без осмысления написанного.
А сварите суп в холодильнике, постирайте вещи в микроволновке, помойте голову гвоздями! Что не выходит? Каждый аппарат, инструмент и т.д. предназначен для применения в определенной области.Повторяю еще раз:
платформа 1С:Предприятие это не объектно-ориентированный язык программирования, не СУБД. Это специализированная платформа для разработки и работы от простых систем учета до интегрированных систем управления предприятием. В такой системе нет необходимости создавать и изменять классы объектов. Вполне хватает тех, что уже определены платформой (базовые классы). Если хочется ООП- в 7.7 были такие разработки. Называлось это 1С++. Кому надо в 8-ке- пишите библиотечку и вперед. Но сначала надо подумать: а надо-ли?
Если коротко то класс это описание, объект это экземпляр класса, если перевести на язык 1С то:
"Класс"(Базовый класс) это "Справочник" создавая справочник "Пользователи" ты наследуешь его от базового класса, когда ты создаешь элемент справочника ты создаешь экземпляр класса "Пользователи". Так вот твой созданный элемент и будет Объектом класса "Пользователи".
Главное (но не единственное) отличие 1С от ООП языков заключается в том что ты не можешь создавать свои базовые классы, ты можешь только наследовать существующие: "Справочник, РегистрСведений, Накопления" причем для унаследованных ты можешь определить только структуру "свойств" т.е. реквизитов, при этом создать новые "Методы" ты не можешь, можешь использовать только методы унаследованные от базового класса.
Здесь я со всем согласен, кроме того что для нельзя описывать собственные свойства и методы. Все не стандартные методы работы с объектами можно описать в соответствующем модуле объекта (для форм в модуле формы) с волшебным словом "Экспорт". Тогда и можно писать типа:
СправочникПользователиОбъект.МойМетод(Параметр1, Параметр2); или ФормаЭлементаСправочникПользователи.МоеСообщение("Это не тот пользователь");
А не стандартные свойства можно задать как переменные модуля также со словом Экспорт. Тогда они тоже становятся доступны снаружи:
СправочникПользователиОбъект.МоеСвойствоЧисло = 100;
СправочникПользователиОбъект.МоеСвойствоСтрока = "Вася";
СправочникПользователиОбъект.МоеСвойствоФлаг = Истина;
(293) sobenko, увы не в 8.2 с УФ там Объект.ЧтоТо превращается в отличный квест с РеквизитФормыВЗначение
Ну и на сервере долго объект не живет, его приходится прятать в ХЗ потом опять получать в общем это уже не разработка а онанизм.
Собственно говоря поэтому я и прошу то что прошу (см. мой вопрос). Это конечно в полной мере старый добрый прием с обработкой не вернет но хоть что то.
увы не в 8.2 с УФ там Объект.ЧтоТо превращается в отличный квест с РеквизитФормыВЗначение
УФ еще больше ограничило разработчика, и теперь разделения уже на уровне самого "объекта" - данные формы УФ недоступны в объекте, которому она якобы "принадлежит" (опять же, для Вас это ровным счетом ничего не значит и не меняет - раз 1С написала "объект", значит, так оно и есть), и наоборот, запросы к объекту/данным БД недоступны в УФ.
И приходится данные (или всю форму) капсулировать во всякие виды хранилищ и получать их оттуда для обработки.
Но что Вы не знаете и УФ - это уже не удивляет, все таки эта технология намного моложе самой восьмерки, а Вам нужно намного больше времени для её изучения.
Мешает все то же самое, что мешает реализовать нативную и более полную работу с тем же MS SQL с начала выпуска восьмой версии.
Вот смотри ты Тимлид Java проекта, у вас в проекте написана своя "платформа" т.е. набор классов на основе которых(с помощью которыз) вы потом проектируете уже прикладное решение и вот так все по уму у вас сделано, и есть у вас среди классов класс USER и этот класс определяет метод "SetName" и все разработчики пишут в коде:
CurentUser.SetName("Иван"); //CurentUser экземпляр класса USER (Объект).
Реализация этого метода тяжелая, так как при смене имени запускается Update по другим таблицам(ну вот так получилось что при изменении имени приходится еще что то делать).
И поэтому CurentUser.SetName("Иван") выполняется 2 секунды.
Но тут к вам устраивается AlexO, он человек грамотный, и говорит у нас тут не какая то там 1С и мы тут боги имеем прямой доступ к БД! Так вот AlexO берет и пишет
update users
set Name = "Иван"
where id=CurentUser.id
И о чудо, вместо 2х секунд код выполняется за 2 мс. AlexO гордый и довольный идет на infostart рассказывая про плохую архитектуру 1С которая не позволяет использовать прямые запросы.
и говорит у нас тут не какая то там 1С и мы тут боги имеем прямой доступ к БД!
Ну не показывайте свою безграмотность.
Только Вы могли написать, что J вполне себе заменит СУБД только одним своим присутствием в коде.
И про прямые запросы в 1С не пишите, потому как не понимаете, что такое - прямые запросы в 7.7, и в 8.х, и какие последствия там и там.
Ну не показывайте свою безграмотность.
Только Вы могли написать, что J вполне себе заменит СУБД только одним своим присутствием в коде.
И про прямые запросы в 1С не пишите, потому как не понимаете, что такое - прямые запросы в 7.7, и в 8.х, и какие последствия там и там.
Если-бы Вы писали на 7.7, то знали-бы что уже давно были разработаны библиотеки для прямого доступа к таблицам объектов 1С в MS SQL (с другими СУБД 7.7 не работает). Чем это грозит для студента, не понимающего как и что устроено- однозначно убиением базы с последующим увольнением. А вот если с пониманием дела пользоваться, то можно увеличивать скорость в разы, а то и на порядки.
А вот для 8.2 лезть в СУБД запрещено лицензионным соглашением. Просто не раз при выходе нового релиза платформы выполнялась реорганизация структуры СУБД. Соответственно код, написанный под одну структуру уже не мог корректно работать с другой структурой. Но есть редкие разработчики которые на свой страх и риск лезут напрямую в базу, в обход платформы. К примеру разработки компании Инталев.
Если-бы Вы писали на 7.7, то знали-бы что уже давно были разработаны библиотеки для прямого доступа к таблицам объектов 1С в MS SQL (с другими СУБД 7.7 не работает).
Отнюдь. Через OLEDB прекрасно и к DBF пишутся прямые запросы.
А вот если с пониманием дела пользоваться, то можно увеличивать скорость в разы, а то и на порядки.
ну для вас без разницы - 7.7, 8.х...
А вот для 8.2 лезть в СУБД запрещено
А для 8.0-8.1 - разрешено?
Соответственно код, написанный под одну структуру уже не мог корректно работать с другой структурой.
ну да, код переписать уже нельзя... непреодолимое препятствие для 1С, согласен.
Но есть редкие разработчики которые на свой страх и риск лезут напрямую в базу, в обход платформы. К примеру разработки компании Инталев.
Вот не слышал, что Инталев написал аналог 1С-платформы.
Или, как всегда - какая разница, семерка-восьмерка, прямые запросы - не прямые, к базе 1с или другой SQL.... :)
(312) Канешна про платформу, а про что еще. Вам, что ссылку на ИТС кинуть или сами поиском пользоваться умеете? )))
ЗЫ: на всякий пожарный представлюсь: как владелец одного из самых крупных 1С Облачных сервисов, обновляющих многозначные числа клиентов в масштабах Еуразии ) естественно мы все это делаем штатными ср-вами 1С. Причем в 8.2 это требовал некоторого админско-шаманского бубна, но теперь в 8.3 это реализовано специальными web-сервисами на прямую, толька глючит ))) конкретна глюк звучит в том, что если платформа не слилась за 2 минуты, то сервак считает это ошибкой таймаута )) т.е. почти всегда ))) Но это обещали в ближайшем поправить. И в 8.3.3. вроде как и поправили, но честно, еще не проверяли.
ЗЗЫ: Вдруг у вас нет ИТС... потому поискал за вас:
При удаленной работе (через веб-сервер) возникает необходимость автоматического получения дистрибутива клиентского приложения в тех случаях, когда на сервере «1С:Предприятия» (или веб-сервере) выполнена замена версии системы. В этом случае поиск новой версии с помощью параметра DistributiveLocation конфигурационных файлов может не дать результат. Для получения дистрибутива можно воспользоваться возможностью публикации дистрибутива клиентского приложения через Интернет-сервис. При этом доступно получение списка как через HTTP-запросы и через Web-сервисы.
Кстати я тут полемику небольшую с начальником завёл насчёт поставки PostgreSQL вместе с платформой 1С заместо их файловой БД (ну если они от неё откажутся).
Пришли к выводу, что простота работы файловой БД пока остаётся неоспоримым преимуществом (мало грамотных админов PostgreSQL, не всегда можно автоматически подобрать настройки БД из-за чего даже на 5 пользователях может всё супер тормазить и т.п.)
В итоге получаем, что "плюшек" которые есть в MS SQL, Oracle, IBM DB2 и PostgreSQL, но которых нет в файловой - мы даждёмся ещё очень не скоро.... :((((
Пришли к выводу, что простота работы файловой БД пока остаётся неоспоримым преимуществом
Браво, хотел сократить Ваше время, и выделил свое, равное написанию сообщения ( 269). Видимо, не все сообщения читают, а только свои... :)
(298) VVi3ard,
эх жаль на башорге не любят 1С ников, такие шедевры пропадают...
Да уж, вы и Ко сначала перлы смешные выдавали :)
А сейчас просто грустно.
что "плюшек" которые есть в MS SQL, Oracle, IBM DB2 и PostgreSQL
Справедливости ради, стоит отметить, что "плюшки" во всех этих СУБД настолько разные, и порой вообще противоречат друг другу, так что какое-либо их объединение под "сенью" 1С вообще бессмысленно... Но кому это интересно? :(
А потом подумалось: возможность подписки на событие вызова любой функции была бы прекрасна! Насколько это реализуемо и есть ли такие мысли?
Невозможно в принципе, иначе надо полностью переписывать компилятор, т.к. сразу надо вводить и нумерацию строк, и разделение на функции на уровне компиляции... А тут уже и до выполнения отдельных функций, не затрагивая остальные, недалеко...
1С никогда на такое пойтить не сможет...
Минус - за фразу "Технически-то на уровне интерпретатора это вполне просто", т.к. "просто" и "переписать компилятор" не совсем и не везде синонимы....
(317) AlexO,
А Вы изучали dll от 1С в дизассемблере? А текст, который 1С делает для себя, если модуль поставляется без исходного кода?
А то Вы отвечаете на столько высказываний, которые затрагивают просто огромный пласт технологий и знаний, что я просто теряюсь: или Вы "мега гуру" с супер мозгом или Вы просто "поливаете всех"
322.
sapervodichka
681221.06.13 12:47 Сейчас в теме
ВОПРОС: Если об использовании программных продуктов 1С для постройки ЕРП стали думать в 2000 и через 6 лет примерно начался быстрый рост 1С внедрений на крупных предприятих. Сейчас же в 1С говорят об облачных технологиях и управляемых формах, через сколько лет вы прогнозируете их обязательное использование для автоматизации крупных предприятий?
(ПОЯСНЕНИЕ: Хочу спрогнозировать для себя период перехода с обычных форм и терминальных подключений на управляемые формы и облачные интернет технологии, чтобы подтянуть знания и квалификацию. Сейчас внедряю исключительно УПП)
a-novoselov, а минус то за что? ты не согласен с тем что есть в 1С уже? или может я тебя не правильно пнлял.. вроде ты хотел выгружать файлы формы в какой либо формат, ну вот XML чем не вериант ?
(370) AllexSoft, имелась ввиду не выгрузка в XML, а генератор кода, отрисовывающего форму. Когда мышкой форму рисуешь, вызываешь метод "ПолучитьКодГенерацииФормы()", и получаешь код типа:
Форма = Новый УправляемаяФорма();
Форма.Элементы.Вставить(Новый ЭлементФормы("Дата"));
Форма.Показать();
Вот он главный вопрос!!! Почему 1С, купив и в тихую признав Инфостарт , не сделало ни одного официального сообщения по этому поводу? Полная тишина на сайте 1С. На ресурсах 1С информация о конференции «INFOSTART 2013» просто замалчивалась. Я очень опасаюсь, что эта покупка станет началом конца Инфостарта.
(371) Судя по тому, что ни одного из двух моих вопросов не осталось, ты прав на 100%. Один из них, кстати, был совсем безобидный, но,.. он был о планах развития Инфостарта. Следовательно, политика закрытости фирмы 1С теперь пролонгирована и на Инфостарт. Зело печально сие. :(
После этого не вижу никакого смысла задавать третий вопрос о планах продвижения на глобальный рынок. :(
(374) Да, ради бога! Только почему модераторы теперь работают как цензоры? Мало, того что на Мисте уже во всю цензура, теперь и на Инфорстарте, получается, тоже?
Вот скажи, какая крамола в призывах усовершенствовать обратную связь с конечными пользователями и 1С-сообществом в целях повышения как качества продуктов фирмы 1С, так и реноме самого вендора?
(375) RayCon, Да я с тобой согласен полностью, да и вопрос про ИТС был хороший, правильно человек писал, пора бы его отменить.. почему я не могу клиента консультировать или что то ему дописать если у него нет ИТС... удалили (
(380) support, так когда же будет само интервью ? во сколько? не хочу пропустить.. может какая то трансляция будет ? в какой форме будут заданы вопросы, так как есть или переформулированы ?
(382) support, как оказалось 20 вопросов слишком узкий формат чтобы удовлетворить большое количество вопросов по делу с рейтингом более 40... вторая партия вопросов планируется? Если да то хотя бы приблизительно через сколько времени? И если планируется то можно как то организовать по другому голосование за вопросы, а то вон про конфигуратор и журнал регистрации в SQL по несколько вопросов одних и тех же, люди похоже не читают ветку до конфца даже первой страницы. Да и голосовать за одного автора в течении 5 минут нельзя, есть много вопросов того же Eugeneer, которые написаны подряд, вопросы по делу все, но как ты и просил отдельными постами. я вот например не сразу заметил что я проголосовал только за первый вопрос, а остальные + нажимал, а он пишет что нельзя голосовать в течении 5 минут, разумеется на подобные сообщения нажимаешь ОК автоматом не читая, сделали хотя бы какой то мессейдж с красным восклицательным знаком, как минимум... а так вообще разрешить надо было.
PS: если будет вторая порция, то неплохо было бы перенести часть незаданных вопросов с хорошим рейтингом в новую ветку голосования, если она будет... чтоб вопросы не потерялись)
(380) Может, мои вопросы тоже куда-то переместили, и я зря на цензуру грешу? Если это так, готов исправить свои посты на эту тему. Но тогда неплохо было бы дать ссылку на новое местоположение перемещённых вопросов...