![]() |
![]() |
![]() |
|
Запись в РегистрСведений (замещаются записи, если даты совпадают) | ☑ | ||
---|---|---|---|---|
0
dft2014
17.05.14
✎
12:57
|
Подскажите, как справиться с проблемой при программной записи в РегистрСведений "Заметки". Его структура:
Измерения (Дата, Объект); Ресурсы (Автор, Содержание, ВидЗаметки). В регистре уже есть записи с Датой=15.05.2014 и ВидомЗаметки="доверенность". Проблема возникает при новом добавлении записей с совпадающей датой. Например, надо добавить новые записи с ВидомЗаметки="договор", при этом уже существующие записи с ВидомЗаметки="доверенность" не изменять. А у меня получается так, что при загрузке, если у новых записей дата, отличная от 15.05.2014, то все хорошо (в регистре появляется новая запись с ВидомЗаметки "Договор" и не затирается старая запись с ВидомЗаметки "Доверенность"), если же дата новой записи совпадает с 15.05.2014, то все старые записи затираются, хотя у них был ВидЗаметки="доверенность", а вместо них создаются новые записи с ВидомЗаметки="договор". Вот код: Функция ЗаписатьЛС(ТаблМас) Для Каждого стрНом Из ТаблМас Цикл ВидЗ = Справочники.ВидыЗаметок.НайтиПоНаименованию("договор"); Если НЕ ВидЗ.Пустая() Тогда ВидЗаметки = ВидЗ.Ссылка; з=Новый Запрос; з.Текст= "ВЫБРАТЬ | Заметки.Дата, | Заметки.Объект, | Заметки.ВидЗаметки |ИЗ | РегистрСведений.Заметки КАК Заметки |ГДЕ | Заметки.Объект = &ФЛ | И Заметки.ВидЗаметки = &Вид"; з.УстановитьПараметр("ФЛ",стрНом.ФИО); з.УстановитьПараметр("Вид", ВидЗаметки); ТаблРез = З.Выполнить().Выгрузить(); ТаблРезКол = ТаблРез.Количество(); Если ТаблРезКол = 0 Тогда ЗаписьРС = РегистрыСведений.Заметки.СоздатьМенеджерЗаписи(); ЗаписьРС.Дата = стрНом.ДатаАД; ЗаписьРС.Объект = ТаблФИО[0].Ссылка; // ЗаписьРС.Автор = ; ЗаписьРС.Содержание = стрНом.НомерАД; ЗаписьРС.ВидЗаметки = ВидЗаметки; ЗаписьРС.Записать(); // ЗаписьРС.Записать(Ложь); КонецЕсли; КонецЕсли; КонецЦикла; Возврат Истина; КонецФункции |
|||
1
Адский плющ
17.05.14
✎
12:59
|
Например, надо добавить новые записи с ВидомЗаметки="договор", при этом уже существующие записи с ВидомЗаметки="доверенность" не изменять.
ты букварь читал? |
|||
2
dft2014
17.05.14
✎
13:00
|
+(0) РС - непериодический.
Если вместо: ЗаписьРС.Записать(); пишу: ЗаписьРС.Записать(Ложь); то выдает ошибку, что запись с такими ключевыми полями существует! Хотя у старых записей ВидЗаметки - доверенность, а у новых - договор. |
|||
3
Tateossian
17.05.14
✎
13:01
|
ВидЗаметки переделать на измерения. Но не удалив ресурс, разумеется. И все обращения к регистру поправить.
|
|||
4
Адский плющ
17.05.14
✎
13:02
|
(2) ВидЗаметки это ресурс, а не измерение. Мозг включи.
|
|||
5
dft2014
17.05.14
✎
13:03
|
(1) А что не так? При ручном добавлении, в пользовательском режиме - все нормально, дает добавить хоть сколько записей физ.лицу, с любыми датами и ВидамиЗаметок.
|
|||
6
dft2014
17.05.14
✎
13:06
|
(5) А нет, не дает при ручном добавлении запись делать, если даты совпадают ((( Это никак не обойти???
|
|||
7
Defender aka LINN
17.05.14
✎
13:15
|
(6) Ты ответов принципиально не читаешь?
|
|||
8
dft2014
17.05.14
✎
13:34
|
Вопрос закрыт.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |