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

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

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

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

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

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

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

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




ЭтаФорма.Закрыть();
КонецПроцедуры
1 Волшебник
 
11.12.23
13:46
у вас тут ошибка

ИначеЕсли Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") Тогда
Ставка = 20;
2 ALEX7519
 
11.12.23
13:47
(1) угу )
3 ALEX7519
 
11.12.23
13:58
может надо это не на клиенте делать а на сервере перезаполнять ?
4 ALEX7519
 
11.12.23
14:16
у меня сработало после того как добавил

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

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


но при этом документ сразу и записывается, т.е. если они жмякнули что-то не то уже не получается закрыть счет не сохраняя. не айс :(
5 Мимохожий Однако
 
11.12.23
14:40
Используй процедуры на сервере без команды Записать()
6 ALEX7519
 
11.12.23
14:44
(5) т.е. с процедуры на клиенте перейти в процедуру на сервере и туда весь модуль переписать ?
7 Мимохожий Однако
 
11.12.23
15:25
Например, первое попавшееся
https://infostart.ru/1c/articles/153602/
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.