Имя: Пароль:
1C
1С v8
Регистр Накопления
,
0 bossko844
 
06.06.20
17:51
Имеется регистр накопления в нём считается приход, расход и остаток продуктов, это только по документам поставка и списание, но есть ещё один документ заказ, в нём содержится список блюд, которые заказал клиент, так вот как осуществить расход продуктов в регистре, на заказанные блюда, блюда и входящие в него ингредиенты содержатся в справочнике. Как я понял смысл такой, после оформление заказа, получить все заказанные блюда, после чего получить ингредиенты и количество на каждое блюдо и вычесть, но как осуществить не понимаю(
1 vde69
 
06.06.20
17:56
херово ты понимаешь...

я заказал тарелку борща, ты думаешь будут варить ровно 1 тарелку ?

списание делается либо по факту закрытия смены (банально считаю сколько осталось) либо по усредненным нормам работы за день в соответствии с меню
2 bossko844
 
06.06.20
18:00
мне сейчас не важно когда это будет списываться, я хочу понять как это сделать
3 vde69
 
06.06.20
18:03
(2) если не понимаешь - не берись,

заказ - это плановый документ, плановые документы не должны влиять на остатки...

тебе нужен или еще один документ (например накладная по которой берут продукты) или вообще не делать никаких списаний
4 lodger
 
06.06.20
19:21
(3) так это, небось, курсач. там задачи от реальности оторванные.
5 bossko844
 
07.06.20
00:07
Пришёл к такому решению, добавил вторую табличную часть, содержащую ингредиенты всех блюд, что заказал клиент, но пока не получается их получить
&НаСервере
Процедура Подбор()
    
    
    Объект.Состав.Очистить();

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

    КонецЦикла;

КонецПроцедуры
6 bossko844
 
07.06.20
00:08
Запрос.УстановитьПараметр("Продукт", Продукт.Наименование.Ссылка); <- эта строка не нравится
7 hhhh
 
07.06.20
00:58
(6) а разве у наименования есть ссылка? Наименование - это же простой текст. Там внутри него никаких ссылок нет.
8 bossko844
 
07.06.20
10:46
вот не получается ссылаться на реквизит "Блюдо" в первой тч
9 xoma1c
 
07.06.20
11:02
(0) я ничего не понял. На основании заказов списание зафигачить? Из заказов подтянуть какие продукты надо списать? Ну запросом вытягивай, заполняй тч списания и фигачь списание.
10 hhhh
 
07.06.20
11:33
(8) там вообще у тебя слова Блюдо нет. Где ты ссылаешься на блюдо?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан