|   |   | 
| 
 | Добавление записей в регистр сведений: перезаписываются... | ☑ | ||
|---|---|---|---|---|
| 0
    
        листопад 08.07.14✎ 21:57 | 
        БП 3.0 упр.формы.
 Есть функция, с помощью которой получаю данные из другой программы (не 1С), а затем записываю полученные данные в регистр сведений "ЗапросДубликатов". Регистр сведений "ЗапросДубликатов" состоит из измерений: - CodeContract - DMPro - CentrOffice - Division - Date - Status Подскажите, почему при записи в этот регистр, данные перезаписываются. Мне надо, чтобы они добавлялись. Вот код: Функция Duplicate(CodeContract, DMPro, Email, CentrOffice, Division, Error) Попытка Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.КодДоговора, | ДоговорыКонтрагентов.Ссылка |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.КодДоговора = &KodDog"; Запрос.УстановитьПараметр("KodDog", CodeContract); ВыборкаДоговоров = Запрос.Выполнить().Выбрать(); Пока ВыборкаДоговоров.Следующий() Цикл КодДоговора = ВыборкаДоговоров.КодДоговора; прервать; КонецЦикла; НаборЗаписей = РегистрыСведений.ЗапросДубликатов.СоздатьНаборЗаписей(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.CodeContract = CodeContract; НоваяЗапись.DMProject = DMProject; НоваяЗапись.Email = Email; НоваяЗапись.CentrOffice = CentrOffice; НоваяЗапись.Division = Division; НоваяЗапись.Date = ТекущаяДата(); НоваяЗапись.Status = "Получен запрос из CRM"; НаборЗаписей.Записать(Ложь); Error = "No Error"; Исключение Error = ОписаниеОшибки(); КонецПопытки; КонецФункции | |||
| 1
    
        GreatOne 08.07.14✎ 22:10 | 
        почему все молчат? вся таблица перезаписывается?     | |||
| 2
    
        листопад 08.07.14✎ 22:11 | 
        (1) Да     | |||
| 3
    
        Armando 08.07.14✎ 22:11 | 
        Аукцион по продаже СП объявляется открытым!     | |||
| 4
    
        Крошка Ру 08.07.14✎ 22:11 | 
        (2) Точно перезаписывается? Может все-таки ошибку выдает?     | |||
| 5
    
        GreatOne 08.07.14✎ 22:13 | 
        (4) да не, без отборов все перезапишет и не чихнет     | |||
| 6
    
        Крошка Ру 08.07.14✎ 22:14 | 
        (5)Если измерения совпадают с ранее введенной записью, то чихнет     | |||
| 7
    
        Крошка Ру 08.07.14✎ 22:15 | 
        +(6) А, хотя ТекущаяДата() же     | |||
| 8
    
        hhhh 08.07.14✎ 22:17 | 
        (2) вы пьяны? Почему отбора нет у набора записей?     | |||
| 9
    
        GreatOne 08.07.14✎ 22:17 | 
        (7) Даже проверил. правда ругается     | |||
| 10
    
        листопад 08.07.14✎ 22:19 | 
        (5) Про отбор тоже думала, но незнаю как его применить к моему регистру. Т.к. измерения у меня таких типов:
 - CodeContract (строка) - DMPro (булево) - Email (булево) - CentrOffice (булево) - Division (строка) - Date (дата) - Status (строка) | |||
| 11
    
        GreatOne 08.07.14✎ 22:19 | 
        (10) так и применить     | |||
| 12
    
        листопад 08.07.14✎ 22:19 | 
        (8) смотрите (10)     | |||
| 13
    
        листопад 08.07.14✎ 22:21 | 
        (11) Как применить? Не срабатывает, если пишу:
 НаборЗаписей.Отбор.CodeContract.Установить(CodeContract); | |||
| 14
    
        Крошка Ру 08.07.14✎ 22:23 | 
        Да причем здесь Отбор? Это РС, можно без отбора.
 А вот почему весь регистр перезаписывается - это странно... Могу посоветовать перед добавлением НовойЗаписи, применить метод НаборЗаписи.Прочитать() Но все равно странно. | |||
| 15
    
        Крошка Ру 08.07.14✎ 22:23 | 
        *НаборЗаписей     | |||
| 16
    
        GreatOne 08.07.14✎ 22:23 | ||||
| 17
    
        GreatOne 08.07.14✎ 22:24 | 
        (14)"А вот почему весь регистр перезаписывается - это странно... " это как раз и не странно!     | |||
| 18
    
        Крошка Ру 08.07.14✎ 22:27 | 
        (17) Это почему?     | |||
| 19
    
        GreatOne 08.07.14✎ 22:29 | ||||
| 20
    
        GreatOne 08.07.14✎ 22:30 | 
        (19) хотя по правде говоря, просто помню, что так всегда происходит, а объяснить толком не понимаю как. Вот вчитался в описание и что-то выцепил)     | |||
| 21
    
        Крошка Ру 08.07.14✎ 22:30 | 
        (19) 1)Обращаю внимание на слово "может"
 2)"Синтаксис: Записать(<Замещать>) Параметры: <Замещать> (необязательный) Тип: Булево. Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям" | |||
| 22
    
        листопад 08.07.14✎ 22:33 | 
        (21) Так я и написала:
 НаборЗаписей.Записать(Ложь); | |||
| 23
    
        GreatOne 08.07.14✎ 22:34 | 
        я даже напрягся... но надо собаку вести срочно. Помню же, что всегда отборы надо делать, что регистр не убить, приду гляну точнее     | |||
| 24
    
        Крошка Ру 08.07.14✎ 22:35 | 
        (22) К тебе претензий нет
 Если добавить "НаборЗаписей.Прочитать()", работает? | |||
| 25
    
        Крошка Ру 08.07.14✎ 22:36 | 
        (23) Для РН - да обязательно, как минимум - по регистратору, для независимого РС - нет.     | |||
| 26
    
        Крошка Ру 08.07.14✎ 22:53 | 
        (22) О, и кстати...
 Я правильно понимаю, что первая часть функции(которая до набора записей) работает так: ты в запрос передаешь код договора, а он возвращает его обратно? Ты подаешь, а он отбивает? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |