Вход | Регистрация
 

Запись в регистр сведений, глюк, помогите.

Запись в регистр сведений, глюк, помогите.
Я
   НоваяВолна
 
21.07.21 - 14:36
Создал новый регистр сведений. Непериодический, независимый. Имеет всего два измерения (плюс ресурсы) ЛицевойСчет и Телефон. Задача его первоначально заполнить данными. Данные получаю из Документов События и РегистрСведений.КонтактнаяИнформация. Причина таких танцев с бубном в том, что в разных источниках номера телефонов записывались в разном формате. Надо же привести к единому +7ХХХХХХХХХХ где первые 4 цифры могут буть кодом города или все 10 номер мобильного телефона.
   Создал обработку, которая единоразово должна заполнить регистр. Сначала собираю данные, меняю формат номера телефона и вывожу на форму обработки. После этого пытаюсь записать в регистр.
  

  Процедура КнопкаВыполнитьНажатие(Кнопка)
    НаборЗаписей = РегистрыСведений.Модус_ТелефоныАбонентов.СоздатьНаборЗаписей();
    НаборЗаписей.Записать();
    
    НаборЗаписей = РегистрыСведений.Модус_ТелефоныАбонентов.СоздатьНаборЗаписей();
    Для Каждого Стр Из СписокТелефонов Цикл
        НоваяЗапись = НаборЗаписей.Добавить();
        НоваяЗапись.ЛицевойСчет = Стр.ЛицевойСчет;
        НоваяЗапись.Телефон = Стр.Телефон;
    КонецЦикла;    
        НаборЗаписей.Записать();
КонецПроцедуры




Получаю ошибку {ВнешняяОбработка.ЗаполнениеРегистраТелефоныАбонентов.Форма.Форма.Форма(45)}: Ошибка при вызове метода контекста (Записать)
        НаборЗаписей.Записать();
по причине:
Запись с такими ключевыми полями существует! : Модус_ТелефоныАбонентов: , +7904ХХХХ530 (Регистр сведений: Телефоны абонентов; Номер строки: 24)

При этом запись с этим же номером вижу, но ЛицевойСчет отличается.
В чем я неправ, подскажите?
   НоваяВолна
 
1 - 21.07.21 - 14:39
+ (1) данные запросом получаю в ТЗ, ТЗ сворачиваю по "ЛицевойСчет, Телефон2
   НоваяВолна
 
2 - 21.07.21 - 14:40
+ (1) Из этой ТЗ (свернутой) вывожу на форму обработки (для визуального контроля) и только с ТЧ обработки идет запись в регистр
   dubolom
 
3 - 21.07.21 - 14:41
НаборЗаписей отладчиком смотрели в момент записи?
   НоваяВолна
 
4 - 21.07.21 - 14:43
(3) нет, а что я там могу увидеть?
   dubolom
 
5 - 21.07.21 - 14:43
(4) Например, дублирование записей по лицевому счёту и телефону:)
   НоваяВолна
 
6 - 21.07.21 - 14:45
(5) посмотрю. Но видимо уже завтра с утра
   OldCondom
 
7 - 21.07.21 - 14:46
Вот это программисты от бога просто, вот это новые волны. Зачем мне отладчик, что я там увижу? И правда.
Только что звонит программист, отключал ли я регламент. "Ты в консоли заданий смотрел?", "Нет", "В ЖР смотрел?", "Нет", "Остальные регламенты работают", "Не знаю", "Нахера мне звонишь?".
   Kassern
 
8 - 21.07.21 - 14:47
(0) а зачем вы в цикле набор заполняете? Получите результирующую таблицу с уникальными связями измерений и загрузить в ваш набор.
   НоваяВолна
 
9 - 21.07.21 - 14:50
(8) ну как бы я с ТЧ обработки заполняю регистр, а вывожу в ТЧ для визуального контроля
   Kassern
 
10 - 21.07.21 - 14:51
(9) а в чем проблема получить ТЗ из ТЧ? Вы проверяете на уникальность связей измерений?
   НоваяВолна
 
11 - 21.07.21 - 14:51
(7) да, не чета старым годонам)))
   НоваяВолна
 
12 - 21.07.21 - 14:51
(10) не подумал, попробую
   dubolom
 
13 - 21.07.21 - 14:52
(9) Для визуального контроля кагбэ отладчик существует.
   dubolom
 
14 - 21.07.21 - 14:53
И два раза записывать НаборЗаписей не обязательно, достаточно один раз его создать и записать с замещением (по умолчанию).
   OldCondom
 
15 - 21.07.21 - 14:54
(10) да пусть хоть каждый раз набор создает с цикле, ошибка-то в другом.

"Запись с такими ключевыми полями существует!
При этом запись с этим же номером вижу, но ЛицевойСчет отличается."
Платформа пыталась сказать, что не сделала запись с одинаковыми полями. Ты смотришь в регистр, одинаковых полей не видишь. Но платформа не умеет сказать: "Правильно, я же не сделала дублирующую запись и выдала ошибку, поэтому ты и не видишь дублей!".
   Kassern
 
16 - 21.07.21 - 14:54
(14) для чего эти танцы с бубном, если метод загрузить и так очистит и запихнет что есть в тз?)
   Kassern
 
17 - 21.07.21 - 14:55
(15) поэтому я и написал, чтобы он проконтролировал уникальность связи измерений.
   dubolom
 
18 - 21.07.21 - 14:55
(16) Тоже верно.
   НоваяВолна
 
19 - 21.07.21 - 14:56
(15) я смотрю в ТЧ, которую передаю на запись. А не в то что придумала себе платформа
   ДенисЧ
 
20 - 21.07.21 - 14:58
(19) То есть ты смотришь в то, что придумал ты, а не в то, что выполняет система...
Скажите, товарищ прапрорщик, а у вас на мониторе трава ровно пострижена?
   Исновая
 
21 - 21.07.21 - 15:15
(20) там газон только у здания казначейства, так шо не подстрижена
   lodger
 
22 - 21.07.21 - 15:17
Процедура КнопкаВыполнитьНажатие(Кнопка)
НаборЗаписей = РегистрыСведений.Модус_ТелефоныАбонентов.СоздатьНаборЗаписей();
ТабЗнач = СписокТелефонов.выгрузить();
ТабЗнач.Свернуть("ЛицевойСчет,Телефон");
НаборЗаписей.Загрузить(ТабЗнач);
НаборЗаписей.Записать(Истина);
КонецПроцедуры
   Lexandr
 
23 - 21.07.21 - 16:07
Возможно формат измерения "режет" лицевой счет в результате чего при записи разные лиц. счета на твой взгляд в ТЗ, а  реально пытается записать одно и то же значение.
   Сергиус
 
24 - 21.07.21 - 16:53
(0)У тебя походу пишет пустой лицевой счет в регистр
   OldCondom
 
25 - 21.07.21 - 17:00
да Путин отладку по http подключает и правит значения в ТЗ, дублируя записи.
   Кулибин
 
26 - 21.07.21 - 17:49
(25) ))) спасибо )
   НоваяВолна
 
28 - 22.07.21 - 06:04
(20) хотите сказать что у меня запрос не прав? :-)
   ДенисЧ
 
29 - 22.07.21 - 06:28
(28) Я хочу сказать, что нечего на зеркало пенять, коли.
Платформе и субду видней, что ты реально пытаешься записать.
   OldCondom
 
30 - 22.07.21 - 06:31
(27) быдло, английский подучи. Хотя нет, оставайся на том же уровне в русском языке, английском, программировании, культуре и всех остальных. Чтобы более развитым собратьям легче было расти.
Уму непостижимо, вторые сутки идут, а запись в регистр не сделана.
 
 
   hhhh
 
31 - 22.07.21 - 06:33
(22) ресурсы же вы все грохнули таким способом.
   НоваяВолна
 
32 - 22.07.21 - 08:16
(30) ты из битвы экстрасенсов? Записи в регистр сделаны ещё вчера)))
   МимохожийОднако
 
33 - 22.07.21 - 09:08
(27) ОФФ. Вроде бы взрослый мальчик...(
   lodger
 
34 - 22.07.21 - 09:29
(31) в куске кода (0) тоже нет ресурсов.
   НоваяВолна
 
35 - 23.07.21 - 14:14
(34) так обработка в (0) нужна была для первичного заполнения регистра и все... надо было заполнить только измерения и измерение Телефон привести к формату +7ХХХХХХХХХХ. Было почти 1,5 миллиона записей, формат полная каша.. В итоге удалось записать регистр в нужном формате, оставив не более сотни "левых записей". В дальнейшем операторы будут их видеть, править/удалять из регистра. Как раз для этих целей созданы Булевы ресурсы. Как-то так...))
   НоваяВолна
 
36 - 23.07.21 - 14:23
(0) да!!!! А ступил то в том, что измерению Телефон дал длину 20 символов, нарвавшись на 6-ти значный городской [пробел, запятая] 12 знаков мобильный +7ХХХХХХХХХХ.
  Потом уже нашел записи вида ХХХХХХ,ХХХХХХ,ХХХХХХ и ХХХХХХ,ХХХХХХ,ХХХХХХ,ХХХХХХ с одним и тем же Лицевым, но из разных источников. Причем первые три ХХХХХХ одинаковые. Поэтому длин обрезалась и номер получался одинаковым.. .Тупанул, не спорю


Список тем форума
 
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.