Про 1С++ООП, на ночь глядя бесстыжими вочами

Автор Пиит, 05 апреля 2024, 00:58

« назад - далее »

Как Вы относитесь к Истории к контексте данного форума?

Пишите, коллега, история это всегда интересно
6 (75%)
Мне по барабану
0 (0%)
Хватит уже, чувак, расвешивать здесь свои простыни
2 (25%)

Проголосовало пользователей: 8

АЛьФ

Цитата: Злоп от 10 апреля 2024, 16:04
Цитата: Arbuz от 10 апреля 2024, 15:57с помощью ООП от 1срр ты можешь иметь отдельный модуль объекта, где хранятся его методы.
а можно так сделать что
СпрНоменклатура.Записать(), где Записать() - это будет мой метод, который будет типа содержать код

//тут типа куча кода всяких проверок, отрабатывающих при программной записи
//а тут применение штатного метода Записать()
...
?
.
или каким другим вариантом отработать возможность выполнения "кода модуля объекта" при программном штатном Спр.Записать()...? типа как в 8-ке.. (менеджер объекта?)


Можно.

Arbuz

Цитата: Злоп от 10 апреля 2024, 16:04
Цитата: Arbuz от 10 апреля 2024, 15:57с помощью ООП от 1срр ты можешь иметь отдельный модуль объекта, где хранятся его методы.
а можно так сделать что
СпрНоменклатура.Записать(), где Записать() - это будет мой метод, который будет типа содержать код

//тут типа куча кода всяких проверок, отрабатывающих при программной записи
//а тут применение штатного метода Записать()
...
?
.
или каким другим вариантом отработать возможность выполнения "кода модуля объекта" при программном штатном Спр.Записать()...? типа как в 8-ке.. (менеджер объекта?)


Можно, при условии, что СпрНоменклатура это объект твоего класса. Это весьма тяжёлое условие когда не понимаешь как это.  ;D

Грузчик

Цитата: Злоп от 10 апреля 2024, 16:04СпрНоменклатура.Записать(), где Записать() - это будет мой метод
https://www.1cpp.ru/forum/YaBB.pl?num=1309279852/3#3
Оно? С Таблица.Показать(,,) работает отлично.

Злоп


Пиит


Пиит

Цитата: Arbuz от 10 апреля 2024, 15:57ЗЫ: если Вы таки математик-информатик, то, возможно, стоило потратить время...

Это было лишним, дружище.
В чём-то Вы правы, у меня большие пробелы в классификации полиморфизмов,
но тем не менее, не следует так себя вести в гостях, и прошу Вас
впредь не тратить своё время на мои трэды, дабы "не увеличивать энтропию".

Arbuz

Цитата: item от 10 апреля 2024, 17:51Это было лишним, дружище.

Не стоило так оскорбляться, я не ставил такой цели, а хотел всего лишь побудить Вас к изучению возможностей 1срр. Зря Вы так от неё открещиваетесь — на текущий момент это такой же неотъемлемый костыль для клюшек как и формекс. Я бы сказал штатный.

Пиит

Что есть "Товар"?

С точки зрения БД - это запись, с точки зрения ООП - объект.
Концептуальный барьер.
Вот, и Компания до сих пор не смогла преодолеть этот барьер, совместить эти два понятия наконец в одну сущность.

Для меня "Товар" - это и запись, и объект, и пусть компилятор заботится о том, чего я от него хочу.

Вот, Trad спросил: "Тебе нужен аналог восмерочного модуля объекта?".
Мне нужно намного больше.

Я большой сторонник ООБД, перечитал в своё время все книги Кузнецова, и хочу сказать, за этим будущее.
А могло бы стать уже настроящим.
Компания всё время ходит вокруг да около, и вроде бы сам Бог велел, платформа - прокладка между ООП и СУБД, но нет.
Я так мечтал увидеть в восьмерке хотя бы шаг в эту сторону.
Увидел, через 20 лет, в очередном релизе 8.3, определяемые типы...

Хочу блог.

Злоп

Открывайте уже классы по ООП, классам и прочему в 1С 7.7 ;-)

Пиит

Цитата: Злоп от 10 апреля 2024, 18:52Открывайте уже классы по ООП, классам и прочему в 1С 7.7 ;-)
Да, Че, спасибо, это моё, я ещё тот болтун. )

Пиит

Можно годы поминать на ветках "вложенные и наследуемые структуры", это не составляет труда.
Но блог - это другое.)
Любой учитель должен готовиться к уроку, а любая мало-мальсткая статья отнимает как минимум неделю времени.

