Большой Воронежский Форум
» Программирование>Проблемы с 1с!
Xname 13:19 06.06.2007
Есть такая хрень, разобраться не могу:
Св=СоздатьОбъект("Справочник.СвойстваТоваров");
Св.ИспользоватьВладельца(Товар);
Св.ВыбратьЭлементы();
Если Св.ПолучитьЭлемент()=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
Причем делай это грамотно.
Перебираешь все элементы, для каждого делаешь
Попытка
СпрСв.Записать();
Исключение
СпрСв.УстановитьНовыйКод();
СпрСв.Записать();
КонецПопытки;
[Ответ]
Xname 14:14 06.06.2007
пАдонок, ОК так и сделаю! [Ответ]
Вангер 22:11 06.06.2007
Sandy,

Сообщение от :
по твоему все элементы котороые УЖЕ есть созданы с уникальным кодом?

если контроль уникальности не менялся, то должны быть уникальны.
и я не проверял как себя поведет справоник без контроля уникальности, если ее включить неожиданно. [Ответ]
дядя Дима 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
дядя Дима, Тока вот самопиаром занимацо тут нинада! Ок?

Сообщение от дядя Дима:
если хош- пиши в личку, на выходных смогем посмотреть базу и найти причину возникновения ошибки.........

[Ответ]
Sandy 08:49 08.06.2007

Сообщение от дядя Дима:
урезать в правах и штрафовать за ошибки - единственный способ хоть как то координировать процесс

СМК ISO 9001 наше все [Ответ]
dds 11:03 09.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.*"

и это не я еблан, обратите внимание! [Ответ]
Xname 12:35 13.06.2007
Наконец-то хоть кто-то отошел от моей темы. [Ответ]
maximn 21:01 14.06.2007

Сообщение от maximn:
и это не я еблан, обратите внимание!

очень тонкий юмор, вижу не все поняли =\ [Ответ]
AleksandrD 01:42 15.06.2007

Сообщение от maximn:
очень тонкий юмор, вижу не все поняли =\

Видел язык запросов в 1С? ANSI SQL-92 в гробу переворачивается. Какие на фиг вложенные подзапросы, иннер джоины и прочая лабуда :-) [Ответ]
Вверх