Имя: Пароль:
1C
1С v8
Не удаляются строки из документа - помогите разобраться
0 MikeStav
 
27.02.12
22:53
100 раз уже так делал - формировал список значений со строками по документу для удаления.
затем получал объект документ и удалял из табличной части строки, находящиеся в списке а сейчас не хочет ругается что колонка не принадлежит коллекции. Код привожу ниже


   ВыборкаДок = Документы.ВводНачальныхОстатковПоВзаиморасчетам.Выбрать();
   Пока ВыборкаДок.Следующий() Цикл
       текДок = ВыборкаДок.Ссылка;
       Если текДОк.Проведен=Ложь Тогда
           продолжить;
       КонецЕсли;
       
       СЗСтрокКУдалению = новый СписокЗначений;//массив;
       Для каждого стр Из текДок.ДанныеПоРасчетам Цикл
           Если ЗначениеЗаполнено(стр.ДокументРасчетовСКонтрагентом) И стр.ДокументРасчетовСКонтрагентом.Контрагент = Контрагент Тогда
               СЗСтрокКУдалению.Добавить(стр);
           КонецЕсли;
       КонецЦикла;
       
       Если СЗСтрокКУдалению.Количество() Тогда
           текДокОбъект = текдок.ПолучитьОбъект();
           Для каждого элем Из СЗСтрокКУдалению Цикл
               строкаТЧ = элем.Значение;
               докРасчетовОбъект = строкаТЧ.ДокументРасчетовСКонтрагентом.ПолучитьОбъект();
               текДокОбъект.ДанныеПоРасчетам.Удалить(строкаТЧ);
               докРасчетовОбъект.УстановитьПометкуУдаления(Истина);
               сообщить("помечен на удаление " + докРасчетовОбъект);
           КонецЦикла;
           текДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
           сообщить("ИЗменен и записан " + текДокОбъект);
       КонецЕсли;
   КонецЦикла;
1 vs7719
 
27.02.12
23:07
Что-то я не нашел в коде операции над колонками коллекций?
2 MikeStav
 
27.02.12
23:10
да и я не пойму почему так ругается, выпадает в ошибку на
текДокОбъект.ДанныеПоРасчетам.Удалить(строкаТЧ);
вот с такой информацией об ошибке

{Форма.Форма.Форма(23)}: Ошибка при вызове метода контекста (Удалить)
               текДокОбъект.ДанныеПоРасчетам.Удалить(строкаТЧ);
по причине:
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
3 zbv
 
27.02.12
23:27
СЗСтрокКУдалению.Добавить(стр); - тут добавляешь строку из ссылки.

а тут текДокОбъект.ДанныеПоРасчетам.Удалить(строкаТЧ) удаляешь у объекта.

Возможно тут собака зарыта.
В список значений добавляй строку ТЧ объекта.
4 MikeStav
 
27.02.12
23:33
(3) точно - в этом и вся проблема - спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.