Имя: Пароль:
1C
1C 7.7
v7: Записать() не записывает.
0 Eeakie
 
13.12.12
13:10
Я с очередным глупым вопросом, на который сам не смог найти ответ. Удаляю из "Наименований" справочника РазделительСтрок через обыкновенное СтрЗаменить().

   СпрТовары = СоздатьОбъект("Справочник.Товары");
   СпрТовары.ВыбратьЭлементы();
   Пока СпрТовары.ПолучитьЭлемент()=1 Цикл
       ТЭ = СпрТовары.ТекущийЭлемент();
       Если СтрЧислоВхождений(ТЭ.Наименование, РазделительСтрок) > 0 Тогда
           Сообщить("" + ТЭ.Наименование);
           ТЭ.Наименование = СтрЗаменить(ТЭ.Наименование, РазделительСтрок, "");
           СпрТовары.Записать();
           Сообщить("Изменено на " + ТЭ.Наименование + РазделительСтрок + "=======================================================");
       КонецЕсли;
   КонецЦикла;

Всё бы отлично. Находит, заменяет. НО! Не записывает. В чем может быть проблема?
1 zladenuw
 
13.12.12
13:13
СпрТовары.Наименование = СтрЗаменить(ТЭ.Наименование, РазделительСтрок, "");
2 Ganiev
 
13.12.12
13:13
Ты меняешь в переменной "Тэ" А записываешь "СпрТовары" )))
3 Eeakie
 
13.12.12
13:14
(1) СпрТовары.Наименование = СтрЗаменить(ТЭ.Наименование, А, "");
{C:\USERS\ROMAN\DESKTOP\НПС.ERT(14)}: Изменено Наименование! Может быть нарушена последовательность выборки!
4 КонецЦикла
 
13.12.12
13:14
А не станет говорить про нарушение порядка выборки?
И каким боком разделитель строк в наименовании?
5 Eeakie
 
13.12.12
13:15
(1) А = РазделительСтрок;
6 КонецЦикла
 
13.12.12
13:15
Упс... опередил

СпрТовары.ПорядокКодов()
СпрТовары.ВыбратьЭлементы();
7 Ork
 
13.12.12
13:15
(3) Нужно перед ... заюзать ПорядокКодов() И БуитВамМногаСчастия.
8 Eeakie
 
13.12.12
13:15
(4) Многие копируют наименования, а не вносят вручную. Есть немало позиций, где РазделительСтрок присутствует...
9 Ganiev
 
13.12.12
13:17
Сделай так:
ТЭ.Наименование = СтрЗаменить(ТЭ.Наименование, РазделительСтрок, "");
СпрТовары.Наименование = ТЭ.Наименование;
СпрТовары.Записать();
Сообщить("Изменено на " + ТЭ.Наименование + РазделительСтрок +
10 КонецЦикла
 
13.12.12
13:17
Вставь в ПриЗаписи замены необходимые (на будущее)
11 Ganiev
 
13.12.12
13:18
(10) +
12 Eeakie
 
13.12.12
13:18
Ай, спасибо, товарисчи ;)
13 Eeakie
 
13.12.12
13:18
(10) Вот эти как раз и собрался заняться после поиска.
14 vova1122
 
13.12.12
13:28
Интересно , а как при копировании появляется РазделительСтрок?
15 1Сергей
 
13.12.12
13:29
(14) да и не при копировании. Как он там вообще может появляться?
16 ДенисЧ
 
13.12.12
13:29
(14) из ёкселя копируют, например...
17 ДенисЧ
 
13.12.12
13:30
(15) нажми в текстовом поле Ctrl-Backspace - что получится?
18 1Сергей
 
13.12.12
13:32
(17) строка очистится?