Имя: Пароль:
1C
1С v8
Как избавиться от дублирования записей в РС?
,
0 Kamich
 
30.03.13
10:02
Добрый день.
В форме есть два реквизита Дата,Ставка.

После закрытия форме происходит новая запись в РС.

Вопрос:
Как программно сделать сформулировать код так,чтобы была проверка,если Ставка равна Последней Ставке в РС,то запись не проходит?
1 zak555
 
30.03.13
10:03
запросом
2 Kamich
 
30.03.13
10:04
(1) Тоянк,..)Спасибо)
3 hhhh
 
30.03.13
10:33
(2) вообще-то надо наоборот, чтобы ставка была на каждый день. А форму не каждый день закрывают.
4 Kamich
 
30.03.13
10:50
(3) Просто,чтобы не "Засорять" одними и теми же ставками. Сделал вот такой вот запрос,работает...Но вот если в РС пустой то ни чего не происходит,что не так?
      Запрос=Новый Запрос();
      Запрос.Текст=
      "ВЫБРАТЬ
      |    КонстантыСрезПоследних.Ставка КАК Ставка
      |ИЗ
      |    РегистрСведений.Константы.СрезПоследних КАК КонстантыСрезПоследних";

    Результат=Запрос.Выполнить().Выбрать();
   
    Пока Результат.Следующий() Цикл
       
   Если Результат.Ставка=Ставка Тогда
       Предупреждение("Ставка осталось прежней");
       ЭлементыФормы.ЗаписатьВРеестр.Видимость=Ложь;    
   КонецЕсли;
   Если НЕ Результат.Ставка=Ставка Тогда
       Набор=РегистрыСведений.Константы.СоздатьМенеджерЗаписи();
       Запись=Набор;
         Запись.Период=ПоследнееИзменение;
       Запись.Дата=ПоследнееИзменение;
       Запись.Пользователь=ПараметрыСеанса.ТекущийПользователь;
       Запись.Ставка=Ставка;
       Набор.Записать();
       ЭлементыФормы.ЗаписатьВРеестр.Видимость=Ложь;        
   КонецЕсли;
5 ssh2006
 
30.03.13
10:54
(4) если пустой, то Результат.Следующий()  = ложь
6 Kamich
 
30.03.13
10:59
(5) Куда его приписать?
7 ssh2006
 
30.03.13
11:06
(6) это не куда приписать, а почему [если в РС пустой то ни чего не происходит]
8 Kamich
 
30.03.13
11:07
(7) Без понятия,Периодичность РС - В пределах секунды
9 Kamich
 
30.03.13
11:08
(8) в принципе все нормально,но что не так...понять не могу.
10 ssh2006
 
30.03.13
11:10
(8) в (5) ответ почему [если в РС пустой то ни чего не происходит]
11 Kamich
 
30.03.13
11:14
(10) Изменил, все равно
Если НЕ Результат.Ставка=Ставка  ИЛИ  Результат.Следующий()  = ложь Тогда
...
12 Kamich
 
30.03.13
11:24
(10) Что подскажите?
13 Kamich
 
30.03.13
12:15
(1) (3) (10) Какие варианты есть?!
14 mistеr
 
30.03.13
13:13
(13) При открытии получил СрезПоследних, запомнил отдельно и вывел в форму. При записи, если не отличается от старого, не пишем. Что сложного?
15 Kamich
 
30.03.13
13:25
(14) Вариант)
16 Kamich
 
30.03.13
13:29
(14) Спасибо)
17 mistеr
 
30.03.13
13:37
(4) >РегистрСведений.Константы.СрезПоследних

Анекдот. :)