Может, любопытства ради, кто сам заинтересуется ООБД.
Кузнецов тоже теоретик, популяризатор этого направления.
Но парень крепкий, в полиморфизмах не плавает, как я.

Пиит

Цитата: АЛьФ от 10 апреля 2024, 16:16
Цитата: Злоп от 10 апреля 2024, 16:04
Цитата: Arbuz от 10 апреля 2024, 15:57с помощью ООП от 1срр ты можешь иметь отдельный модуль объекта, где хранятся его методы.
а можно так сделать что
СпрНоменклатура.Записать(), где Записать() - это будет мой метод, который будет типа содержать код
...
или каким другим вариантом отработать возможность выполнения "кода модуля объекта" при программном штатном Спр.Записать()...? типа как в 8-ке.. (менеджер объекта?)


Можно.


Алексей Леонидович, разверните пожалуйста Ваше "можно".
Хрен с ней, со ссылкой на Товар, как в родном объекте Спр это можно?

Пиит

Цитата: Злоп от 05 апреля 2024, 16:33Перехватчики позволяют обрабатывать, например, программную запись, например, документа, когда запись без использования формы документа?

Лично я знаю только одну реализацию, приснопамятную V7Crypt Щербакова,
где подменой blang.dll он релизовал все необходимые триггеры, и При, и Перед, и После.
В модуле документа можно объявить все соответсвующие предопределенные процедуры, причём они работают вне транзакции проведения, и видят при этом и контекст модуля и другие триггеры, за малым исключением, ОбработкаУдаленияПроведения выполняется в собственном контексте.

Таким образом, там можно в Спр.Записать() запихать свои коды.

У кого-то, говорят, работает, а я было начал, но не достаточно протестировал грабли и пока отказался.
Имхо очень крутая и полезная штука.
К сожалению, для Справочников нет там ничего, вероятно в связи с отсутствием собственного модуля.

Пиит

Цитата: Болтун от 10 апреля 2024, 18:46С точки зрения БД - это запись, с точки зрения ООП - объект.
Концептуальный барьер.

Что же такое ООБД простыми словами?
Это база данных, в которую уложены Классы вместе с данными, интерфейсами, формами и всем, что только под руку попадёт.

Аппологеты любят поспорить, что первично в парадигме ООБД,  Класс или ТипДанных?
Специалисты по ООП перетягивают канат со специалистами по БД.
Мне лично, как канату между этими группами в полосатых купальниках, глубоко фиолетово.
Я принимаю как аксиому, что любой Класс это ТипДанных, а любой ТипДанных это Класс, поэтому эту двуликую сущность в парадигме ООБД можно называть и так и эдак, в зависимости от контекста.

Повторюсь, любой ТипДанных - это Класс.

СуммаДокумента.Окр() разве не может быть?
Конечно может, как и у любого Класса, у Числа есть собсвенный интерфейс.
Более того, СуммаДокумента, как и СуммаДокумента() могут быть переопределены в этом интерсейсе, ведь Число есть Потомок более глубокого класса под нехитрым названием Класс...

Здесь Злоп начнёт уже ругаться. )
Но я хочу успокоить читаетелй, поскольку Число относится к базовым типам данных, работа с ему подобными Классами-примитивами не может быть заложена на уровне Конфигуратора, это забота виртуальной машины-1Cv9...



Пиит

Цитата: Болтун от 10 апреля 2024, 22:21это забота виртуальной машины-1Cv9...

Здесь я должен отвлечься на терминологию.

Если с ООП, БД и ООБД всё как бы должно быть понятно, то в отличе от этих христоматийных словечек, ООСУБД в нашем контексте будет имеет не прямое значение, как некая пупер-супер навороченная СУБД из ряда тех, которую даже Компания до сих пор для себя не в силах реализовать,
а будет обозначать нашу программку-прокладку, между ООП и БД, "нашу ООСУБД", как некую виртуальную машину, понимающаю нашу ООБД и ее исполняющую.
Из уважения таки к заслугам Компании, иногда буду называть ее 1Сv9.

И работать она будет с проверенной временем класической СУБД.
Я же не псих помышлять о своей собственной.

К слову, аппологеты так же спорят, а нужно ли использовать реляционные БД, мол, старье и всё-такое, пора перевернуть страницу, и создавать "на новых физических принципах".
Я лично не знаю, на каких бинарных деревьях кто чего собрался создавать, прирос всем телом к таблицам и всецело доверяю Эдгару Кодду...