Имя: Пароль:
1C
 
код не уникален, при записи элемента справочника ДоговорыКонтрагентов
0 SuperLiving Star
 
17.09.09
07:14
Делаю перенос справочников "Контрагенты" и "ДоговорыКонтрагентов"
при записи у одного элемента справочника Контрагента есть договор
с кодом который уже есть в справочнике "ДоговорыКонтрагентов"
и ругается код не уникален, хотя в базе от куда идет перегрузка
также все...
|
   Иначе
       // если элемент не найден, создать его
       Объект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
       Объект.Код                    = СокрЛП(СтрОЛЕ.Код);
       Объект.Наименование            = СокрЛП(СтрОЛЕ.Наименование);
       Объект.Организация            = Справочники.Организации.НайтиПоКоду(СтрОЛЕ.Организация.Код);
       //Объект.ЕдиницаИзмеренияОплаты = СтрОЛЕ.ЕдиницаИзмеренияОплаты;
       Объект.СрокДействия           = СтрОЛЕ.СрокДействия;
       //Объект.НачалоДействия         = СтрОЛЕ.НачалоДействия;
       //Объект.Представление          = СтрОЛЕ.Представление;
       //Если Не ПустаяСтрока(СтрОЛЕ.Родитель.Наименование) Тогда
       //    Объект.Родитель = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрОЛЕ.Родитель.Код);
       //КонецЕсли;
       Если Не ПустаяСтрока(СтрОЛЕ.Владелец.Наименование) Тогда
           Объект.Владелец = Справочники.Контрагенты.НайтиПоКоду(СтрОЛЕ.Владелец.Код);
       КонецЕсли;
       Объект.Записать();
       Сообщить("Элемент "+Объект.Ссылка+" создан!");
   КонецЕсли;

|
1 SuperLiving Star
 
17.09.09
07:17
у справочника "ДоговорыКонтрагентов" стоит контроль уникальности...
2 Rie
 
17.09.09
07:22
(0) Переносишь откуда? Если из конфигурации, где коды могут быть неуникальными или уникальность в пределах подчинения - вот и привет. Или руками завели уже существующий код.
3 SuperLiving Star
 
17.09.09
07:26
переношу из УПП
тама открываю контрагента и подчиненные ему договоры
тама все конечно уникально, как отключаю иерархический просмотр
так появляются все элементы справочника "ДоговорыКонтрагентов"
и тама есть 2 элемента с одинаковым кодом, стоит контроль уникальности
в справочнике, но все так есть, как теперь перенести элемент с кодом который уже есть? я же задаю владельца...?
4 SuperLiving Star
 
17.09.09
07:27
перед переносом, в приемнике очищаю справочники...
5 Rie
 
17.09.09
07:28
Серии кодов - как выставлены в обеих конфигурациях?
6 SuperLiving Star
 
17.09.09
07:30
в обеих конфигурациях, автонумерация, контроль уникальности, серии кодов - во всем справочнике
7 Rie
 
17.09.09
07:32
(6) ПриУстановкеНовогоКодаСправочнка - там ничего плохого не делается?
8 Rie
 
17.09.09
07:33
+(7) Посмотри отладчиком - какой код даёт ошибку.
9 SuperLiving Star
 
17.09.09
07:33
посмотрел
10 SuperLiving Star
 
17.09.09
07:33
00000008
11 SuperLiving Star
 
17.09.09
07:34
в УПП он 2 раза есть при отключении иерархического просмотра
видимо раз переносится, а второй уже нет, хотя в УПП такие же настройки
просто у этих элементов разный владелец, как то получилось с ошибкой это ввести в УПП?
12 Rie
 
17.09.09
07:35
(11) "2 раза есть при отключении иерархического просмотра" и "серии кодов - во всем справочнике" как-то плохо сочетаются.
13 SuperLiving Star
 
17.09.09
07:36
(7) в смысле ничего плохого не делается?
то есть зделать Исключение? если возникает ошибка то просто задавать новый код, для "ДоговоровКонтрагентов" ?
14 Rie
 
17.09.09
07:36
+(12) Поправь этот код в УПП и не мучайся.
15 SuperLiving Star
 
17.09.09
07:37
ну есть в УПП 2 элемента с  одинаковым кодом
настройки справочника как в 6...
(14) а на какой его поправить? может нумерация слетит, или ещё что?
посмотреть какой новый идет и его поставить?
16 Rie
 
17.09.09
07:38
(15) Твоя база - тебе видней, на какой править.
17 SuperLiving Star
 
17.09.09
07:40
(16) так я не знаю, надо как правильнее, и если эти коды не имеют практического назначения, то я думаю на любой, что бы только не слетела автонумерация
18 SuperLiving Star
 
17.09.09
07:46
наверное просто при записи, сделаю исключение
и буду задавать новый код
а то попробовал в УПП создать новый элемент
а он вообще создается с пустым кодом форма открылась
не касаясь УПП, зделаю корректный перенос элементов...
19 Rie
 
17.09.09
07:48
(18) Будешь задавать при переносе новый код - при каждом новом переносе будешь получать ещё один элемент.
Создаётся с пустым кодом - код будет присвоен при записи. См. настройки формирования кодов.
20 SuperLiving Star
 
17.09.09
07:56
в УПП я видел как минимум 2 задвоения, просто там их может быть больше
(19) то есть элемент с новым кодом это новый элемент справочника и он всегда будет повторяться тогда? тогда надо правит в УПП, но я не пойму почему форма создания нового элемента открывается вообзще без кода???
21 SuperLiving Star
 
17.09.09
07:58
Попытка
           Объект.Записать();
       Исключение
           Объект.УстановитьНовыйКод();    
           Объект.Записать();
       КонецПопытки;
|
почему то это дело вообще не работает ( останавлявается на Объект.Записать();, код не уникальный и все, как будто бы Исключения и не стоит (
22 SuperLiving Star
 
17.09.09
08:00
во пошло, только останавливается на каждой ошибке почему то, но потом дальше работает...
23 Rie
 
17.09.09
08:07
(20) Возможно, правили туда сюда серии кодов.
Открывается вообще без кода - так надо. Код потом присваивается. Посмотри настройки формирования кода.
24 SuperLiving Star
 
17.09.09
08:09
один раз переносилось со мнойгими ошибками, и задался новый код у того элемента
а вот при повторном переносе, код установился как в УПП,то есть переписался, и сейчас я думаю все элементы стали с такими же кодами, никаких других вроде не создалось
25 Rie
 
17.09.09
08:10
(24) Ну тогда подправь коды там, куда переносишь.
26 Rie
 
17.09.09
08:11
+(25) "думаю" и "вроде" - лучше проверь.
27 SuperLiving Star
 
17.09.09
08:15
(26) так их тама много, тогда напрашивается перенумерация "ДоговоровКонтрагетов" в УПП
28 Rie
 
17.09.09
08:17
(27) Откуда возникли дубли кодов - не разобрался?
29 SuperLiving Star
 
17.09.09
08:20
так а с кем разбираться?
может в самом деле в ручную правили что то
30 Достоевский
 
17.09.09
08:21
Руками поправь код в источнике.
31 NetDozor
 
17.09.09
08:23
(29) в ручную исправить не могли, т.к. включена проверка уникальности. скорее всего дубли появились при какой-нибудь загрузке из xml-файла
32 Rie
 
17.09.09
08:29
(31) Такое чувство, что в УПП с сериями кодов побаловались, а потом вернули назад.
33 SuperLiving Star
 
17.09.09
08:32
(30) их тама много, и вопрос на что править? на какие коды, поле код при открытии пустое, не ясно на какой править, посмотреть какой последний?
34 SuperLiving Star
 
17.09.09
08:35
+30 тама их так при перегрузке первой штук 30 обнаружелось если не больше (
35 SuperLiving Star
 
17.09.09
08:35
может перенумеровать справочник "ДоговорыКонтрагентов" в УПП
я такое уже делал с "ЕдиницамиИзмерения"
36 Rie
 
17.09.09
08:36
(33) Поле "код" при открытии пустое - ну так посмотри, где код формируется, от чего это зависит и сделай так, чтобы было не пустым.
37 SuperLiving Star
 
17.09.09
08:37
(36) а это то зачем?
38 NetDozor
 
17.09.09
08:38
(35) да давно пора было сделать перенумерацию и не заморачиваться
39 SuperLiving Star
 
17.09.09
08:39
опана!!! Нащел, тама франчи с Инфософта что то правили...
ДействияФормыСгенерироватьНомер()
40 NetDozor
 
17.09.09
08:39
только конечно разобраться из-за чего появились дубли было бы не лишним
41 SuperLiving Star
 
17.09.09
08:45
(39) не это не то, это генерация номера, есть такое поле там...
42 SuperLiving Star
 
17.09.09
08:49
код присваивается автоматически
либо как и  в "ЕдиницахИзмерения" можно включить ручное исправление
код из "ДоговоровКонтрагентов" в УПП нигде не используется?
Если так, то просто нужно перенумеровать программно справочник, у меня и обработка есть для этого скаченная...
43 Rie
 
17.09.09
08:50
(42) Shift+Ctrl+F3 в Конфигураторе способно иногда сотворить чудо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший