0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
1 | |
Дубликати документов26.03.2006, 16:48. Показов 38797. Ответов 40
Метки нет (Все метки)
Как запретить вносить в БД уже внесенных людей, тоесть чтобы не было одинаковых людей (с ФИО) в разных записях.
0
|
26.03.2006, 16:48 | |
Ответы с готовыми решениями:
40
Отбор по банковскому счету документов в журнале документов (банковская выписка) Отбор документов Связка документов 1С, удаление документов |
|
|
26.03.2006, 17:18 | 2 |
Можно делать проверку в QuerySave на совпадение.
Я делала для своих доков так, хотя думаю, что можно сделать это поизящней. Кто решал подобную задачу? Дайте плз. совет или критику по алгоритму. Код
list1:=@DbLookup("":"NoCache";"":"";"(Spr po UNN+PS)";@Text(CompanyUNN)+@Text(CompanyPC);2); @If(@IsError(list1) | list1="";@Return("");@Success); @If(((@Elements(list1)>1) & Visible!=0 & !@IsNewDoc); @Do(@Prompt([Ok];"Ошибка";"Организация с таким УНН и р/сч уже существует."); FIELD CompanyName:=""); ""); @If(((@Elements(list1)=1) & Visible!=0 & @IsNewDoc); @Do(@Prompt([Ok];"Ошибка";"Организация с таким УНН и р/сч уже существует."); FIELD CompanyName:=""); "") |
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
|
|
26.03.2006, 17:26 | 3 |
Код можно повесить в Validation Formula.
В @DbLookUp возвращать UNID документа и сравнивать с текущим (это чтобы не проверял поле в текущем документе).
0
|
Pytyr123
|
|
27.03.2006, 12:46 | 4 |
Скорее всего говорю глупость, прошу не пинать. А если сделать поле fio ключевым?
|
|
|
27.03.2006, 13:06 | 5 |
Для: Peter123
А как это сделать в Lotus? |
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
27.03.2006, 15:26 | 6 |
В лотусе насколько мне известо понятия ключевого поля не существует, а в оркле пожалуйста, там этого хватает.
0
|
Pytyr123
|
|
27.03.2006, 15:32 | 7 |
Я вообще-то с мускулом работаю, но по идее все, что работает в MySQL должно и в Lotus работать. В мускуле в любом редакторе таблиц можно выбрать поле и поставить галочку на Unique. Или запросом типа ALTER TABLE some_table ADD UNIQUE fio;
У этого решения тоже минусов достаточно. Может быть ограничено количество ключей в таблице, надо смотреть документацию. Для этого поля будет создана индексная таблица (прирост в размере базы, зато поиск по фамилии будет супер ;-) ). И ошибки будет генерировать уже сама БД, может дополнительно придется их перехватывать. А вообще , надо пробовать... |
|
|
27.03.2006, 15:35 | 8 |
Для: Peter123
Лотус нереляционная база, так что такой способ не подходит. Только если писать что-то вроде этого самостоятельно. |
Pytyr123
|
|
27.03.2006, 15:38 | 9 |
Пока писал, Max ответил. Ну раз нет ключевых полей, значит я не в тему...
|
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
27.03.2006, 15:45 | 10 |
А Peter123 вы что-то знаете о взаимодействии лотуса с мускулом.
Можноли его использовать при составлении нотес-приложений
0
|
0 / 0 / 2
Регистрация: 07.05.2005
Сообщений: 743
|
|
28.03.2006, 18:20 | 11 |
<!--QuoteBegin-Max_from_UA+28:03:2006, 13:32 -->
<span class="vbquote">(Max_from_UA @ 28:03:2006, 13:32 )</span><!--QuoteEBegin-->Можноли его использовать при составлении нотес-приложений [snapback]32637" rel="nofollow" target="_blank[/snapback]?[/quote] ODBC LEI
0
|
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
29.03.2006, 16:52 | 12 |
Все еще про дубликаты. Наклёпал такую муть и поместил её в агент, а он не пашет. Что еще нужно указать при составлении аганта находящего дубликаты?
Код
IDcode := @DbLookup("";"";"OsobystiByNpp"; @PickList( [Custom]:[Single]; "":""; "Osobysti"; ""; "";1);"Identifikation"); @If(@IsError(IDcode); @Success; @Implode (IDCode; "")=@Text(@DocumentUniqueID); @Success; @Failure("Идентификационный код в БД уже существует ..."));
0
|
0 / 0 / 2
Регистрация: 07.05.2005
Сообщений: 743
|
|
29.03.2006, 17:25 | 13 |
А что эта муть должна делать?
0
|
|
|
29.03.2006, 17:38 | 14 |
А почему в агент???
|
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
29.03.2006, 17:38 | 15 |
Находить дубликаты идинтификационных кодов в БД?
0
|
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
29.03.2006, 18:01 | 16 |
По писал ответ на вопрос Домино6. Вы задали свой?
ЮЛИЯ: Я создал общий агент FindingCopy, который должен выполняться вручную при нажатии кнопки мз панели дейстий в нужном мне представлении. Тоесть я создал кнопку для которой прописал формулу: Код
@Command([ToolsRunMacro]; "FindingCopy") Все документы в представлении. Вроде все. Что еще нужно для правильной, тобиш корректной работы ?
0
|
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
29.03.2006, 18:06 | 17 |
Osobysti - это моё представление, а OsobystiByNpp - псевдоним этого представления, отсортированного по первому столбцу.
0
|
|
|
29.03.2006, 18:16 | 18 |
Доки не могут иметь одинаковое значение уникального ключа @DocumentUniqueID.
Но вообще по коду хочу сказать, что необходимость выбирать кучу раз Osobysti Пиклистом заставит пользователя быть крайне раздражительным. + @Failure в таких агентах кажется не работет. Почему бы не сделать проще? Сформировать вид, где категоризировать доки по полю, которое хотелось бы видеть уникальным и там следить, чтобы количество доков не превышало 1 в каждой категории. А еще лучше сделать агент на LS, где поиском выбирались бы все доки по форме и анализировались по полю, которое хотелось бы сделать уникальным для базы. |
0 / 0 / 0
Регистрация: 09.03.2006
Сообщений: 120
|
|
30.03.2006, 11:56 | 19 |
Действительно, @Failure в таких агентах точно не работет.
Я конечно извеняюсь за довольно глупие вопросы, а что подразумевается под И как мне быть с людьми без кода. Как для них поставить в соответствие уникальный номер.
0
|
|
|
30.03.2006, 12:09 | 20 |
Уникальный номер документы в базе ставиться автоматически. Почитай в хелпе инфу по UNIDs.
По категориям опять же в хелпе почитай Categories. Или открой любой вид и в первом столбще на второй вкладке поставь переключателем "Категория" и посмотри результат. На картинке пример категории по первому столбцу. |
30.03.2006, 12:09 | |
30.03.2006, 12:09 | |
Помогаю со студенческими работами здесь
20
Блокировака документов Переименование документов Удаление документов Печать документов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |