BlackSmith2021

ФормаДокумента и ПроцедураПроведения

Nov 23rd, 2024
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.94 KB | None | 0 0
  1.                                     #####РАБОТА С ТАБЛИЧНЫМ ПОЛЕМ#####
  2. &НаКлиенте
  3. Процедура НоменклатураНоменклатураПриИзменении(Элемент)
  4.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  5.     ПолучитьДанныеНоменклатура(Стр.номенклатура, Стр.ЕдиницаИзмерения, Стр.Цена);
  6.     Стр.Количество = 1;
  7.     НоменклатураКоличествоПриИзменении(Элемент);
  8. КонецПроцедуры
  9.  
  10. &НаКлиенте
  11. Процедура НоменклатураКоличествоПриИзменении(Элемент)
  12.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  13.     Если Стр.Количество > 0 Тогда
  14.         Стр.Сумма = Стр.Цена * Стр.количество;
  15.     Иначе
  16.         ДефолтныеЗначенияПриОшибке(Элемент);
  17.     КонецЕсли;
  18. КонецПроцедуры
  19.  
  20. &НаКлиенте
  21. Процедура НоменклатураЦенаПриИзменении(Элемент)
  22.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  23.     Если Стр.Цена > 0 Тогда
  24.         Стр.Сумма = Стр.Цена * Стр.количество;
  25.     Иначе
  26.         ДефолтныеЗначенияПриОшибке(Элемент);
  27.     КонецЕсли;
  28. КонецПроцедуры
  29.  
  30. &НаКлиенте
  31. Процедура НоменклатураСуммаПриИзменении(Элемент)
  32.     Стр = Элементы.Номенклатура.ТекущиеДанные;
  33.     Если Стр.Сумма > 0 Тогда
  34.         Стр.Цена = Стр.Сумма / Стр.Количество;
  35.     Иначе
  36.         ДефолтныеЗначенияПриОшибке(Элемент);
  37.     КонецЕсли
  38. КонецПроцедуры
  39.  
  40. &НаКлиенте
  41. Процедура ПриОткрытии(Отказ)
  42.     Итого = Объект.Номенклатура.Итог("Сумма");
  43. КонецПроцедуры
  44.  
  45. &НаКлиенте
  46. Процедура ДефолтныеЗначенияПриОшибке(Элемент)
  47.     Сообщить("Некоректное значение поля");
  48.     НоменклатураНоменклатураПриИзменении(Элемент);
  49. КонецПроцедуры
  50.  
  51. &НаСервере
  52. Процедура ПолучитьДанныеНоменклатура(Номенклатура, ЕдИзм, Цена)
  53.     Цена = Номенклатура.Цена;
  54.     ЕдИзм = Номенклатура.ЕдиницаИзмерения;
  55. КонецПроцедуры
  56.  
  57.                                     ####ПРОЦЕДУРА ПРОВЕДЕНИЯ#####
  58.  
  59. Процедура ОбработкаПроведения(Отказ, Режим)
  60.     //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
  61.     // Данный фрагмент построен конструктором.
  62.     // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
  63.  
  64.     // регистр Остатки Приход
  65.     Движения.Остатки.Записывать = Истина;
  66.     Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл
  67.         Движение = Движения.Остатки.Добавить();
  68.         Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
  69.         Движение.Период = Дата;
  70.         Движение.Номенклатура = ТекСтрокаНоменклатура.Номенклатура;
  71.         Движение.Склад = Склад;
  72.         Движение.Количество = ТекСтрокаНоменклатура.Количество;
  73.     КонецЦикла;
  74.  
  75.     //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
  76. КонецПроцедуры
  77.  
Advertisement
Add Comment
Please, Sign In to add comment