Ru-Board.club
← Вернуться в раздел «Программы»

» CronosPlus & Cronos for DOS - сист. управления БД

Автор: ww1ww
Дата сообщения: 18.02.2015 13:34
Функция DECODE
Назначение
Раскодирует значение заданного словарного поля по подключенному к нему словарю.
Возвращает понятие с указанным номером.
Синтаксис
DECODE ( Поле, НомерПонятия )
Аргументы
Поле – буквенно-числовое обозначение поля в формате <МнемокодБазы><НомерПоля>. Поле должно быть словарным и иметь подключенный словарь. Если поле является множественным, раскодируется только первое значение. Для указания поля может быть использовано значение строковой переменной или поля базы.
НомерПонятия – целое число, задающее номер возвращаемого понятия. Нумерация понятий начинается с 1. Если этот аргумент равен 0, функция возвратит все понятия словаря, соответствующие заданному коду (разделенные переменной @VALUESEPARATOR)
Возвращаемое значение
Понятие с указанным номером из подключенного словаря.
Если аргумент НомерПонятия равен 0, функция возвратит все понятия словаря, соответствующие заданному коду (разделенные переменной @VALUESEPARATOR).
Пример использования

@ret := DECODE ( ЛЦ9, 1 ); /* переменной @ret присвоено понятие №1, соответствующее коду, содержащемуся в поле №9 базы ЛЦ. Раскодирование значения произведено по словарю, подключенному к указанному полю */
Автор: graffserg
Дата сообщения: 18.02.2015 15:21
Уважаемый ww1ww!!
Пожалуйста, помогите разобраться.
А) Имеется банк данных, состоящий из баз:
1. установочные данные (УД)
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – фамилия, тип поля - текстовый;
- № поля - 2, название поля – девичья фамилия, тип поля - текстовый;
- № поля - 3, название поля – имя, тип поля - текстовый;
- № поля - 4, название поля – отчество, тип поля - текстовый;
- № поля - 5, название поля – дата рождения, тип поля - дата;
- № поля - 6, название поля – гражданство, тип поля - словарное;
………………
- № поля - 9, название поля – место рождения, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Адрес» (АД) и состоящий из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Страна, тип поля - словарный;
- № поля - 2, название поля – Область, тип поля - текстовый;
- № поля - 3, название поля – Район, тип поля - текстовый;
- № поля - 4, название поля – Населенный пункт, тип поля - текстовый;
- № поля – 10 и 11, название полей – Адрес прописки и Адрес места жительства соответственно, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Адрес» (АД) и состоящие из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Страна, тип поля - словарный;
- № поля - 2, название поля – Область, тип поля - текстовый;
- № поля - 3, название поля – Район, тип поля - текстовый;
- № поля - 4, название поля – Населенный пункт, тип поля - текстовый;
- № поля - 5, название поля – Улица, тип поля - текстовый;
- № поля - 5, название поля – № дома, тип поля - текстовый;
- № поля - 5, название поля – № квартиры, тип поля - текстовый;
- № поля – 13, название полей – Место работы, должность, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Трудовая деятельность» (ТД) и состоящие из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Наименование организации, тип поля - словарный;
- № поля - 2, название поля – Должность, тип поля - текстовый;
……………..
Б) Мне необходимо, С Вашей помощью, если есть возможность, создать статистический отчет, который:
1. Чтобы Фамилия, девичья фамилия, имя, отчество были объединены, к примеру Иванова (Петрова) Лариса Андреевна.
2. Чтобы Девичья фамилия, при ее наличии бралась в скобки, к примеру (Петрова).
3. Чтобы Адрес прописки и Адрес места жительства были объединены, на примере 1 пункта.
4. Чтобы Адрес места жительства, при его наличии брался в скобки, на примере 2 пункта
В) Пробовал согласно Вашего примера, в посте выше, ни чего не получилось (если честно, то не очень разобрался и в конечном итоге запутался, что такое «ИН3_ОР» и т.д.):
@n := CAT(УД9_АД,CAT(АД11_УД,(DECODE(АД1,0)<<" "<<DECODE(АД1,0)<<" "<<АД2<<" "<<АД3<<" "<<АД4<<"; ")))
@m := CAT(ИН3_ОР,CAT(ОР15_АД,(DECODE(АД1,0)<<" "<<DECODE(АД1,0)<<" "<<АД2<<" "<<АД3<<" "<<АД4<<"; ")))
@RET := @n<<@m

@RET := DECODE(УД6,1) - если давать ссылку на гражданство так, то получается, а если на сложное поле Адрес, то нет, а просто на адрес, то в статистическом отчете появляются одни «0»


Уважаемый ww1ww!!
У меня получилось с помощью данной формулы @RET := CONCAT(УД1, " ("<<УД2<<") ")<<(CONCAT(УД3, " "<<УД4)); соединить Фамилия, девичья фамилия, имя, отчество, причем () ставятся не зависимо от того, есть ли у человека Девичья фамилия или нет, к примеру:
- если есть Девичья фамилия, то – Иванова (Петрова) Алла Васильевна
- если отсутствует Девичья фамилия, то Иванова () Алла Васильевна или Петров () Егор Сергеевич.
Подскажете, пожалуйста, какое условие нужно поставить, чтобы () появлялись, только тогда, когда у человека имеется Девичья фамилия?

При попытке декодировать сложное поле, в частности Страна с помощью формулы @RET :=CAT(УД9_АД,CAT(АД11_УД,(DECODE(АД1, 0));); выдает сообщение, что «АД1» не известное выражение, типа (DECODE(АД1, 0) должно быть простым полем. Как быть в данной ситуации?
Автор: ww1ww
Дата сообщения: 19.02.2015 11:10

Цитата:
В) Пробовал согласно Вашего примера, в посте выше, ни чего не получилось (если честно, то не очень разобрался и в конечном итоге запутался, что такое «ИН3_ОР» и т.д.):
@n := CAT(УД9_АД,CAT(АД11_УД,(DECODE(АД1,0 ....

Вы пожалуйста простите что не комментировал мой пример. Для вас он только пример как выглядят эти самые, причем простейшие, формулы. У вас банк данных состоит из одной прямой таблицы, а в моем примере банков много и они различным образом связаны. Поэтому я и применял функцию: CAT(Связь,Поле) связь выводит нас на другую базу данных оттуда мы берем нужное поле и уже результаты вытаскивания, а они могут быть из словарного банка, склеиваем в ячейке. Так что пример не более чем внешний вид того, что формулы последовательно вкладываются одна в другую.
У вас все свое. И вам придется в это вникнуть самому.
P.S.
По идее и вам надо проектировать все отдельно. Адрес - отдельно, Паспорта- отдельно. Потом все эти дела вязать на базу Клиент ФИО или как вы её там назовёте. В свою очередь тот же Адрес формировать из словарных банков данных. Логика такого проектирования заключается в кривых руках. Чем меньше вариантов для работы оператора по вводу данных - тем лучше.( ул.Ленина, лнина ул., улица Ленина, у-л Ленина, уЛенина, у.Ленина, Ленина, Леннина, .... бесконечный ряд дурости) Вы никогда не найдете нужного адреса если позволите оператору самому называть улицу.

Цитата:
с помощью данной формулы @RET := CONCAT(УД1, " ("<<УД2<<") ")<<(CONCAT(УД3, " "<<УД4))

Если вместо " (" поставить пробел " ", то не будет скобок девичьей фамилии, может не так они и важны для вашего отчета. Это ж "штабная культура" советских канцелярий. А может попробовать заменить " (" какой то @<Имя_локальной_переменной>, а переменную обусловить логическими условиями пустого /непустого поля.IF (NOT(условие1)) THEN (выражение1)
Автор: graffserg
Дата сообщения: 19.02.2015 11:21
Уважаемый ww1ww!!
Спасибо за отзывчивость и понимание.
Цитата:

1. Чтобы Фамилия, девичья фамилия, имя, отчество были объединены, к примеру Иванова (Петрова) Лариса Андреевна.
2. Чтобы Девичья фамилия, при ее наличии бралась в скобки, к примеру (Петрова).

С данными пунктами помогли разобраться при помощи формулы @RET := TRIM(SWAP(УД1<< " ("<<УД2<<") "<<УД3<<" "<<УД4,"()",""))

Тепеть у меня появился самый глобальный из глобальнейших вопросов:
- как можно "склеить" сложные поля:
№ поля - 9, название поля – место рождения, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Адрес» (АД) и состоящий из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Страна, тип поля - словарный;
- № поля - 2, название поля – Область, тип поля - текстовый;
- № поля - 3, название поля – Район, тип поля - текстовый;
- № поля - 4, название поля – Населенный пункт, тип поля - текстовый;
№ поля – 10 и 11, название полей – Адрес прописки и Адрес места жительства соответственно, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Адрес» (АД) и состоящие из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Страна, тип поля - словарный;
- № поля - 2, название поля – Область, тип поля - текстовый;
- № поля - 3, название поля – Район, тип поля - текстовый;
- № поля - 4, название поля – Населенный пункт, тип поля - текстовый;
- № поля - 5, название поля – Улица, тип поля - текстовый;
- № поля - 5, название поля – № дома, тип поля - текстовый;
- № поля - 5, название поля – № квартиры, тип поля - текстовый;
№ поля – 13, название полей – Место работы, должность, тип поля – прямая ссылка, является сложным полем, ссылающемуся на базу «Трудовая деятельность» (ТД) и состоящие из:
- № поля - 0, название поля – системный номер;
- № поля - 1, название поля – Наименование организации, тип поля - словарный;
- № поля - 2, название поля – Должность, тип поля - текстовый;
таким образом, чтобы
- № поля - 1, название поля – Страна, тип поля - словарный;
выдавалось названием "Страны", а не его Кодом, типа "00000 Магаданская обл. Магаданский р-н д. Магадан. 00000 - это код страны.
Я пробовал при помощи формулы @RET := CAT(УД9_АД, АД1<<" "<<АД2<<" "<<АД3<<" "<<АД4); но в статистическом отчете выдает, к примеру "00000 Магаданская обл. Магаданский р-н д. Магадан.
Мне нужно, я так подразумеваю, сделать это при помощи функции DECODE, но когда использую данную функцию пишет, что поле должно быть простым.
Если можно подскажите как мне это сделать.
Спасибо.
Автор: ww1ww
Дата сообщения: 19.02.2015 12:41

Цитата:
@RET := TRIM(SWAP(УД1<< " ("<<УД2<<") "<<УД3<<" "<<УД4,"()",""))

Нормально получилось.

Автор: RuzzzStudios
Дата сообщения: 05.03.2015 03:31
Подскажите, за что так популярна эта СУБД?
Автор: ww1ww
Дата сообщения: 05.03.2015 07:25
например одна из баз на Oracle размещается на 12 DVD если её выгрузить. В кроносе та же база 1,3 Гб, хотя если честно, лишние словари и пустые таблицы выброшены. Сервер можно поднять на обычной офисной тачке.
Автор: Leo66
Дата сообщения: 05.03.2015 08:59
RuzzzStudios
Низкие требования к аппаратной части, отсутствие необходимости разрабатывать интерфейс и программировать, скорость работы, компактность, удобство, при условии, что Вы поймете идеологию разработчиков.
Автор: soloveika
Дата сообщения: 05.03.2015 19:30
Добавлю: малый размер, не требует установки, есть импорт данных из сторонних форматов, ведет логи через системный журнал, наличие глобального поиска, формы ввода/вывода, формулы. Из недостатков (относится к 3 версии, 4 и выше не СЧУпал): пароли не шифрованы и с легкостью находятся в памяти, не воспитанные разработчики, вам быстрее нахамят, чем помогут (говорю на личном примере, возможно кому то не хамили, а целовали, но это зависит от суммы перечисленных денежных средств, ИМХО).
Автор: PiGeMa
Дата сообщения: 15.03.2015 00:06
Сейчас в ходу версия 6.3. Версия 4 появилась в 2009 году. Учитывая, что Вы новые версии не использовали, то не являетесь зарегистрированным пользователем, иначе бы обновились. А в новых версиях очень много нового и интересного. Старые версии не поддерживаются, поэтому наверное Вам так и отвечают, как использующему взломанную версию, да еще и более десятилетней давности.
Автор: ww1ww
Дата сообщения: 15.03.2015 15:28

Цитата:
поэтому наверное Вам так и отвечают

Вон оно чё Михалычч, а мы то думаем.... От версии кроноса "доброта" разработчика не зависит. На самые простейшие вопросы даже при всех правах и полной легальности можно получить неприятное общение. А бывает и наоборот. Вообще ни каких официальных причин для общения, а вопрос чудом и решился. Ну, да и ладно.
Автор: PiGeMa
Дата сообщения: 15.03.2015 20:44
Ответов можно получить больше на официальном форуме от простых пользователей и самих разработчиков, чем от официальных обращений. Служба тех. поддержки не в полной мере владеет ситуацией, а разработчикам некогда. Работают они...
Автор: Leo66
Дата сообщения: 16.03.2015 00:28
PiGeMa
Агитировать за советскую власть особенно одаренных - безнадежно и бесперспективно.
Пусть каждый остается в том состоянии, в каком хочет остаться.
Хочешь быть счастливым (добрым, богатым, веселым ну т.п.) - будь!
Автор: soloveika
Дата сообщения: 18.03.2015 14:37

Цитата:
Агитировать за советскую власть особенно одаренных - безнадежно и бесперспективно.


Я ж говорю хамят.
Если возникнет желание проверить, то попросите у разрабов патент на cronos+ или задайте вопрос, почему при покупке полной версии некоторые функции программы, такие как установка пароля на структуру, не активны.
Автор: neo_matryx
Дата сообщения: 18.03.2015 15:49

Цитата:
задайте вопрос, почему при покупке полной версии некоторые функции программы, такие как установка пароля на структуру, не активны.

Предполагаю, что это потому, что толку от них НОЛЬ
Даже без спецсредств снимаются за 3-4 мин.

А вобще вопрос риторический.
Автор: soloveika
Дата сообщения: 18.03.2015 20:40

Цитата:
Предполагаю, что это потому, что толку от них НОЛЬ

Не все спецы, да и вопрос не в том, что и как снимается, а в том, почему покупая полную версию доступны не все функции?
Автор: Leo66
Дата сообщения: 18.03.2015 23:09
soloveika
По поводу пароля на структуру.... а кто Вам сказал, что данная функция должна присутствовать в стандартной версии. Вы можете допустить, что существует несколько вариантов программы, в том числе и с "заказными" функциями? Или Вы настаиваете на своей исключительности и требуете того, что даже не существует?
Есть стандартный CronosPro (полный) с теми функциями, которые объявлены и описаны.
Наверное, я допускаю, есть и другие варианты, но это уже не СТАНДАРТНАЯ программа, о которой мы говорим.

И о личном.
Флудить так флудить, сказал Матроскин.....
Вы сказали
Цитата:
Я ж говорю хамло, правда тут можно сделать поправку на бывшее место работы.

Я, если честно, не пытался ни оскорбить Вас ни бросить тень на какую либо компетентность. И слов гадких не употреблял. Я вообще считаю, что мы все здесь одаренные и все исключительные, каждый в своем. А Вы так не считаете?
Вы с таким негативным отношением к окружающим, себя считаете адекватным? ну-ну оставайтесь там, где находитесь....
Автор: soloveika
Дата сообщения: 19.03.2015 10:18
Leo66
По поводу стандартной версии, все это говорится после покупки. Я скачал демку, задал вопрос по лицензии, получил ответ, что функции в полной версии будут доступны. Заплатил деньги, получил прогу с залоченными функциями и на вопрос получаю ответ который написан вверху: версия стандартная, остальное не для вас и т.д. еще и хамят при этом. Читая между строк понятно надо платить еще.
По поводу патента не услышал ответ.
Если для Вас "особенно одаренный" это нормально, то буду Вас так называть с этого момента.
Автор: Leo66
Дата сообщения: 19.03.2015 12:19
soloveika

Цитата:
буду Вас так называть с этого момента

Спасибо!
Еще раз повторю, в стандартной версии нет тех функций, о которых Вы говорите.
Их нет ни у меня, ни у любого пользователя стандартной версии.
Но я знаю ряд организация, для которых была создана СПЕЦИАЛЬНАЯ версия именно для тех организаций с дополнительными функциями, которые им нужны.
Я не знаю о финансовой стороне данного взаимодействия, но при создании специальной версии ПО, заключается определенный контракт с определенными условиям.
Согласитесь, если я покупаю у Вас ПО, но хочу вместо синенького что-то желтенькое, Вы мне ответите -ОК, плати и будет желтенькое, а за стандартный гонорар есть то что описано.
Я не знаю, правильно это или нет, но программист должен зарабатывать и кормить своих животных, родных, технику , ну и остальное окружение.
В добавление, функции по блокировке структуры обещают появиться в 7 версии.....
Автор: soloveika
Дата сообщения: 19.03.2015 12:48
Особенно одаренный Leo66

Цитата:
при создании специальной версии ПО, заключается определенный контракт с определенными условиям.

Это можно все говорить перед подписанием договора?

Цитата:
программист должен зарабатывать и кормить своих животных, родных, технику , ну и остальное окружение.

Мы наверное говорим о разных вещах и не поймем друг друга, просто у меня на первом месте родные, а потом уже животные.
Автор: AntikillerPM
Дата сообщения: 19.03.2015 13:09
Leo66
soloveika
имеется банк в нем 9 баз связанных по полю, в каждой базе от 20 до 70 текстовых полей
как формулой удалить в текстовых полях знак ( " ) ?
через массовую коррекцию можно, а как формулой?
Автор: Leo66
Дата сообщения: 19.03.2015 13:14

Цитата:
Это можно все говорить перед подписанием договора?

Странный вопрос, а разве бывает иначе? Но инициатором должен быть тот, кому это нужно, он также должен быть готов, что ему откажут, если интерес к нему с иной стороны отсутствует.

Цитата:
у меня на первом месте родные

У нас у всех, поверьте, именно так и есть. Я просто проявляю к Вам открытость и готовность к любому диалогу. I am reade. (RDY)

Но наши с Вами диалоги не относятся к предмету данной ветки форума. Хотите - создайте ветку по оценки поведения сотрудников компании Кронос-Информ и мы там продолжим.

Автор: soloveika
Дата сообщения: 19.03.2015 15:19
Особенно одаренный Leo66

Цитата:
Но инициатором должен быть тот, кому это нужно


Тут вопрос это надо тому кто продает или покупает. Если при покупке умолчали, что авто утопленник это обман. По вашему получается, что нет, не спрашивали же. При покупке программы про каждые кнопки меню спрашивать? Сказали версия полная, а оказалось нет. Уважаемый продавец укажет все нюансы, так как он лучше про это знает. А хитроЖ промолчит.
Действительно наше обсуждение не относится к ветке форума, пора заканчивать. Каждый остался при своем мнении, повторюсь, мне (возможно единственному) по хамски отвечали в техподдержке, что я и озвучил.
Автор: KONKAR
Дата сообщения: 19.03.2015 21:15
AntikillerPM

Цитата:
имеется банк в нем 9 баз связанных по полю, в каждой базе от 20 до 70 текстовых полей
как формулой удалить в текстовых полях знак ( " ) ?
через массовую коррекцию можно, а как формулой?  

Попробуйте
Имя_поля:=CONVERT(Имя_поля ,char(22),char(20)) - заменяет в операнде <строка1> все значения опе-ранда <строка2> на соответствующие им значения операнда <строка3>.

Автор: PiGeMa
Дата сообщения: 24.03.2015 09:24

To soloveika
Цитата:
почему при покупке полной версии некоторые функции программы, такие как установка пароля на структуру, не активны.

У меня стандартная версия. Опция установки пароля на структуру активна. Проверил на версиях 6.2.30 и 6.3.412. Установил пароль. Доступа нет. Снял. Есть. Снова установил-снял. Все работает.
Эти опции деактивированы только в демо-версии, как и некоторые другие (шифрование, нормальное копирование и пр.). В стандарте все это работает.
Какую версию и у кого Вы купили?
Автор: neo_matryx
Дата сообщения: 24.03.2015 10:37

Цитата:
У меня стандартная версия. Опция установки пароля на структуру активна. Проверил на версиях 6.2.30 и 6.3.412. Установил пароль. Доступа нет. Снял. Есть. Снова установил-снял. Все работает.

Подтверждаю.
В купленных 6.2, 6.3 все декларированное доступно.
Автор: soloveika
Дата сообщения: 25.03.2015 12:36
Во первых я говорил про 3 версию, о чем указал. Во вторых говорил про хамство разработчиков, а не функционал программы.
Автор: PiGeMa
Дата сообщения: 25.03.2015 15:36
Когда ж это было то? Если с 2009 года продаются новые версии. Если Вы спрашивали в ближайшее время, то никто и не ответит по 3-ей версии, да и тех. поддержка по гарантии только год, за остальное надо доплачивать. Обновляйтесь до новой версии и спрашивайте письменно техподдержку. Никто не нахамит и ответят по существу, если смогут.
Вы бы еще про DOS 3.3 спросили в мелкософте.
Автор: ww1ww
Дата сообщения: 26.03.2015 20:08

Цитата:
Никто не нахамит и ответят по существу, если смогут.  
Вы бы еще про DOS 3.3 спросили в мелкософте.


Похоже назревает срач. А все наши знают, что в этой ветке так не делают. Похоже, что PiGeMa с разработчиками общается путем передачи чайного пакетика через соседнюю клаву, а может и возле писуара приветливо кивает. А иначе с чего это так за правду биться?
Автор: Leo66
Дата сообщения: 26.03.2015 21:17
Поиски черной кошки в черной комнате закончились неудачно - кошка в комнату не заходила.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253

Предыдущая тема: Mozilla Firefox! (часть 10)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.