Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ
Имеется некий документ. В ТЧ документа есть некоторые записи, где кол-во >1.
Требуется обработкой разбить строки ТЧ, у которых кол-во больше 1 на нужное кол-во строк.
Например:
Товар 1, 34.56 денег, 5 штук... Реквизиты1, Реквизиты2,Реквизиты3
Получить:
Товар 1, 34.56 денег, 1 штук... Реквизиты1, Реквизиты2,Реквизиты3
Товар 1, 34.56 денег, 1 штук... Реквизиты1, Реквизиты2,Реквизиты3
Товар 1, 34.56 денег, 1 штук... Реквизиты1, Реквизиты2,Реквизиты3
Товар 1, 34.56 денег, 1 штук... Реквизиты1, Реквизиты2,Реквизиты3
Товар 1, 34.56 денег, 1 штук... Реквизиты1, Реквизиты2,Реквизиты3
Потом сохранить и провести документ.
Вроде есть функционал, но никак не могу сообразить как изменить кол-во у первой записи на "1", а далее добавить строки с такими-же реквизитами, только с кол-вом "1"
Попробовал:
&НаКлиенте
Процедура РазбивкаПоКолву(Команда)
// Вставить содержимое обработчика.
Для Каждого СТР из Объект.Состав Цикл
Если СТР.Количество > 1 Тогда
Для Счетчик = 1 По СТР.Количество Цикл
НоваяСтрока = Объект.Состав.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,СТР);
НоваяСтрока.Количество = 1;
КонецЦикла;
КонецЕсли;
КонецЦикла;
тз = Товары.Выгрузить();
тв = Товары.ВыгрузитьКолонки();
Для каждого строка из тз Цикл
Для сч=1 по строка.Количество Цикл
новаястр = тв.Добавить();
ЗаполнитьЗначенияСвойств(нс, строка);
новаястр.Количество=1;
КонецЦикла;
КонецЦикла;
Товарі.Загрузить(тв);
Все сработало. Спасибо, разобрался...
Странная ситуация возникла. При программном добавлении строк в ТЧ, форма не показала модифицированность.
Поэтому, если после выполнения операции изменения ТЧ, форму закрыть, то изменений в ТЧ никаких, т.е. данные не сохранены.
Почему после изменения ТЧ програмным методом 1с не понял, что нужно сохранять данные?
sava1 @ Сегодня, 18:22
,
У меня кнопка в ТЧ висит. Попробовал Ваш код, но говорит, что недопустимо использовать на Клиенте.
Попробовал на Сервере - вообще тишина...
Поставил после кода:
ЭтаФорма.Модифицированность = Истина;
Тогда встала (*) на документе.
Но я этот код планирую задействовать не на форме документа, а в обработке. Там формы документа не будет, а нужно будет записывать программно, а модифицированности нет. Как быть, если этот код уду использовать в обработке при обращении к объекту документа?
Constantus @ Today, 15:42
,
Никак не быть. Перепишите код с обращением к объекту, а не к его форме или к его данным формы.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua