Обработка табличных частей

1. budda1975 11.12.23 13:31 Сейчас в теме
не подскажите, попросили меня в 1с Бухг 30 сделать обработку, чтобы стоя на строчке в счете вводим кол-во и программа должна разбить эту строчку на две - с обним и другим количеством.
Вроде бы обработку написал, она срабатывает, разделяет строки, но во вновь созданной не проставляются единицы измерения и всего ( только если потом жмякнуть записать ) - я так понимаю т.к. еи и всего это не реквизиты табличной части, а формы и надо бы форму обновить чтоли но никак не вкурю как :(((
И еще, как сделать, чтобы форма обработки для ввода количесва не распахивалась на весь экран ?

&НаКлиенте
Процедура Заполнить(Команда)

стр = ВладелецФормы.Элементы.Товары.ТекущиеДанные;

СуммаБыла = стр.Сумма;
НДСбыло = стр.СуммаНДС;
КоличествоБыло = стр.Количество;

стр.Количество = Процент;
Стр.Сумма = Стр.Количество*стр.Цена;

Если Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20") Тогда
Ставка = 20;
ИначеЕсли Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") Тогда
Ставка = 20;
Иначе
Ставка = 0;
КонецЕсли;

Если ВладелецФормы.Объект.СуммаВключаетНДС Тогда
стр.СуммаНДС = ОКР(стр.Сумма/(100+ставка)*ставка,2);
Иначе
стр.СуммаНДС = ОКР(стр.Сумма/100*ставка,2);
КонецЕсли;

//стрН = ВладелецФормы.Элементы.Товары.Добавить();
стрН = ВладелецФормы.Объект.Товары.Добавить();
стрН.Номенклатура = стр.Номенклатура;
стрН.Содержание = стр.Содержание;
стрН.Количество = КоличествоБыло - Процент;
стрН.Цена = стр.Цена;
стрН.Сумма = СуммаБыла - стр.Сумма;
стрН.ПроцентСкидки = стр.ПроцентСкидки;
стрН.СуммаСкидки = стр.СуммаСкидки;
стрН.СтавкаНДС = стр.СтавкаНДС;
стрН.СуммаНДС = НДСбыло - стр.СуммаНДС;
стрН.КлючКалькуляцииРасходов = стр.КлючКалькуляцииРасходов;




ЭтаФорма.Закрыть();
КонецПроцедуры
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 33 11.12.23 13:38 Сейчас в теме
(1)
Вроде бы обработку написал, она срабатывает, разделяет строки, но во вновь созданной не проставляются единицы измерения и всего ( только если потом жмякнуть записать ) - я так понимаю т.к. еи и всего это не реквизиты табличной части, а формы и надо бы форму обновить чтоли но никак не вкурю как :(((

Заполнять надо все реквизиты таблицы, вы заполняете не все.
3. budda1975 11.12.23 13:48 Сейчас в теме
(2) да вроде все , какие в конфигураторе есть
4. Sashares 33 11.12.23 13:55 Сейчас в теме
(3)На форме смотрите. Могут быть реквизиты формы в табличной части.
Воспользуйтесь ЗаполнитьЗначенияСвойств().
5. budda1975 11.12.23 14:05 Сейчас в теме
(4) да эти реквизиты есть в форме исходного счета, моя процедура вызывается из модуля формы внешней обработки табличных частей . Не пойму как ЗаполнитьЗначенияСвойств() ? или же надо как-нибудь форму счета обновить ?
7. Sashares 33 11.12.23 14:09 Сейчас в теме
(5)
стрН = ВладелецФормы.Объект.Товары.Добавить(); 
ЗполнитьЗначенияСвойств(стрН,стр );
...
6. starik-2005 3167 11.12.23 14:07 Сейчас в теме
НС = Объект.Таблица.Добавить();
Для Каждого Колонка ИЗ СтрРазделить("Количество,Сумма,СуммаНДС",",") Цикл
    КопируемаяСтрока[Колонка] =   КопируемаяСтрока[Колонка]  / 2;
КонецЦикла;
ЗаполнитьЗначениеСвойств(НС, КопируемаяСтрока);
8. budda1975 11.12.23 14:17 Сейчас в теме
(7) попробую

у меня сработало после того как добавил

ВладелецФормы.Записать();


ЭтаФорма.Закрыть();

КонецПроцедуры


но при этом документ сразу и записывается, т.е. если они жмякнули что-то не то уже не получается закрыть счет не сохраняя. не айс :(
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот