BlackSmith2021

Форма документа "Расходная накладная"

Nov 20th, 2024
40
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.50 KB | None | 0 0
  1.  
  2. &НаКлиенте
  3. Процедура НоменклатураНоменклатураПриИзменении(Элемент)
  4.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  5.     Стр.Цена = ДанныеСправочникаНоменклатуры(Строка(Стр.Номенклатура), "Цена");
  6.     Стр.ЕдИзм = ДанныеСправочникаНоменклатуры(Строка(Стр.Номенклатура), "ЕдИзм");
  7.     Стр.Количество = 1;
  8.     Стр.Сумма = Стр.Количество * Стр.Цена;
  9. КонецПроцедуры
  10.  
  11. &НаКлиенте
  12. Процедура НоменклатураКоличествоПриИзменении(Элемент)
  13.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  14.     Если Стр.Количество > 0 Тогда
  15.         Стр.Сумма = Стр.Цена * Стр.Количество;
  16.     Иначе
  17.           ДефолтныеЗначенияПолейПриОшибке();
  18.     КонецЕсли;
  19. КонецПроцедуры
  20.  
  21. &НаКлиенте
  22. Процедура НоменклатураЦенаПриИзменении(Элемент)
  23.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  24.     Если Стр.Цена > 0 Тогда
  25.         Стр.Сумма = Стр.Количество * Стр.Цена;
  26.     Иначе
  27.           ДефолтныеЗначенияПолейПриОшибке();
  28.     КонецЕсли;
  29. КонецПроцедуры
  30.  
  31. &НаКлиенте
  32. Процедура НоменклатураСуммаПриИзменении(Элемент)
  33.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  34.     Если Стр.Сумма > 0 Тогда
  35.         Стр.Цена = Стр.Сумма / Стр.Количество;
  36.     Иначе
  37.          ДефолтныеЗначенияПолейПриОшибке();
  38.     КонецЕсли;
  39. КонецПроцедуры
  40.  
  41. //данная процедура устанавливает дефолтные значения полей для одной единицы товара
  42. &НаКлиенте
  43. Процедура ДефолтныеЗначенияПолейПриОшибке()
  44.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  45.     Сообщить("Недопустимое значение поля");
  46.     Стр.Количество = 1;
  47.     Стр.Цена = ДанныеСправочникаНоменклатуры(Строка(Стр.Номенклатура), "Цена");
  48.     Стр.Сумма = Стр.Цена * Стр.Количество;
  49. КонецПроцедуры
  50.  
  51. //Функция возвращает ссылку с запрошеным значением объекта в справочнике
  52. //если можно получить значения полей через елементы формы на клиенте, хотелось бы знать как
  53. &НаСервере
  54. Функция ДанныеСправочникаНоменклатуры(Наименование, Параметр)
  55.     ДанныеСсылка = Справочники.Номенклатура.НайтиПоНаименованию(Наименование, Истина);
  56.     Если Параметр =  "Цена" Тогда
  57.         Возврат ДанныеСсылка.Цена;
  58.     ИначеЕсли Параметр = "ЕдИзм" Тогда
  59.         Возврат ДанныеСсылка.ЕдиницаИзмерения
  60.     КонецЕсли;
  61. КонецФункции
  62.  
Advertisement
Comments
  • BlackSmith2021
    359 days
    # text 0.29 KB | 0 0
    1. Процедура ДефолтныеЗначенияПолейПриОшибке вызывается в процедурах при изменении полей, если введены некоректные данные или значение меньше либо равно нулю.
    2.  
    3.  
Add Comment
Please, Sign In to add comment