Подскажите как реализовать НЕ ВСЕ ТАК ПРОСТО
По теме из базы знаний
- Бизнес-консультант в малом и среднем-бизнесе. Кто это и зачем он нужен?
- Роль и задачи аналитика в проектной команде при внедрении 1С
- ФинОфис. Контроль и управление финансами. Практика применения
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
- Как мы автоматизировали башню раздачи воды
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Желание есть не только поупражнять,но и с удовольствием научусь использовать рекурсию для ТЗ, если подскажешь Che Burashka..!
Вот мой вариант перебора всех строк с суммированием..:
Для i=1 По Строки.КоличествоСтрок()-1 Цикл
ТекСтрока=Строки.ПолучитьЗначение(i,1);
ТекРС=Строки.ПолучитьЗначение(i,5);
Для j=i+1 По Строки.КоличествоСтрок() Цикл
СледСтрока=Строки.ПолучитьЗначение(j,1);
СледРС=Строки.ПолучитьЗначение(j,5);
Если СокрЛП(Сред(ТекСтрока,1,1))=СокрЛП(Сред(СледСтрока,1,1)) Тогда
ТекРС=ТекРС+СледРС;
Строки.УстановитьЗначение(i,5,ТекРС);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Получается следующее и не пойму что не так с циклом..
Исходные данные
№ Значение
1 10
2
2,1 5
2,2 6
после этого цикла
№ Значение
1 10
2 11
2,1 11
2,2 6
в чем ошибка???
Вот мой вариант перебора всех строк с суммированием..:
Для i=1 По Строки.КоличествоСтрок()-1 Цикл
ТекСтрока=Строки.ПолучитьЗначение(i,1);
ТекРС=Строки.ПолучитьЗначение(i,5);
Для j=i+1 По Строки.КоличествоСтрок() Цикл
СледСтрока=Строки.ПолучитьЗначение(j,1);
СледРС=Строки.ПолучитьЗначение(j,5);
Если СокрЛП(Сред(ТекСтрока,1,1))=СокрЛП(Сред(СледСтрока,1,1)) Тогда
ТекРС=ТекРС+СледРС;
Строки.УстановитьЗначение(i,5,ТекРС);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Получается следующее и не пойму что не так с циклом..
Исходные данные
№ Значение
1 10
2
2,1 5
2,2 6
после этого цикла
№ Значение
1 10
2 11
2,1 11
2,2 6
в чем ошибка???
Один из самых простых способов:
Добавь новую колонку МояГруппировка, пробежись по ТЗ и заполни ее ТЗ.МояГруппировка=Цел(ТЗ.НужноеЗначение), потом свернуть("МояГруппировка","НужныеТебеПоля")
Только что пересмотрел исходные данные - не совсем правильный метод я предложил - он сгруппирует только до целых чисел.
Добавь новую колонку МояГруппировка, пробежись по ТЗ и заполни ее ТЗ.МояГруппировка=Цел(ТЗ.НужноеЗначение), потом свернуть("МояГруппировка","НужныеТебеПоля")
Только что пересмотрел исходные данные - не совсем правильный метод я предложил - он сгруппирует только до целых чисел.
Спасибо за бразильский вариант (77dpi),но ответ оказался проще
Достаточно в моем варианте поставить условие и все отлично заработало
Если (СокрЛП(Сред(ТекСтрока,1,1))=СокрЛП(Сред(СледСтрока,1,1)))и(СтрДлина(СокрЛП(СледСтрока))-СтрДлина(СокрЛП(ТекСтрока))<>0)
Вышла ошибка!!! Не все так просто :((
И все таки кто нибудь знает как это реализовать?
Достаточно в моем варианте поставить условие и все отлично заработало
Если (СокрЛП(Сред(ТекСтрока,1,1))=СокрЛП(Сред(СледСтрока,1,1)))и(СтрДлина(СокрЛП(СледСтрока))-СтрДлина(СокрЛП(ТекСтрока))<>0)
Вышла ошибка!!! Не все так просто :((
И все таки кто нибудь знает как это реализовать?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот