Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )


> Россыпь мелких вопросов для разработчиков, Вопросы не требующие отдельнх обсуждений
Vagor.ini
Вставить ник
сообщение 13:11:2003, 14:21
Цитата Ответить 


MANTICora Software
Иконка группы

Группа: Lotus team
Сообщений: 826
Регистрация: 8:08:2003
Из: Минск, Беларусь
Пользователь №: 4



Репутация:   1  


Тема для постинга мелких вопросов - ответов для разрботчиков приложений и баз Lotus Notes. Если Ваш вопрос влечет долгое обсуждение, то желательно создать отдельную тему.
Подняться вверх 
 
Сообщение #1
9 страниц V  « < 4 5 6 7 8 > »   
Новая тема 
Ответов (150 - 179)
Gogan.exe
Вставить ник
сообщение 13:05:2004, 11:13
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Ах, что я такое говорю. Если по убыванию сортировать, то первый документ как раз будет с самым большим индексом. С этим все понятно. Буду дальше разбираться.
Подняться вверх 
 
Сообщение #151
Gogan.exe
Вставить ник
сообщение 13:05:2004, 12:12
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


1)Как сказать, что newdoc – это тот документ, который только что создан (current)? или counter подразумевает, что пренадлежит к current?
2)Он мне выдает ошибку Varient does not contain an object если в списке нет ни одного документа, почему?
3)counter = doc.counter(0) +1 получаю Type mismatch. Что значит "0"?
4) Как присвоить полю типа Number полученое значение counter (Integer type)? Какую именно и где использовать формулу? Пытался и Field и SetField, но не получаеться (может не правильно пользую?).
Буду очень благодарен!
Подняться вверх 
 
Сообщение #152
Гость_Guest_*
сообщение 14:05:2004, 04:13
Цитата Ответить 





Инопланетный гость






    


Veselinka А еще есть способы подсчета и присвоения номера?
Подняться вверх 
 
Сообщение #153
Veselinka
Вставить ник
сообщение 14:05:2004, 06:47
Цитата Ответить 


Lotus team
Иконка группы

Группа: Lotus team
Сообщений: 142
Регистрация: 3:03:2004
Из: Новосибирск
Пользователь №: 303



Репутация:   0  


Gogan.exe - похоже что ты путаешь скрипт и формулы.
То что я писала - писала на скрипте. Я не буду здесь читать курс по синтаксису скрипта - кроме того это есть в ]]>http://documentflow.softaria.com/docs/lotus.doc]]>

посмотри как получить текущий документ на события формы или на кнопке если у тебя код на кнопке исполняется.

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

В нотесах нет секвенций как в РДБ, к сожалению и транзакций тоже нет, поэтому нельзя гарантировать 100% уникальность нумерации, а лишь минимальную веротяность ситуации в которой могут возникнуть дубликаты. Хотя ждите R7, подкладывайте DB2 и наслаждайтесь всеми прелестями RDBMS smile.gif
Подняться вверх 
 
Сообщение #154
Gogan.exe
Вставить ник
сообщение 14:05:2004, 07:43
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Тот док, на который ты мне ссылку дала у меня есть.
Сейчас я все подряд путаю.
Мне дали пример БД с работающим каунтером, но там вообще не разобраться ни в чем!
Вот что я накидал в Form ->Field (Номер Документа) ->Initialize :
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim counter As Integer
Set db = session.CurrentDatabase
Set view = db.GetView("СписокДокументов")
Set doc = view.GetFirstDocument
If Isnull(doc) Then
counter = 1
Else
counter = 2
End If
counter = 3
End Sub
Правильно ли это? Каунтер =3 – это для проверки просто ну и 2 – тоже для провсерки… короче сейчас этот скрипт просто должен присвоить значение каунтеру. Как теперь сделать так, чтобы при открытии документа, в поле Номер Документа указывалось значение, хранимое в counter?
Где именно и что именно нужно написать?
Туда ли я поместил этот скрипт?
Подняться вверх 
 
Сообщение #155
Veselinka
Вставить ник
сообщение 14:05:2004, 09:16
Цитата Ответить 


Lotus team
Иконка группы

Группа: Lotus team
Сообщений: 142
Регистрация: 3:03:2004
Из: Новосибирск
Пользователь №: 303



Репутация:   0  


Запись в поле делается при открытии документа или при сохранении - правильнее делать при сохранении, чтобы уменьшить тот интервал, в который кто-то еще может создать документ и ему посчитается тот же номер.
Поэтому рассмотрим событие QuerySave формы

Сразу говорю - объекты в скирипте проверяются на IS nothing а не на Null, не внимательно значит читал документ, раз такие ошибки делаешь (см страницу 66)

Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim counter As Integer

Set db = source.document.parentDatabase

Set view = db.GetView("СписокДокументов")

Set doc = view.GetFirstDocument

If doc is nothing Then
counter = 1
Else
counter=doc.counter(0)+1
End If

source.document.counter=counter

В данном куске кода предполагается, что номер хранится в поле counter

Если повесить на открытии документа, то подойдет событие открытия формы PostOpen, только надо будет UIDocument рефрешить - call source.refresh, ну и считать надо каунтер 1 раз - когда документ новый - source.isnewdoc, не пересчитывать каждый раз при открытии.
Подняться вверх 
 
Сообщение #156
Gogan.exe
Вставить ник
сообщение 14:05:2004, 11:00
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Про null я прочитал в F1. Может, я просто не так понял. Хотя в предложенном варианте я видел, что стоит Nothing. :
“Return value
Document
The specified document. If the specified document is not in the collection, returns null. “
Так что извини.
С остальным сейчас буду разбираться. Только вот уже сейчас не ясно, как сделать так, чтобы значение counter отображалось в поле (Field) НомерЗаказа? Я пытался сделать через @SetField() Но опять же не понял куда и как это вписывать.
Спасибо.
Подняться вверх 
 
Сообщение #157
Gogan.exe
Вставить ник
сообщение 14:05:2004, 11:22
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Уа, товарищи! Считает. По всей видимости он и раньше считал, но только теперь я понял как провеить - создал столбец во View. Красиво так считает. Теперьвот как это значение присвоить полю?
Подняться вверх 
 
Сообщение #158
Veselinka
Вставить ник
сообщение 14:05:2004, 11:44
Цитата Ответить 


Lotus team
Иконка группы

Группа: Lotus team
Сообщений: 142
Регистрация: 3:03:2004
Из: Новосибирск
Пользователь №: 303



Репутация:   0  


call doc.replaceitemvalue("имя поля",значение или переменная со значением)
Подняться вверх 
 
Сообщение #159
Gogan.exe
Вставить ник
сообщение 14:05:2004, 12:26
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Чего-то не работает. Остаеться прежним. sad.gif
Подняться вверх 
 
Сообщение #160
nor
Вставить ник
сообщение 14:05:2004, 19:55
Цитата Ответить 


Lotus master
Иконка группы

Группа: Lotus team
Сообщений: 354
Регистрация: 10:04:2004
Пользователь №: 398



Репутация:   5  


Привет! Довно на форум не заходил, ивините, народ...
Veselinka, все что ты написала выше про порядкоый номер через представления, я уже писал, по-моему, раза 3 тут на форуме и мне в конец заколебало отвечать на одно и тоже (уже недели три прошло вроде, когда вопрос появился... хотя все еще вопрос актуален! smile.gif ) (кстати тот код (порядковый номер - без представлений) - насчет его производительности и неоптимальности я бы с тобой поспорил... smile.gif мне нравится спорить просто... smile.gif ) Спасибо за бд, которую мне на мыло прислала!

НАРОД
Какое хочу сделать замечание - 90% вопросов крайне неинтересны и все как-то по мелочам... Создается впечатление, что малюпасенькая загвоздка толкает человека спрашивать что-то на форуме и ждать, пока ответят... Мне было бы, честно говоря, влом и самому интереснее было бы разобраться... Например, "Что значит dim в начале многих строчек в коде Лотуса" - ну это вообще... Или "FIELD Fieldname:=Fieldmame; Где должна стоять эта строка, почему она необходима, что в ней есть что, и зачем она вообще нужна?" smile.gif
Про редактирование отдельных частей документа я уже 2 раза тоже отвечал...
Ссылки на документы в письме работают только в почтовом клиенте Lotus, в других они не работают - это очевидно...
КАК ПРИСВОИТЬ ЗНАЧЕНИЕ (числовое) ПОЛЮ Я ЧУТЬ ЛИ НЕ ЦЕЛУЮ СТАТЬЮ ПОСВЯТИЛ! smile.gif smile.gif smile.gif Сколько можно спрашивать такое, да и еще по нескольку раз?!!
Подняться вверх 
 
Сообщение #161
nor
Вставить ник
сообщение 14:05:2004, 20:05
Цитата Ответить 


Lotus master
Иконка группы

Группа: Lotus team
Сообщений: 354
Регистрация: 10:04:2004
Пользователь №: 398



Репутация:   5  


Gogan.exe
Мой тебе совет - потрать неделю (7 дней) своего драгоценного времени и разберись, как написана бд какая-нибудь другими разработчиками (можешь использовать шаблон)
также научись работать с дебугером - крайне полезная штука
почитай книги + хелп - последовательно только, пройдись по все классам, ксати в хелпе есть масса реально работающих примеров

после этого у тебя отпадут десятки тысяч вопросов, ты будешь програмировать быстрее, качественнее, будешь получать кайф и сохранишь при этом миллиарды нервных клеток.... smile.gif

не обижайся, пожалуйста, но твои вопросы действительно несколько примитивны... я рад помочь, но с организацией семинара по основам программирования в domino вряд ли получится....
Подняться вверх 
 
