Dasturni yaratishda funksiya va pratseduralardan foydalanish.
&НаКлиенте
Процедура ПриходНовШтрихПриИзменении(Элемент)
стч=Элементы.Приход.ТекущиеДанные;
Резултат=ПолучитьШтрихКод(стч.НовШтрих);
если не ПустаяСтрока(Резултат) тогда стч.НаименованиеТоваров=Справочники.Товары.НайтиПоНаименованию(Резултат);
стч.МинКолво=стч.НаименованиеТоваров.МинималКолво;
стч.ПриходЦена=стч.НаименованиеТоваров.Приход;
стч.ПродажЦена=стч.НаименованиеТоваров.Продаж;
стч.Срок=стч.НаименованиеТоваров.Срок;
стч.шт=стч.НаименованиеТоваров.шт;
стч.ЗащитаЦена=стч.НаименованиеТоваров.ЗащитаЦена;
стч.Серия=стч.НаименованиеТоваров.Серия;
стч.Сертификат=стч.НаименованиеТоваров.Сертификат;
стч.Производитель=стч.НаименованиеТоваров.Производитель;
стч.Бренд=стч.НаименованиеТоваров.Бренд;
КонецЕсли;
КонецПроцедуры
Bu prosedura tovarni kirim jarayonida, tovarlar roʼyxtidan tanlangan tovarni rekvizitlarini jadvalga toʼldirib beradi. Tovarni tovarlar roʼyhatidan qidirish uchun
ПолучитьШтрихКод() funksiyasiga murojat qiladi.
Функция ПолучитьШтрихКод(ШтрихКод) Экспорт
Запрос=Новый Запрос;
Запрос.Текст=«ВЫБРАТЬ
| Товары.Ссылка
|ИЗ
| Справочник.Товары КАК Товары
|ГДЕ
| Товары.Таблич.ШтрихКод = &ШтрихКод»;
Запрос.УстановитьПараметр(«ШтрихКод»,ШтрихКод);
выборка=Запрос.Выполнить().Выбрать();
выборка.Следующий();
Возврат выборка.Ссылка;
КонецФункции
Bu funksiya tovarni tovarlar roʼyxatining ichidan shtrixkodi orqali qidiradi. Bunda barcha tovarlar roʼyxatida soʼrov yuboriladi.
&НаКлиенте
Процедура ПриходКоличествоПриИзменении(Элемент)
стч=Элементы.Приход.ТекущиеДанные;
стч.ПриходСумма=стч.Количество*(?(стч.ПриходЦена>0,стч.ПриходЦена,0));
стч.ПродажСумма=стч.Количество*(?(стч.ПродажЦена>0,стч.ПродажЦена,0));
Объект.СуммаИтого=Объект.Приход.Итог(«ПриходСумма»);
стч.Колво_шт=стч.Количество*?(стч.НаименованиеТоваров.Шт>0,
стч.НаименованиеТоваров.Шт,1);
нн=стч.ПродажЦена-стч.ПриходЦена;
стч.Наценка=(нн/?(стч.ПриходЦена>0,стч.ПриходЦена,1))*100;
КонецПроцедуры
Bu funksiya tovarni miqdorini tovar donasiga koʼpaytinib tovarni nech donaligini yoki aksincha sonini miqdoriga koʼpaytirib hisobi olinadi.
&НаКлиенте
Процедура ПриходПриходЦенаПриИзменении(Элемент)
стч=Элементы.Приход.ТекущиеДанные;
ШтПрЦена=стч.ПриходЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПриходСумма=ШтПрЦена*стч.Колво_шт;
Объект.СуммаИтого=Объект.Приход.Итог(«ПриходСумма»);
если стч.ПродажЦена>0 тогда
ШтПроЦена=стч.ПродажЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПродажСумма=ШтПроЦена*стч.Колво_шт;
КонецЕсли;
//ЭтаФорма.ТекущийЭлемент=Элементы.ПриходПродажЦена;
НархИзменений_Сервер(стч.НаименованиеТоваров,стч.ПродажЦена,стч.ПриходЦена,стч.срок,стч.Наценка,стч.Производитель,стч.Серия,стч.Сертификат);
орг=стч.НаименованиеТоваров.ПолучитьОбъект();
орг.Наценка=стч.Наценка;
орг.Записать();
КонецПроцедуры
Bu funksiya tovarni narxini koʼrsatuvchi Protsedura narxini qoʼyilgandan soʼng mavjud tovarning barchasiga yuklanadi.
Процедура НархИзменений_Сервер(НаименованиеТоваров,ПродажЦена,ПриходЦена,Срок,Наценка,Производитель,Серия,Сертификат)
орг=НаименованиеТоваров.ПолучитьОбъект();
орг.Продаж=ПродажЦена;
орг.Приход=ПриходЦена;
орг.Срок=Срок;
орг.Наценка=Наценка;
орг.Производитель=Производитель;
орг.Серия=Серия;
.Сертификат=Сертификат;
орг.Записать();
КонецПроцедуры
Орг bu oʼzgaruvchi boʼlib bu kod orqali tovarni ushlab oladi.
&НаКлиенте
Процедура ПриходПродажЦенаПриИзменении(Элемент)
стч=Элементы.Приход.ТекущиеДанные;
нн=стч.ПродажЦена-стч.ПриходЦена;
стч.Наценка=(нн/?(стч.ПриходЦена>0,стч.ПриходЦена,1))*100;
ШтПроЦена=стч.ПродажЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПродажСумма=ШтПроЦена*стч.Колво_шт;
если стч.ПриходЦена>0 тогда
ШтПрЦена=стч.ПриходЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПриходСумма=ШтПрЦена*стч.Колво_шт;
Объект.СуммаИтого=Объект.Приход.Итог(«ПриходСумма»);
КонецЕсли;
НархИзменений_Сервер(стч.НаименованиеТоваров,стч.ПродажЦена,стч.ПриходЦена,стч.срок,стч.Наценка,стч.Производитель,стч.Серия,стч.Сертификат);
орг=стч.НаименованиеТоваров.ПолучитьОбъект();
орг.Наценка=стч.Наценка;
орг.Записать();
если стч.ЗащитаЦена>0 тогда
если стч.ЗащитаЦена<стч.ПродажЦена тогда
Сигнал();
Предупреждение(«Чегараланган нархда кутарилиб кетди!!!»);
Сигнал();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Bu kod orqali tovarni narxini chegaralash mumkin.
&НаКлиенте
Процедура ПриходКолво_штПриИзменении(Элемент)
стч=Элементы.Приход.ТекущиеДанные;
если стч.ПриходЦена>0 и стч.ПродажЦена>0 тогда
ШтПрЦена=стч.ПриходЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПриходСумма=ШтПрЦена*стч.Колво_шт;
Объект.СуммаИтого=Объект.Приход.Итог(«ПриходСумма»);
ШтПроЦена=стч.ПродажЦена/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
стч.ПродажСумма=ШтПроЦена*стч.Колво_шт;
КонецЕсли;
стч.Количество=стч.Колво_шт/?(стч.НаименованиеТоваров.Шт>0,стч.НаименованиеТоваров.Шт,1);
Объект.СуммаИтого=Объект.Приход.Итог(«ПриходСумма»);
//ЭтаФорма.ТекущийЭлемент=Элементы.ПриходПриходЦена;
КонецПроцедуры
Bu kod orqali kelgan tovarni narxini dastur orqali chiqaradi masalan kelga tovarni sonini umumiy olingan summasiga boʼladi yoki aksincha ham boʼlishi mumkin.
Do'stlaringiz bilan baham: |