|
Реализовать по табличной части документа. | ☑ | ||
---|---|---|---|---|
0
wade25
13.11.11
✎
19:04
|
Добрый вечер.
Документ формируется в процессе записи другого документа. Т.е. в первом документе в табличной части Номенклатура. Во втором документе в табличной части то, из чего состоит номенклатура (производится). И получается так, что в ТЧ второго документа могут попасть 2 записи с одним именем, но разными показателями( Естественно при записи ругается. Как можно сложить эти строки перед записью? Точнее как реализовать, пробывал так, но ругается за выход за границу массива( //Для Каждого ТекСтр ИЗ Док.Номенклатура Цикл // ТекСтр.Наименование = ТекСтр.НомерСтроки // Если ТекСтр.Наименование = ЕщеСтр.Наименование И ТекСтр.НомерСтроки <> ЕщеСтр.НомерСтроки Тогда // НоваяСтрока = Док.Номенклатура.Добавить(); // НоваяСтрока.КоличествоВсего = ТекСтр.КоличествоВсего + ЕщеСтр.КоличествоВсего; // НоваяСтрока.Январь = ТекСтр.Январь + ЕщеСтр.Январь; // НоваяСтрока.Февраль = ТекСтр.Февраль+ ЕщеСтр.Февраль; // НоваяСтрока.Март = ТекСтр.Март + ЕщеСтр.Март; // НоваяСтрока.Апрель = ТекСтр.Апрель + ЕщеСтр.Апрель; // НоваяСтрока.Май = ТекСтр.Май + ЕщеСтр.Май; // НоваяСтрока.Июнь = ТекСтр.Июнь + ЕщеСтр.Июнь; // НоваяСтрока.Июль = ТекСтр.Июль + ЕщеСтр.Июль; // НоваяСтрока.Август = ТекСтр.Август + ЕщеСтр.Август; // НоваяСтрока.Сентябрь = ТекСтр.Сентябрь+ЕщеСтр.Сентябрь; // НоваяСтрока.Октябрь = ТекСтр.Октябрь+ ЕщеСтр.Октябрь; // НоваяСтрока.Ноябрь = ТекСтр.Ноябрь + ЕщеСтр.Ноябрь; // НоваяСтрока.Декабрь = ТекСтр.Декабрь+ ЕщеСтр.Декабрь; // КонецЕсли; //КонецЦикла; //Док.Номенклатура.Удалить(ЕщеСтр.НомерСтроки); //Док.Номенклатура.Удалить(ЕщеСтр.НомерСтроки); И еще, как сделать проверку в документе, что бы нельзя было занести в ТЧ две одинаковых номенклатуры? |
|||
1
ArtKzn
13.11.11
✎
19:46
|
Перед записью документа выгрузи табл часть в таблицу значений, потом воспользуйся методом Свернуть(), потом загрузи обратно.
|
|||
2
Ant1773
13.11.11
✎
19:52
|
Свернуть?
Какая-то проверка при изменении номенклатуры и ругань пользователю? |
|||
3
wade25
14.11.11
✎
10:07
|
Более точный вопрос. Как пройтись по табличной части документа, что бы при совпадении строк, создавалась новая или складывались, начальные варианты совпадающих строк, удалялись. Если идти 2мя циклами по ТЧ, то выходит за границу массива(
|
|||
4
hhhh
14.11.11
✎
10:13
|
(3) Свернуть(). Читать что ли не умеешь?
|
|||
5
wade25
14.11.11
✎
21:16
|
Автоматически поля просумируются? Никогда так не делал...
|
|||
6
ОбычныйЧеловек
14.11.11
✎
21:18
|
(5) Это азы и их надо бы знать...по вопросу - просуммируются те поля которые ты укажешью
|
|||
7
ПесняПроЗайцев
14.11.11
✎
21:40
|
(3) А начинай с конца массива.. гы )
|
|||
8
ПесняПроЗайцев
14.11.11
✎
21:41
|
Все равно ТС советов не слушает.
|
|||
9
wade25
14.11.11
✎
21:43
|
(8) Та слушаю, уже разобрался. (1) Спс)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |