Реквизит "Наименование", справочник "Контрагенты"

Новая тема
"почему 1С программно не даёт менять реквизит "Наименование" (не путать с "ПолнНаименование", т.е. в структуре этого справочника грубо говоря 3 поля: Код, Наименование, Полное наименование) хотя при редактировании этого реквизита из самой 1С проблем нет???<br><br><br><br>Контр=СоздатьОбъект("Справочник.Контрагенты");<br><br>...<br><br><br><br>Контр.Наименование=""""; // для примера присваиваем пустую строку<br><br><br><br>говорит — "Изменено наименование! Может быть нарушена целостность выборки!"<br><br><br><br><br><br><br><br>Для чего ВСЁ это нужно: пишу обработку чтобы исправить всех контрагентов у которых в поле "наименование" есть ЗАО, ООО, ОАО и т.д. + прочие "левые" символы типа кавычек, пробелов и т.д. на тоже самое, но без этого "лишнего"... потому что, как правило, поиск происходит по этому реквизиту... а тупые бухгалтера заводят новых контрагентов как попало и сами же не могут найти потом то, что ввели 15 минут назад :-("
"Потому, что изменение наименование контрагента происходит при выборке элементов, т. е. ВыбратьЭлементы() и поэтому при сохранении нового наименования контрагента нужно поставить опять комманду ВыбратьЭлементы(). Пример:<br><br><br><br>ВыбратьЭлементы();<br><br>Пока ПолучитьЭлемент() = 1 Цикл<br><br>Наименование = """";<br><br>Записать();<br><br>ВыбратьЭлементы();<br><br>КонецЦикла;"
"Глупости! Ошибка возникает как раз в том месте, где идёт присвоение нового значения!!!<br><br><br><br>В Вашем примере как раз <br><br><br><br>    Наименование="""";<br><br><br><br>и была бы ошибка :-)<br><br><br><br><br><br>т.е. даже не доходит до следующих операторов...<br><br><br><br><br><br>P. S. И использование ВыбратьЭлементы() внутри цикла ИМХО приведёт к зависанию обработки и всего 1С."
Короче всё намного проще...<br><br>Нужно перед ВыбратьЭлементы() поставить ПорядокКодов() чтобы выборка шла по кодам, а не по наименованию!

Читают тему

(гостей: 1)

Быстрый переход