Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 13:37

Форм документа "Реализация товоров и услуг"

Автор vforallofus, 16 дек 2017, 19:01

0 Пользователей и 1 гость просматривают эту тему.

vforallofus


Скажите пожалуйста,

в строке табличной части документа "реализация товаров и услуг", я создал колонку: количество товаров на складах. Такое решение существует среди разработчиков? я получаю количество товара запросом ДО проведение документа. Если количество товаров на складах не хватает, документ не проведу.



&НаСервере
Функция ПолучитьКоличествонаСкладах (Период,Номенклатура)
   
       //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   КоличествоТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
      |   КоличествоТоваровНаСкладахОстатки.СуммаОстаток КАК СуммаОстаток
      |ИЗ
      |   РегистрНакопления.КоличествоТоваровНаСкладах.Остатки(&Период, ) КАК КоличествоТоваровНаСкладахОстатки
      |ГДЕ
      |   КоличествоТоваровНаСкладахОстатки.Номенклатура = &Номенклатура
      |   И КоличествоТоваровНаСкладахОстатки.Номенклатура.Услуга = ЛОЖЬ";
   
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   Запрос.УстановитьПараметр("Период", Период);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   Выборка = РезультатЗапроса.Выбрать();
   
   Пока Выборка.Следующий() Цикл
      
      Возврат Выборка.КоличествоОстаток
   
      
   КонецЦикла;
   
   
   КонецФункции






AIFrame

Цитата: vforallofus от 16 дек 2017, 19:01Такое решение существует среди разработчиков?
1. В типовых конфигурациях контроль остатков на складе есть по умолчанию. Если вы не даете пользователю явное разрешение превышать остатки на складе или полные права - документ не будет проведен.
2. То, что сделали вы:
- Если используется партионный учет, нет смысла смотреть оперативные остатки. Реализация будет двигать партии.
- Если используется резервирование товаров и реализация проводится с режимом списания "из резервов", то опять таки, смотреть общий остаток нет смысла.
3. Добавлять колонку как реквизит табличной части документа тоже не нужно, лишняя информация (если вы делали так) и создаст вам лишь дополнительную путаницу.
4. Будучи реквизитом формы, функционал останется недоступен для модуля документа, а значит при проведении документа обработкой ваше новшество работать не будет, если только вы не напишете проверку остатков в модуле объекта в событии проведения (или подпиской на событие).

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск