В маршрутном листе есть список клиентов, есть такие что повторяються, но есть у клиента реквизит -Неиспользуется, то клиента нужно отнять, меня смущает ;Тз.СдвинутьСтроку(-1); "
вася-стоит реквизит неиспользовать
вася-стоит реквизит неиспользовать
петя
КолвоКлиентов-2, а нужно 1
или
вася-стоит реквизит неиспользовать
вася-стоит реквизит неиспользовать
петя
юра-стоит реквизит неиспользовать
юра-стоит реквизит неиспользовать
КолвоКлиентов-2, а нужно 1
Процедура РасчитатьКолвоКлиентов()
Тз = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ,"Клиент");
Тз.ВыбратьСтроки();
Пока Тз.ПолучитьСтроку()=1 Цикл
Если Тз.Клиент.Неиспользуется = 1 Тогда
Тз.УдалитьСтроку(Тз.НомерСтроки);
Если Тз.НомерСтроки > Тз.Количествострок() Тогда
Тз.СдвинутьСтроку(-1);
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТЗ.Свернуть("Клиент","");
КолвоКлиент = Тз.КоличествоСтрок();
КонецПроцедуры // РасчитатьКолвоКлиентов
по моему намного проще будет просто удалить неиспользуемые
Процедура РасчитатьКолвоКлиентов()
Тз = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ,"Клиент");
КолвоКлиент = 0;
Тз.ВыбратьСтроки();
Пока Тз.ПолучитьСтроку()=1 Цикл
Если Тз.Клиент.Неиспользуется = 0 Тогда
КолвоКлиент = КолвоКлиент + 1;
КонецЕсли;
КонецЦикла;
КонецПроцедуры // РасчитатьКолвоКлиентов
Ой, нет не считает
клиента с реквизитом не считает, вася,юра, но петю не группирует считает как-2, а не 1
вася-стоит реквизит неиспользовать ----0
юра-стоит реквизит неиспользовать----0
петя
петя
Процедура РасчитатьКолвоКлиентов()
Тз = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ,"Клиент");
тз.Свернуть("Клиент");
КолвоКлиент = 0;
Тз.ВыбратьСтроки();
Пока Тз.ПолучитьСтроку()=1 Цикл
Если Тз.Клиент.Неиспользуется = 0 Тогда
КолвоКлиент = КолвоКлиент + 1;
КонецЕсли;
КонецЦикла;
КонецПроцедуры // РасчитатьКолвоКлиентов
Спасибо.
inna.innainna84 @ 26.04.16, 22:36 ,
Можно и с удалением строк ТЗ и их подсчетом (так как Вы хотели реализовать), но строки удаляются оттуда немного по-другому.
Можно так:
Процедура РасчитатьКолвоКлиентов()
Тз = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(Тз,"Клиент");
Тз.Свернуть("Клиент");
КолСтрок = Тз.КоличествоСтрок();
Для сч = 1 По КолСтрок Цикл
НомерСтрокиТз = КолСтрок-сч+1;//Идем снизу ТЗ вверх
Тз.ПолучитьСтрокуПоНомеру(НомерСтрокиТз);
Если Тз.Клиент.Неиспользуется = 1 Тогда
Тз.УдалитьСтроку();
КонецЕсли;
КонецЦикла;
КолвоКлиент = Тз.КоличествоСтрок();
КонецПроцедуры // РасчитатьКолвоКлиентов
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua