Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- &НаСервере
- Процедура ВыборДокументаПриИзмененииНаСервере()
- Документ = ВыборДокумента.Ссылка;
- Дата = Документ.Дата;
- Коментарий = Документ.Коментарий;
- Объект.Номенклатура.Очистить();
- Для Индекс = 0 По Документ.Номенклатура.Количество()-1 Цикл
- НоваяСтрока = Объект.Номенклатура.Добавить();
- НоваяСтрока.Номенклатура = Документ.Номенклатура.Получить(Индекс).Номенклатура;
- НоваяСтрока.Цена = Документ.Номенклатура.Получить(Индекс).Цена;
- НоваяСтрока.ЕдИзм = Документ.Номенклатура.Получить(Индекс).ЕдИзм;
- НоваяСтрока.Количество = Документ.Номенклатура.Получить(Индекс).Количество;
- НоваяСтрока.Сумма = Документ.Номенклатура.Получить(Индекс).Сумма;
- КонецЦикла;
- КонецПроцедуры
- &НаКлиенте
- Процедура ВыборДокументаПриИзменении(Элемент)
- ВыборДокументаПриИзмененииНаСервере();
- КонецПроцедуры
- &НаКлиенте
- Процедура Изменить(Команда)
- ИзменитьНаСервере();
- КонецПроцедуры
- &НаСервере
- Процедура ИзменитьНаСервере()
- ДокОбъект = ВыборДокумента.Ссылка.ПолучитьОбъект();
- ДокОбъект.Дата = Дата;
- ДокОбъект.Склад = Склад;
- ДокОбъект.Менеджер = Менеджер;
- ДокОбъект.Коментарий = Коментарий;
- ДокОбъект.Номенклатура.Очистить();
- Для Индекс = 0 ПО Объект.Номенклатура.Количество()-1 Цикл
- НоваяСтрока = ДокОбъект.Номенклатура.Добавить();
- НоваяСтрока.ЕдИзм = Объект.Номенклатура.Получить(Индекс).Едизм;
- НоваяСтрока.Количество = Объект.Номенклатура.Получить(Индекс).Количество;
- НоваяСтрока.Номенклатура = Объект.Номенклатура.Получить(Индекс).Номенклатура;
- НоваяСтрока.Сумма = Объект.Номенклатура.Получить(Индекс).Сумма;
- НоваяСтрока.Цена = Объект.Номенклатура.Получить(Индекс).Цена;
- КонецЦикла;
- ДокОбъект.Записать();
- КонецПроцедуры
- &НаКлиенте
- Процедура НоменклатураНоменклатураПриИзменении(Элемент)
- Стр = Элементы.Номенклатура.ТекущиеДанные;
- ПолучитьДанныеНоменклатура(Стр.номенклатура, Стр.ЕдИзм, Стр.Цена);
- Стр.Количество = 1;
- НоменклатураКоличествоПриИзменении(Элемент);
- КонецПроцедуры
- &НаКлиенте
- Процедура НоменклатураКоличествоПриИзменении(Элемент)
- Стр = Элементы.Номенклатура.ТекущиеДанные;
- Если Стр.Количество > 0 Тогда
- Стр.Сумма = Стр.Цена * Стр.количество;
- Иначе
- ДефолтныеЗначенияПриОшибке(Элемент);
- КонецЕсли;
- КонецПроцедуры
- &НаКлиенте
- Процедура НоменклатураЦенаПриИзменении(Элемент)
- Стр = Элементы.Номенклатура.ТекущиеДанные;
- Если Стр.Цена > 0 Тогда
- Стр.Сумма = Стр.Цена * Стр.количество;
- Иначе
- ДефолтныеЗначенияПриОшибке(Элемент);
- КонецЕсли;
- КонецПроцедуры
- &НаКлиенте
- Процедура НоменклатураСуммаПриИзменении(Элемент)
- Стр = Элементы.Номенклатура.ТекущиеДанные;
- Если Стр.Сумма > 0 Тогда
- Стр.Цена = Стр.Сумма / Стр.Количество;
- Иначе
- ДефолтныеЗначенияПриОшибке(Элемент);
- КонецЕсли
- КонецПроцедуры
- &НаКлиенте
- Процедура ДефолтныеЗначенияПриОшибке(Элемент)
- Сообщить("Некоректное значение поля");
- НоменклатураНоменклатураПриИзменении(Элемент);
- КонецПроцедуры
- &НаСервере
- Процедура ПолучитьДанныеНоменклатура(Номенклатура, ЕдИзм, Цена)
- Цена = Номенклатура.Цена;
- ЕдИзм = Номенклатура.ЕдиницаИзмерения;
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment