Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2018, 20:31
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обход элементов табл части документа  (Прочитано 2435 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн metalstorm_tlt

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 2
  • КПД: 11%
  • Регистрация: 2010-09-10
  • Сайт: 
Процедура ОбновлениеСпискаДопУслуг()
    //удаление недействующих элементов
   Спр=Справочники.ВидыДопУслуг.Выбрать();
   Для Каждого СтрокаДопУслуги Из ДопУслуги Цикл
      ЭлементНайден=Ложь;
      Пока Спр.Следующий() Цикл
         Если Спр.Наименование=СтрокаДопУслуги.Услуга И
         Спр.ОсновнаяУслуга=ЭлементыФормы.Услуга.Значение Тогда
            ЭлементНайден=Истина;
            Прервать;
         КонецЕсли;
      КонецЦикла; //обошли справочник
      Если ЭлементНайден=Ложь Тогда
         ДопУслуги.Удалить(СтрокаДопУслуги);
      КонецЕсли;
   КонецЦикла;
   //добавление новых
   Спр=Справочники.ВидыДопУслуг.Выбрать();
   Пока Спр.Следующий() Цикл
      Если Спр.ОсновнаяУслуга=ЭлементыФормы.Услуга.Значение И
      ДопУслуги.Найти(Спр.Наименование,"Услуга")=Неопределено Тогда
         НоваяСтрока=ДопУслуги.Добавить();
         НоваяСтрока.Услуга=Спр.Наименование;
      КонецЕсли;
   КонецЦикла;
КонецПроцедуры

Почему то цикл: Для Каждого СтрокаДопУслуги.... делает меньшее число итераций чем должен...то есть в табличной части документа остаются неудаленные строки. Помогите пожалуйста как исправить эту проблему. Буду очень благодарен :ehtwj:


Оффлайн metalstorm_tlt

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 2
  • КПД: 11%
  • Регистрация: 2010-09-10
  • Сайт: 
Неужели никто не поможет?

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
1. Пока Спр.Следующий() Цикл - это нужно заменить на запрос,так быстрее и проще.
2. Меньшее количество итераций происходит из-за удаления строк.ДопУслуги.Удалить(СтрокаДопУслуги); - после этого индекс строки нужно возвращать к начальному значению, тогда пропусков перебора строк не будет.
Один из вариантов решения: Можно скопитьвать ТЧ в ТЗ, делать выборку в ТЗ а при соблюдении всех условий добавлять новую строчку в ТЧ. ))))

Оффлайн metalstorm_tlt

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 2
  • КПД: 11%
  • Регистрация: 2010-09-10
  • Сайт: 
после этого индекс строки нужно возвращать к начальному значению
>>>
как это сделать скажи пожалуста?


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 5075
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 8571
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

Автор yunovoРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 6158
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 11060
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

Автор MKozzlikРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 8173
Последний ответ 03 Фев 2012, 17:27
от Dinah

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
78 Сообщений
byte777
41 Сообщений
AIFrame AIFrame
40 Сообщений
wise wise
36 Сообщений
alex0402
36 Сообщений
alexandr_ll
30 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
26 Сообщений
LexaK
23 Сообщений
happynattion
22 Сообщений
antoneus
20 Сообщений

* Кто онлайн

  • Точка Гостей: 293
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal