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