Уникальность записей
10.11.2002
19:10
#1
Подскажите, пожалуйста, как реализовать проверку на дублирование записей в "Производство+Услуги+Бухгалтерия" при записи документа. Мне необходимо, чтобы в журнале не было документов с одинаковым номером за одну дату (например, квитанция). Вообще, как сделать проверку уникальности реквизита документа или справочника.
11.11.2002
08:27
#2
Самое простое - при вводе документа не менять предложенный системой номер документа. Она ведь сама не делает одинаковые. Другой вопрос если вы хотите сохранять номер первичного документа, то мы, например, реализовали это в дополнительных реквизитах документов как то номер первичного до-та и дата первичного док-та. Простите, это если вы работаете с конфигуратором.
15.11.2002
16:18
#3
"Можно поставить контроль уникальности с периодом день,
Можно добавить в процедуру ПриЗаписи() следующие строки:
для документов:
Элем=СоздатьОбъект(Вид);
Элем.ВыбартьДокументы(ДатаДок,ДатаДок);
ПОКА Элем.ПолучитьДокумент()=1
ЦИКЛ
ЕСЛИ Элем.НомерДок=НомерДок;
ТОГДА
СтатусВозврата(0);
Сообщить(Сообщение);
Прервать;
Возврат;
КОНЕЦЕСЛИ;
КОНЕЦЦИКЛА;
для справочника
(реквизиты должнгы иметь признак сортировка):
Элем=СоздатьОбъект(Вид);
ЕСЛИ Элем.НатйиПоРеквизит(НаимРеквизита,Значение,ФлГлПоиска)=1
ТОГДА
СтатусВозврата(0);
Сообщить(Сообщение);
Возврат;
КОНЕЦЕСЛИ;
Это первое что пришло в голову, наверно можно сделать и оптимальнее
если что-то не понятно смотрите описание встроенного языка 1С
"
Можно добавить в процедуру ПриЗаписи() следующие строки:
для документов:
Элем=СоздатьОбъект(Вид);
Элем.ВыбартьДокументы(ДатаДок,ДатаДок);
ПОКА Элем.ПолучитьДокумент()=1
ЦИКЛ
ЕСЛИ Элем.НомерДок=НомерДок;
ТОГДА
СтатусВозврата(0);
Сообщить(Сообщение);
Прервать;
Возврат;
КОНЕЦЕСЛИ;
КОНЕЦЦИКЛА;
для справочника
(реквизиты должнгы иметь признак сортировка):
Элем=СоздатьОбъект(Вид);
ЕСЛИ Элем.НатйиПоРеквизит(НаимРеквизита,Значение,ФлГлПоиска)=1
ТОГДА
СтатусВозврата(0);
Сообщить(Сообщение);
Возврат;
КОНЕЦЕСЛИ;
Это первое что пришло в голову, наверно можно сделать и оптимальнее
если что-то не понятно смотрите описание встроенного языка 1С
"
Читают тему
(гостей: 1)