Сообщение #162
Gogan.exe
Вставить ник
сообщение 17:05:2004, 06:10
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Я понимаю твое возмущение, и я бы и сам на твоем месте был бы возмущен (мне подобные вопросы по с++ постоянно задают). Но послушай, что я тебе скажу: Тебе сложно ответить на мелкие вопросы? Хелп я читаю стабильно, есть книжка, и БД я создавал уже. А как я пойму шаблон, если мне не понятно было что такое ДИМ? Ну а то что вопросы мелкие… ты на тему этой ветки смотрел?
В общем, так, поверьте, я не халявничаю. Появившийся вопрос я тут же задаю здесь и параллельно начинаю искать в книге, хелпе… Если здесь ответ появиться – прекрасно, тогда следующий чайник вроде меня не будет так сильно напрягаться в поисках решения.
Если какие-то темы обсуждались, и тем более, если написана была статейка – дай ссылку и я буду благодарен!
Подняться вверх 
 
Сообщение #163
Isk
Вставить ник
сообщение 17:05:2004, 09:23
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 42
Регистрация: 14:04:2004
Пользователь №: 416



Репутация:   0  


norСогласен, вот например, в б.д. копался, а там свойство parentdatabase, полез в хэлп узнать для чего оно там и как функцианирует, взял пример, ага ничего, из названия то понял а для чего оно нет. В этом примере написано что будет показано одно и то же название потому что типа одна б.д. Короче в итоге я так и не понял его назначения, а у кого спросить? С уважением Я.
Подняться вверх 
 
Сообщение #164
Isk
Вставить ник
сообщение 17:05:2004, 09:47
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 42
Регистрация: 14:04:2004
Пользователь №: 416



Репутация:   0  


norпрошу прощения, в хэлпе написано что метод нью для нотесдатабэйз не создает новую б.д., в этом была моя ошибка, извиняюсь. Но насчет основного наезда по моему ты все равно не прав, задавать ведь можно любые вопросы, другое дело будешь ТЫ на них отвечать или нет лично твое.
Подняться вверх 
 
Сообщение #165
Gogan.exe
Вставить ник
сообщение 17:05:2004, 10:56
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


У нас в средней школе, в кабинете по химии (кажется) было написано «Единственный глупый вопрос – это не заданный вопрос». Вот так вот!
Подняться вверх 
 
Сообщение #166
Gogan.exe
Вставить ник
сообщение 17:05:2004, 12:06
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Ну, так что, поможет мне кто-нибудь с передачей значения из переменной в поле?
Подняться вверх 
 
Сообщение #167
Gogan.exe
Вставить ник
сообщение 17:05:2004, 13:33
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Все... с этим я разобрался! Нужно было @all написать... откуда мне было знать! Но теперь я знаю. Спасибо всем... завтра задам новые глупые вопросы.
Подняться вверх 
 
Сообщение #168
Gogan.exe
Вставить ник
сообщение 18:05:2004, 06:09
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


У меня совсем засорился список полей (Field). Прежде чем начать создавать базу, я просмотрел много хелпов и где-то натыкался на то, как этот список почистить, но теперь не помню, где это видел. Если кто-нибудь знает – напомните, где это можно найти?
Подняться вверх 
 
Сообщение #169
Vagor.ini
Вставить ник
сообщение 18:05:2004, 09:23
Цитата Ответить 


MANTICora Software
Иконка группы

Группа: Lotus team
Сообщений: 826
Регистрация: 8:08:2003
Из: Минск, Беларусь
Пользователь №: 4



Репутация:   1  


Сделать compact базе с установленной опцией "Document table bitmap optimization" на базе и если это поля не задействовано ни в одном документе - оно удаляется...
Подняться вверх 
 
Сообщение #170
Gogan.exe
Вставить ник
сообщение 18:05:2004, 10:47
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Хм... странно, но они не пропали sad.gif
Подняться вверх 
 
Сообщение #171
Vagor.ini
Вставить ник
сообщение 18:05:2004, 12:19
Цитата Ответить 


MANTICora Software
Иконка группы

Группа: Lotus team
Сообщений: 826
Регистрация: 8:08:2003
Из: Минск, Беларусь
Пользователь №: 4



Репутация:   1  


Gogan.exe
Ищи, затырки бывают, профайлы не использушь, форму в доке не хранишь.
Можешь разнообразить написать скрипт который обходит базу ищет конкретный field и удаляет его...
Подняться вверх 
 
Сообщение #172
Gogan.exe
Вставить ник
сообщение 19:05:2004, 05:14
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0  


Что значит «форму в доке не хранишь»? Где же она может сохраняться?
Подняться вверх 
 
Сообщение #173
Gogan.exe
Вставить ник
сообщение 20:05:2004, 12:59
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Новенький
Сообщений: 162
Регистрация: 23:04:2004
Из: Ульяновск НГ
Пользователь №: 445



Репутация:   0