#0
by ks_83
При запсиси справочника просходит сбрасыване позиционирования. Например: Спр.Записать; //Записали Перед записью справочник еще был Спр=ДоговорТакойто, после становится Спр=? , т.е. переменная спр потеряла позицию. В чем может быть дело? Я никак не пойму.
#4
by ks_83
Спр.найтиПоКоду возвращает то что надо. Я на отладчике смотрел. После записи элемент слетает, а до этого все нормально.
#9
by ks_83
Кода много сюда не влезет, но смыл тот что я описал. Там происходит корректное заполнение реквизитов, проверено на отладчике. Но, блин, при записи происходит заподло.
#16
by FreeFin
Ну? И что? А что по твоему должна делать выборка во времянку про Записать. Еще раз (и уже в который) Любая выборка считается некорректной после явного внесения в неё изменений, нарушающих порядок выборки: Спр_Дог.Наименование=Литер+"-"+ДБФ.ObjNumber+" "+СокрЛП(ДБФ.NameFull); СпрДог.Записать, чтобы "обойти"= До найти определять ПорядокКодов... хочу пива.
#19
by ks_83
Ошибки никакой не выводится. FreeFin , где ты увидел выбороку? НайтиПоРеквизиту это выборка?? Аслан, Агентство(НомерАгентства) это функция, не бери в голову.
#20
by ОбдолбанныйВася
в комментарий Спр_Дог.Наименование=Литер+"-"+ДБФ.ObjNumber+" "+СокрЛП(ДБФ.NameFull); что выдаст Найти разве не Выбрать????
#24
by FreeFin
Блин, ругаца буду. После Спр_Дог=СоздатьОбъект(... Вставь СпрДок.ПорядокКодов; Иепи его, горбатого...где я увидел... ты что думаешь что в физических таблицах Найти... происходит? хочу пива всё сильнее.)))
#25
by ОбдолбанныйВася
А можно на пальцах, если не трудно - не встречал... Синтаксис: ПорядокКодов Назначение: Установить порядок выборки элементов справочника по возрастанию кода. что это дает- мои предположения в выборке позволяет менять наименование, без этого нини???
#26
by FreeFin
В зависимости от основного представления в справочнике (конфигуратор) =умолчание для выборки элементов
#28
by ОбдолбанныйВася
ПорядокКодов, ...Наименований соответственно меняет это умолчание? Блиииин, надо попробывать...
#29
by Ёпрст2
"Спр=? , т.е. переменная спр потеряла позицию. " - где ты это видишь? И как это проявляется, в куске кода ошибок нет, FreeFin-а не слушай, он пьян по-ходу ..
#30
by ks_83
На отладчике: До записать : Спр=договорТакойто Порядок кодов не помог и "//" поставить у наименования тоже..
#31
by Ёпрст2
%) ... Спр_Дог.Выбран= ??? Спр_Дог.Код=? Литер+"-"+ДБФ.ObjNumber+" "+СокрЛП(ДБФ.NameFull)= ???
#32
by Chieftain
А ты топробуй от обратного - закомментируй все и потихоньку снимай комментарии и проверяй - палюбому должен найти
#33
by Ёпрст2
+31 Основное представление Спр_Дог в виде чего ? Может, ты наименование пустое присвоил ...
#39
by ks_83
Коороче вот к чему я пришел. Если присваивать спровочнику точ-такое же наименование, какое у него было до этого, то он потом сбрасывается при записи. Если присваиваем другое наименование, то все нормально. Из-за чего такая шняга происходит? ;(
#44
by ks_83
ГЛЮК НАЙДЕН! Поиск справочника идет по реквизитку "РегНомер" у которго тип "Строка". Например,у справочника РегНомер="МОп111111". Поиск осуществляем по номеру "МОП111111",т.е. в номере для поиска буква "П" в верхнем регистре, и при этом справочник с номером "МОп111111", где буква "п" в нижнем регистре нормально позиционируется, НО ПРИ ЗАПИСИ ПОЗИЦИОНИРОВАНИЕ СЛЕТАЕТ!!! Если передавать в функцию НайтиПоРеквизиту параметр для поиска с маленькой буквой, т.е. точь в точь такой-же как реквизит справочника,то запись проходит нормально!МОЙ ВЫВОД, что в функцию НайтиПоРеквизиту надо передавать параметр для поиска с учетом регистров, в случае, если параметр имеет тип "строка", ИНАЧЕ ПРИ ЗАПИСИ ПОЗИЦИЯ СПРАВОЧНИКА СЛЕТИТ! Что скажете по этому поводу?
#50
by FreeFin
а не забыл ли ты реквизитъ "РегНомер" установить "Для обоих "=элемента и группы? И еще раз: регистр буквов и внезапный контроль "висячих" пробелов до конца длины строки = глюки нерегулярные (чаще возникают при перегрузках на озу), но и с тем и с другим можно бороться стандартными средствами. А вот как бороться с Записать без потери позиции...да ну йо...это ж придетца пОнять чем отличается "создать выборку" от "открыть выборку". а это= для меня оч сложно.
#51
by ks_83
"РегНомер" установлен только для элемента, для группы он мне нафих не нужен. Я решил проблему,тем что в начале привожу параметр для поиска к тому к формату который мне нужен, т.е. с маленькой буквой, ибо во всех справочниках она маленькая. Условие поиска теперь выглядит так: Если Спр_Дог.НайтиПоРеквизиту("РегНомер",СтрЗаменить(ДБФ.OBJNUMBER,Литер,Нрег(Литер)),1)=1 Тогда ... КонецЕсли И все работает.
#53
by GrayT
СтрЗаменить(ДБФ.OBJNUMBER,Литер,Нрег(Литер)) не проще НРег(ДБФ.OBJNUMBER)? Все равно дурной стиль. когда нить забудешь и нарвешься
#54
by FreeFin
С таким "стилем" писательства он уже попал. Спр_Дог.НайтиПоРеквизиту(,,1)=нашли первый попавшийся Спр_Контр.НайтиЭлемент(Спр_Дог.Владелец); = пох, нашли не нашли тот не тот. И шурует дальше: Спр_Дог.ИНН Спр_Дог.Юридический... отбалды что кому наприсваивали, а работает и ладно. И записали.
#55
by ks_83
подчинен. Если я сднелаю НРег(ДБФ.OBJNUMBER), то опять будет глюк прои записи, ибо формат будет такой "моп111111", а у все справочников такой "МОп111111" Етот модуль разрабатывал не я . Я как раз исправляю чужые неодчеты. В Спр_Контр.НайтиЭлемент(Спр_Дог.Владелец) ниче криминального нет, проверка на корректность соответсвия подчиненный->владелец есть, просто она в другом месте, запускается в начале.
#58
by bw
55 Предлагаю, если возможно, перевести все коды в верхний регистр тогда и поиск будет логичнее причем это надо сделать один раз
#60
by ks_83
Дело в том, что я не знаю в каком регистре будут коды в ДБФ-е в следующий раз. Они приходят из другой БД. Малоли они опять станут в нижнем регистре. Опять все справочники переписывать придется.
#62
by ks_83
Лучше подгонять реквизитвы под нужный формат программно а не вручную, тогда можно избавится от геморроя в будущем.
#64
by ks_83
Согласен. Но вот в чем штука: Вроде код от формата не зависит, но попробуй объяснить это 1С )
#66
by bw
+60 в следующий раз надо будет только Спр_Дог.НайтиПоРеквизиту("РегНомер",врег(ДБФ.OBJNUMBER),1)=1
#67
by ks_83
Так кто ж знал, что из-за регистра будет сбрасыватся позиция при записи. Согласитесь это мягко говоря не явная ошибка. По идее от регистра не должно ничего зависеть- вот и попробуй объяснить это движку 1С. Так можно сделать, но эти номера выводятся в печатных формах всяких нужных документов как номер договора согласованный с клиентом. И в этом номере третья буква всегда была маленькая. Если она станет большой то с юридической стороны это может оказатся неверным. Тогда придется все документы перелапачивать из-за одной буквы или вручную печатную форму всегда менять.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Глюк не глюк? Документ проведен. Проводок нет.
- Глюк при записи элемента справочника
- Свойства НОВОЙ записи при копировании записи Регистра Сведений
- Как выбрать записи из регистра сведений записи
- КАК не выводить предупреждение при записи элемента
- Сообщение пользователю при записи на сервере о текущем состояние записи
В этой группе 1С
- конвертор MXL в XLS работает в 2003 и 2007 офисах?
- Как загрузить содержимое текстового файла в справочник 1С
- v7: УСН, книга учетов доходов и расходов
- Как запретить определенным пользователям Unix отправку почты на внешние адр
- v8: Нумерация строк в табличном поле
- Почему от системника бьет током?
- Поиск в табличной части документа......?
- v7: УПП - анализ счета с разверткой по кор.субконто
- v7: Перенос остатков по основным средствам на начало года чистой базы
- v7: Ввод остатков ТМЦ в УСН
- Пропало окно подбора номенклатуры!
- Копирование строки дерева значений
- как в журнале документов убрать документы других подразделений?
- Как получить картинку из буфера обмена?
- Конвертация данных. Как из "Строки" сделать "Запись регистра сведений"?
- Как войти в режим редактирования строки?
- Управление торговлей. Стоп-отгрузка.
- УПП Дата запрета редактирования...
- v7: УПП 1.2.4.1 Производство - услуги
- Подключение файлов к внешней обработке