Есть такая хрень, разобраться не могу:
Св=СоздатьОбъект("Справочник.СвойстваТоваров");
Св.ИспользоватьВладельца(Товар);
Св.ВыбратьЭлементы();
Если Св.ПолучитьЭлемент()=1 тогда
Св.ГТД=СпрГТД.ТекущийЭлемент();
Св.Записать();
иначе
траб ла ла
в стороке Св.Записать(); ошибка, не уникальный код!
есть у кого-нибудь идеи?
[Ответ]
Sandy 13:34 06.06.2007
Сообщение от Xname:
есть у кого-нибудь идеи?
а что идеи там же явно написано не уникальный код...
[Ответ]
Xname 13:42 06.06.2007
Sandy, если ты обратишь внимание, открывается существующий элемент, и у него уже есть код, просто делается опдейт, т.е. новый элемент не создается!!
[Ответ]
Sandy 13:50 06.06.2007
Xname, а по твоему все элементы котороые УЖЕ есть созданы с уникальным кодом?
не тормози - перенумеруй справочник.
[Ответ]
MR_Romik 13:55 06.06.2007
Справочники могут быть разными, а коды элементов разных справочников совпадать! Вот и все!
[Ответ]
Xname 13:56 06.06.2007
перенумеровать идея хорошая, но откуда могли появится не уникальные коды при автоматической нумерации и контроле уникальности?
[Ответ]
MR_Romik 14:07 06.06.2007
Xname, Ну что как! Вот открой два разных справочника и попробуй создать элементы с одинаковыми номера!
[Ответ]
Xname 14:10 06.06.2007
MR_Romik, справочник один, может ты имел в виду если открою два пользователя.
[Ответ]
пАдонок 14:13 06.06.2007
Сообщение от Xname:
перенумеровать идея хорошая, но откуда могли появится не уникальные коды при автоматической нумерации и контроле уникальности?
Из автообмена например по УРДБ!
Сообщение от Sandy:
, а по твоему все элементы котороые УЖЕ есть созданы с уникальным кодом?
не тормози - перенумеруй справочник.
+100000000000
Причем делай это грамотно.
Перебираешь все элементы, для каждого делаешь
Попытка
СпрСв.Записать();
Исключение
СпрСв.УстановитьНовыйКод();
СпрСв.Записать();
КонецПопытки;
[Ответ]
Сообщение от :
по твоему все элементы котороые УЖЕ есть созданы с уникальным кодом?
если контроль уникальности не менялся, то должны быть уникальны.
и я не проверял как себя поведет справоник без контроля уникальности, если ее включить неожиданно.
[Ответ]
дядя Дима 23:59 06.06.2007
у тя подчинение, а контроль уникальности якой стоит? такое бывает при урбд, хоть и редко...... как сказал Падонок это выход и вариант, но не красиво, при большой базе и нормальном количестве юзверей висеть будет долго и упорно;-) нам за такие весчи в "детстве" по рукам давали..... посмотри на каком элементе вылетает ошибка, запомни код, найди его и выясни откуда он взялся....... .если хош- пиши в личку, на выходных смогем посмотреть базу и найти причину возникновения ошибки......... попытка- исключение например я бы рассматривал как временное решение безотложной проблемы.
[Ответ]
DimmaN 08:31 07.06.2007
Надеюсь, на том свете вас заставят цитировать Кнута в подлиннике. А Нуралиевы будут это делать вприсядку. Такая вот апокалиптическая картина....
[Ответ]
Sandy 10:39 07.06.2007
Сообщение от пАдонок:
Из автообмена например по УРДБ!
подумаешь автообмен... за годы работы с юзерами я понял что законы мерфи истинны
"Если поставить специального человека, который бы следил за чистотой исходной информации -всегда найдется изобретательный идиот, который сделает так - чтобы неверная информация шла именно через этого человека."
[Ответ]
дядя Дима 10:55 07.06.2007
да, есть такое дело. чем больше масштабы и объемы , тем большая вероятность ошибки...... урезать в правах и штрафовать за ошибки - единственный способ хоть как то координировать процесс.
[Ответ]
пАдонок 10:57 07.06.2007
дядя Дима, Тока вот самопиаром занимацо тут нинада! Ок?
Сообщение от дядя Дима:
если хош- пиши в личку, на выходных смогем посмотреть базу и найти причину возникновения ошибки.........
Сообщение от Xname:
Есть такая хрень, разобраться не могу:
Св=СоздатьОбъект("Справочник.СвойстваТоваров");
Св.ИспользоватьВладельца(Товар);
Св.ВыбратьЭлементы();
Если Св.ПолучитьЭлемент()=1 тогда
Св.ГТД=СпрГТД.ТекущийЭлемент();
Св.Записать();
иначе
траб ла ла
в стороке Св.Записать(); ошибка, не уникальный код!
есть у кого-нибудь идеи?
Назови название конфы, что то я не припомню такого справочника... НО, проверь у справочника "Свойства товаров" реквизит "Серии кодов" и "Количество уровней", т.к. если кол-во уровней более 1, и контроль уникальности в пределах подчинения возможна твоя ситуация. Если я прав, просто указывай дополнительно еще и родителя, и пожалуй все...
[Ответ]
Xname 12:55 09.06.2007
Справочник одноуровневый, после перенумерации элементов все заробота нормально! Причиной скорей всего являлся автообмен! Спасибо за вниманию.
[Ответ]
дядя Дима 20:27 10.06.2007
2 пАдонок.
ты бы про самопиар помолчал бы а, ты просто наверно не разу не сталкивался с тем что пишут студенты на, и сколько приходится потом разгр*****! а так же во скоко это народу обходится! задрали на !
[Ответ]
Sandy 12:24 13.06.2007
Сообщение от дядя Дима:
ты просто наверно не разу не сталкивался с тем что пишут студенты на, и сколько приходится потом разгр*****! а так же во скоко это народу обходится!
тебе что плохо? если клиент дурак пусть платит дважды, а если скупой то трижды.
Сообщение от Xname:
Причиной скорей всего являлся автообмен!
для таких как вы в 1С существует специальная настраиваемая константа префикса автонумерации которая разная для разных периферийных баз.
[Ответ]
maximn 12:29 13.06.2007
я вот тут обнаружил что если во вложенном запросе делать объединить, то потом на верхнем уровне нельзя написать "выбрать подзапрос.поле1.*"