не подскажите, попросили меня в 1с Бухг 30 сделать обработку, чтобы стоя на строчке в счете вводим кол-во и программа должна разбить эту строчку на две - с обним и другим количеством.
Вроде бы обработку написал, она срабатывает, разделяет строки, но во вновь созданной не проставляются единицы измерения и всего ( только если потом жмякнуть записать ) - я так понимаю т.к. еи и всего это не реквизиты табличной части, а формы и надо бы форму обновить чтоли но никак не вкурю как :(((
И еще, как сделать, чтобы форма обработки для ввода количесва не распахивалась на весь экран ?
&НаКлиенте
Процедура Заполнить(Команда)
стр = ВладелецФормы.Элементы.Товары.ТекущиеДанные;
СуммаБыла = стр.Сумма;
НДСбыло = стр.СуммаНДС;
КоличествоБыло = стр.Количество;
стр.Количество = Процент;
Стр.Сумма = Стр.Количество*стр.Цена;
Если Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20") Тогда
Ставка = 20;
ИначеЕсли Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") Тогда
Ставка = 20;
Иначе
Ставка = 0;
КонецЕсли;
Если ВладелецФормы.Объект.СуммаВключаетНДС Тогда
стр.СуммаНДС = ОКР(стр.Сумма/(100+ставка)*ставка,2);
Иначе
стр.СуммаНДС = ОКР(стр.Сумма/100*ставка,2);
КонецЕсли;
//стрН = ВладелецФормы.Элементы.Товары.Добавить();
стрН = ВладелецФормы.Объект.Товары.Добавить();
стрН.Номенклатура = стр.Номенклатура;
стрН.Содержание = стр.Содержание;
стрН.Количество = КоличествоБыло - Процент;
стрН.Цена = стр.Цена;
стрН.Сумма = СуммаБыла - стр.Сумма;
стрН.ПроцентСкидки = стр.ПроцентСкидки;
стрН.СуммаСкидки = стр.СуммаСкидки;
стрН.СтавкаНДС = стр.СтавкаНДС;
стрН.СуммаНДС = НДСбыло - стр.СуммаНДС;
стрН.КлючКалькуляцииРасходов = стр.КлючКалькуляцииРасходов;
ЭтаФорма.Закрыть();
КонецПроцедуры
Вроде бы обработку написал, она срабатывает, разделяет строки, но во вновь созданной не проставляются единицы измерения и всего ( только если потом жмякнуть записать ) - я так понимаю т.к. еи и всего это не реквизиты табличной части, а формы и надо бы форму обновить чтоли но никак не вкурю как :(((
И еще, как сделать, чтобы форма обработки для ввода количесва не распахивалась на весь экран ?
&НаКлиенте
Процедура Заполнить(Команда)
стр = ВладелецФормы.Элементы.Товары.ТекущиеДанные;
СуммаБыла = стр.Сумма;
НДСбыло = стр.СуммаНДС;
КоличествоБыло = стр.Количество;
стр.Количество = Процент;
Стр.Сумма = Стр.Количество*стр.Цена;
Если Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20") Тогда
Ставка = 20;
ИначеЕсли Стр.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") Тогда
Ставка = 20;
Иначе
Ставка = 0;
КонецЕсли;
Если ВладелецФормы.Объект.СуммаВключаетНДС Тогда
стр.СуммаНДС = ОКР(стр.Сумма/(100+ставка)*ставка,2);
Иначе
стр.СуммаНДС = ОКР(стр.Сумма/100*ставка,2);
КонецЕсли;
//стрН = ВладелецФормы.Элементы.Товары.Добавить();
стрН = ВладелецФормы.Объект.Товары.Добавить();
стрН.Номенклатура = стр.Номенклатура;
стрН.Содержание = стр.Содержание;
стрН.Количество = КоличествоБыло - Процент;
стрН.Цена = стр.Цена;
стрН.Сумма = СуммаБыла - стр.Сумма;
стрН.ПроцентСкидки = стр.ПроцентСкидки;
стрН.СуммаСкидки = стр.СуммаСкидки;
стрН.СтавкаНДС = стр.СтавкаНДС;
стрН.СуммаНДС = НДСбыло - стр.СуммаНДС;
стрН.КлючКалькуляцииРасходов = стр.КлючКалькуляцииРасходов;
ЭтаФорма.Закрыть();
КонецПроцедуры
По теме из базы знаний
- Обработка табличных частей документов "Регистрация разовых начислений сотрудников организации" и "Регистрация разовых удержаний сотрудников организации" - заполнение полей "Дата начала" и "Дата окончания" по периоду регистрации документа.
- Внешняя обработка табличной части документов "Заполнить Серии Номенклатуры"
- Универсальная внешняя обработка табличной части - оставляет только данные, соответствующие отбору
- Создание подключаемой обработки табличной части с диалогом запроса параметров заполнения (управляемые формы)
- Универсальное копирование данных документов табличной части "Товары" для УПП 1.3 (дополнительная внешняя обработка табличных частей)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Заполнять надо все реквизиты таблицы, вы заполняете не все.
Вроде бы обработку написал, она срабатывает, разделяет строки, но во вновь созданной не проставляются единицы измерения и всего ( только если потом жмякнуть записать ) - я так понимаю т.к. еи и всего это не реквизиты табличной части, а формы и надо бы форму обновить чтоли но никак не вкурю как :(((
Заполнять надо все реквизиты таблицы, вы заполняете не все.
НС = Объект.Таблица.Добавить();
Для Каждого Колонка ИЗ СтрРазделить("Количество,Сумма,СуммаНДС",",") Цикл
КопируемаяСтрока[Колонка] = КопируемаяСтрока[Колонка] / 2;
КонецЦикла;
ЗаполнитьЗначениеСвойств(НС, КопируемаяСтрока);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот