Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Выставление текущей даты в v910^c
Пользователь: esoxen (IP-адрес скрыт)
Дата: 03, May, 2012 12:41

Необходимо, чтобы текущая дата уже была при создании записи, т.е. подставлялась автоматически. Вариант с сочетанием <Alt>+Д не очень удобен.
Можно ли сделать в редакторе РЛ, чтобы значение по умолчанию была функцией, а не статическим значением?

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 03, May, 2012 12:53

нет

Re: Выставление текущей даты в v910^c
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 03, May, 2012 14:33

Можно в автовводе при сохранении документа вставлять текущую дату в экземплярах. Но это вообще не правильно. Шаг ответственный и заполнять его автоматом не разумно.

Re: Выставление текущей даты в v910^c
Пользователь: mazurad (IP-адрес скрыт)
Дата: 06, May, 2012 08:00

Здравствуйте. А есть ли возможность установить маску ввода даты, а то многие пользователи на отрез отказываются вводить YYYYMMDD и, в итоге, врет статистика?

Re: Выставление текущей даты в v910^c
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, May, 2012 09:54

Что значит "наотрез"? Таково правило. Формат ввода даты изменить нельзя. Ввод нужно осуществлять только так!

Re: Выставление текущей даты в v910^c
Пользователь: esoxen (IP-адрес скрыт)
Дата: 15, May, 2012 16:04

Также заинтересовал этот вопрос.
Имеется в виду, скорее всего, отсутствие возможности вводить данные в каком-нибудь другом формате, например DDMMYY вместо YYYYMMDD. И т. п.

Где можно получить информацию о глобальной корректировке? Как пользоваться редактором? Использование операторов и т. п. Или где эту информацию на форуме можно найти?

Необходимо в 910 поде добавить 80 экземпляров с инвентарными номерами, сиглой хранения и т. п.

Заранее спасибо.

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 15, May, 2012 20:07

На все ваши вопросы есть ответы в документации к Ирбису, а по поводу размножения поля 910 - ищите информацию о статусе R, именно он обеспечивает размножение поля 910 для однотипных экземпляров.

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 16, November, 2015 15:09

Подскажите пожалуйста, как обозначается текущая дата на языке ИРБИС? Извините, но просто не нашел нигде.
Чтобы запрос написать с использованием этого параметра.

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 16, November, 2015 18:14

сегодняшнее число в формате YYYYMMDD. Например, сегодня 16 ноября 2015. В формате Ирбиса это будет 20151116

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 17, November, 2015 07:47

Может неправильно вопрос задал, но имел ввиду что нужно использовать текущую дату в языке запросов ИРБИС. Каким кодом ее обозначать?

Нужно например составить запрос для словаря (словарь должников сделать):

40 0 MHL,if v40^E > "текущая дата" then "DLZ="v10," "v11," "v12 fi

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 17, November, 2015 08:38

Во, вроде нашел ее обозначение: &unifor('3')
Правильно?

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, November, 2015 11:58

Да, все правильно. Юнифор(3) - это вывод текущей даты. Но хотелось бы вас предостеречь. Тот словарь, который вы планируете сделать, будет больше создавать проблем, чем помощи. Так как словарь Обновляется в момент сохранения записи. Если человек взял книгу и больше ни разу не появился в библиотеке, он не попадет в словарь должников, если периодически не выполнять создание словаря заново. Такие вещи лучше делать табличной формой, которая будет выполняться и проверять соответствие критериям в данный момент.

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 17, November, 2015 12:29

Огромное спасибо! Совсем про это не подумал.
Придется тогда табличную форму делать.

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, November, 2015 13:17

Я когда-то тоже на этих граблях сплясал. Потом долго объяснял почему не следует пользоваться этим словарем, а нужно получать данные из таблицы. К тому же в таблице удобно настраивать фильтры и сортировки для данных

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 20, November, 2015 09:13

Еще подскажите пожалуйста по формату и языку, если можно. Не знаю где посмотреть и тему создать. Вопрос такой, как сделать чтобы если много одинаковых повторений в формате, то чтобы выводилась одна запись, а не все. Справку смотрел по языку, но не понял все равно какой код использовать.

Формат выбора такой:

(if p(v40) then if v40^f:'***' and val(v40^e)<val(&uf('3')) then &uf('pv10#1'),' '&uf('pv11#1'),' '&uf('pv12#1'),' '&uf('pv30#1') fi fi/)

Результат выводится как на скриншоте. И вот нужно чтобы выводилось одно оригинальное значение, а не несколько.

Вложения: irb.jpg (76.5KB)  
Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 20, November, 2015 10:04

Тут можно обойти одним способом - использовать глобальные переменные. Условно их можно назвать буферами. Почитайте про юнифор +7. А пример решения вашей задачки может быть такой:

&uf('+7w1#'(if p(v40) then if v40^f:'***' and val(v40^e)<val(&uf('3')) then &uf('pv10#1'),' '&uf('pv11#1'),' '&uf('pv12#1'),' '&uf('pv30#1') fi fi/) ),

&uf('+7G1'),

(g1/)

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 24, November, 2015 13:04

Огромное спасибо!
Сам язык более менее осваиваю, а вот эти глобольные переменные темный лес, особенно глобальные переменные и модельные поля (991 всякие и т.п.) Не пойму как это все работает.

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

Хорошо обычным программистам, выучил один язык и все, и справочник по одному языку. А тут для Ирбиса надо 10 языков применять разных.

Вложения: tab.jpg (57.7KB)  
Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 24, November, 2015 13:42

Покажите вашу форму - все файлы от формы заархивируйте и приложите к сообщению. Судя по всему у вас или нет сортировки ,или она выполняется по другим параметрам.

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 24, November, 2015 14:04

Прилагаю файлы

Вложения: Dolz.zip (1.8KB)  
Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 24, November, 2015 14:15

И так... приступим к комментированию:
1. Принципиально не правильный подход к сортировке. Вы в форму загоняете всех читателей, у которых есть поле 33, а потом в теле таблицы уже делаете проверку не является ли он должником. Именно по этому у вас на скриншоте много пустых строк: пустые строки - это читатели без долгов.
Сортировку и проверку на то, кого выводить, а кого - нет, надо делать в ключе. Например, так:

(if p(v40) then if v40^f:'***' and val(v40^e)<val(&uf('3')) then &uf('av10#1'),' '&uf('av11#1'),' '&uf('av12#1'), break fi fi/)

С таким ключом вы отловите всех должников и отсортируете их по ФИО.

В самой таблице останется вывести только данные о них без всех этих громоздких форматов.

Для ФИО вот такой формат:

v10' 'v11' 'v12

Для идентификатора такой:

v30

Re: Выставление текущей даты в v910^c
Пользователь: KrVs (IP-адрес скрыт)
Дата: 24, November, 2015 14:52

Огромное спасибо за помощь! Теперь все понял.

Главное что теперь, благодаря Вашим объяснениям, понял сам принцип формирования табличных форм. То есть первоначальный этап - это в ключе сортировки выделяем те данные, которые нам нужны, а потом уже, имея эти данные, расбрасываем все по таблице как нужно.

А то просто подстановкой занимался по похожести, не понимая сути самой системы построения табличной формы, отсюда и непонимание было что к чему, хотя читал документацию по табличной форме.

Re: Выставление текущей даты в v910^c
Пользователь: Gena (IP-адрес скрыт)
Дата: 24, November, 2015 15:02

Я бы даже так описал этот принцип:

1 этап - формирование ключей сортировки. Их может быть и несколько. Все записи, на которых формат ключа ничего не выдал (не создал ключ для сортировки), в таблицу не попадают.

2 этап - сортировка ключей. Полученные в ключе строки сортируются. Сортировка происходит как текст. какие бы данные вы не формировали (текст или цифры), они будут рассматриваться как текст и соответствующим образом сортироваться по значению кодов символов

3 этап - вывод табличной части. на этом этапе формируется сама таблица. Записи в ней выводятся в том порядке, в котором отсортировались соответствующие ключи


Есть свои нюансы выводом заголовков сортировки - значений ключей, с созданием на одной записи нескольких ключей, подсчетом итогов и так далее. Но это лучше на живых примерах рассматривать



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.