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

Задачи по программированию 1с (автоматическое подставление цены , контроль остатков )

Автор Дмитрий_9_9_9, 14 июн 2025, 23:28

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

Дмитрий_9_9_9

Здравствуйте!
У меня 2 вопроса:

1) Эта процедура написана в регистре накопления у него 2а регистратора приход и расход (документы)
ЭтотОбъект обращается к документу расход?
Процедура ПриЗаписи(Отказ, Замещение)
      
      Для каждого Элемент Из ЭтотОбъект Цикл
         Если Элемент.ВидДвижения=ВидДвиженияНакопления.Расход Тогда
               Граница=Новый Граница(Элемент.МоментВремени(),ВидГраницы.Включая);
              Структура=Новый Структура("Номенклатура",Элемент.Номенклатура);
            
               ТаблицаОстатки=РегистрыНакопления.ДживеженияПоСкладу.Остатки(Граница,Структура);
               ИтогПоКолонке=ТаблицаОстатки.Итог("Количество");
               Если ИтогПоКолонке<0 Тогда
                    Отказ=Истина;
                  
                  Сообщить(СтрШаблон("Товара %1 нехватает в количестве %2",Элемент.Номенклатура,ИтогПоКолонке));
                  
                  
               
               КонецЕсли;
         КонецЕсли;
            
         
      
      КонецЦикла;         
            
    КонецПроцедуры


2)Автоматическое подставление цены из регистра сведений:
Это написано в общем модуле
 Функция ПоискЦен (Номенклатура,Дата)   Экспорт
         Структура= Новый Структура;
         Структура.Вставить("Номенклатура",Номенклатура);
         Значение=РегистрыСведений.ЦеныНоменклатур.ПолучитьПоследнее(Дата,Структура);
         Возврат Значение.Цена;
                        
      КонецФункции

Это в документе заказ клиента.Вопрос, а почему при вызове экспортной функции ПоискЦен(в скобках параметры другие)Там не просто дата , а Объект.Дата , и не Номенклатура  а Товар,  обращение переменной к Товару

&НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент) 
   
   ТекСтрока=Элементы.Товары.ТекущиеДанные;     
   
   ТекСтрока.Цена=ОбщийМодульЦ.ПоискЦен(ТекСтрока.Товар,Объект.Дата);
КонецПроцедуры

alexandr_ll

Дмитрий_9_9_9, Функция "Поиск цены" потому и вынесена в общий модуль, что может выполняться из разных объектов. Поэтому параметры у нее могутназываться по любому, хоть Парам1, парам2. В документе же этим параметрам присваивается определенное значение (ссылка на номенклатуру табличной части, дата документа). В других случаях это могут быть совсем разные значения.

Теги:

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

Рейтинг@Mail.ru

Поиск