|
проверка на запист в регистре сведений |
☑ |
0
JustGuest
10.05.17
✎
14:46
|
Привет всем.
Вопрос.
Как можно проверить на существующую запись по измерению ?
То есть , я создаю менеджер записи, делаю запись, но если она там была, то вроде как затирается и создается с новыми реквизитами;.
|
|
1
Heckfy
10.05.17
✎
14:48
|
Стандартно: Запросом.
|
|
2
Ц_У
10.05.17
✎
14:50
|
(0) МенеджерЗаписи.выбран()?
|
|
3
JustGuest
10.05.17
✎
15:08
|
(1) Думал есть способ проще =)
(2) спс, гляну СП , может прочитать и выбран то что надо будет
|
|
4
AlvlSpb
10.05.17
✎
15:43
|
Отбор = Новый Структура("ИмяИзмерения", ЗначениеИзмерения);
ЗначенияРесурсов = РегистрыСведений.НашРегистр.Получить(Отбор);
|
|
5
Лефмихалыч
10.05.17
✎
15:55
|
куда уж проще!
Измерения = новый Структура("Валюта", Константы.ВалютаУправленческогоУчета.Получить());
Если ЕстьЗаписьВРегистреПоИзмерениям("КурсыВалют", Измерения) Тогда
Сообщить("Есть запись");
КонецЕсли;
Функция ЕстьЗаписьВРегистреПоИзмерениям(ИмяРегистра, Измерения)
Запрос = Новый Запрос;
Поле = "";
ТекстГде = "";
Для Каждого КлючЗначение из Измерения Цикл
ТекстГде = ТекстГде + Символы.ПС + КлючЗначение.Ключ + " = &"+КлючЗначение.Ключ;
Поле = КлючЗначение.Ключ;
Запрос.УстановитьЗначениеПараметра(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
ТекстГде = СтрЗаменить(СокрЛП(ТекстГде), Символы.ПС, " И ");
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 "+Поле+" ИЗ Регистрсведений."+ИмяРегистра+" ГДЕ "+ТекстГде;
Возврат не Запрос.Выполнить().Пустой();
КонецФункции
гыгыгы
|
|
6
HardBall
10.05.17
✎
16:08
|
Спасибо.
А мы вот так.
"ВЫБРАТЬ РАЗЛИЧНЫЕ 1 КАК П1 ....
|
|