|
Проверка на уникальность ПриЗаписи в регистр сведений
| ☑ |
0
StupidDuck
03.07.14
✎
16:29
|
Помогите, сам никак не разберусь, всего пару недель как познакомился с 1с. Есть документ УстановкаЦенСпецификации, в нем реквизиты ТипЦены(ссылка на справочник ВидыЦен), Спецификация(ссылка на спрНоменклатура) и ТЧ, которая заполняется при выборе Спецификации. Этот документ создает движения по периодическому регистру сведений. Измерения регистра - ТипЦены, Номенклатура, ну и Период. Задача сделать проверку в событии ПередЗаписью на уникальность добавляемых записей и не добавлять новую не уникальную запись. По идее это надо как то делать через запрос к временной таблице, в которой содержится ТЧ документа, но я никак не соображу как именно это сделать.
|
|
1
elCust
03.07.14
✎
16:31
|
Две одинаковые записи тебе не даст создать сам регистр. Ругнется при проведении.
|
|
2
Enders
03.07.14
✎
16:32
|
(0) а на кой?
Не правильнее ли проверять дубли в документе и ругаться, при попытке провести, на повторяющиеся элементы?
|
|
3
StupidDuck
03.07.14
✎
16:34
|
Задача поставлена именно так. Я знаю, что он не даст провести не уникальный документ, но проверку нужно сделать именно в событии ПриЗаписи.
|
|
4
anatoly
03.07.14
✎
16:36
|
уникальность по каким измерениям?
вообще смысл непонятен - периодический РС на то и нужен чтобы историю изменения цен хранить...
|
|
5
StupidDuck
03.07.14
✎
16:40
|
Проверку по всем измерениям - Номенклатура, ТипЦены, Период
|
|
6
anatoly
03.07.14
✎
16:44
|
(5) тогда (1)
|
|
7
Enders
03.07.14
✎
16:50
|
(5) Если не устраивает штатная проверка из (1),присоедини к РС внутренним соединением ТЧ объекта по Номенклатуре,ТипуЦен и Периоду. Если запрос что-то вернёт тогда есть не уникальные записи.
Хотя он всегда будет говорить, что есть не уникальные записи при перепроведении документа. Так как сдаётся мне что РС не только периодический, но подчиненный регистратору, а в этом случае записи очищаются в обработке проведения, а потом формируются заново.
Даже если РС не подчиненный, то всё равно логично было бы очищать записи в обработке проведения, а потом добавлять заново.
|
|