Имя: Пароль:
1C
 
Заполнение документа из тч справочника
0 anonymus
 
11.06.15
15:07
&НаСервере
Процедура ПолучитьПродукты(Выборка)
    Выборка=Справочники.Блюда.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.Список.Добавить();
        НоваяСтрока.Наименование = Выборка.Наименование;
        НоваяСтрока.Норма_кг = Выборка.Норма_кг;
    КонецЦикла;
КонецПроцедуры


&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Список.ТекущиеДанные;
    ПолучитьПродукты(Элементы.Список.текущиеДанные);

КонецПроцедуры

Такая ситуация есть справочник Блюда с тчСписок в ней Продукт и Норма_кг
есть докКалькуляционнаяКарточка с тчСписок в ней Наименование, Норма_кг, Цена, Сумма и реквизит НаимБлюда
писал читал ничего не получается подскажите в чем ошибка?
1 VikingKosmo
 
11.06.15
15:09
Ошибка в
&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)

КонецПроцедуры
2 anonymus
 
11.06.15
15:09
(1) не правильно процедуру вызвал?
3 vicof
 
11.06.15
15:10
Элементы.Список.текущиеДанные не является выборкой
4 VikingKosmo
 
11.06.15
15:11
(2) ошибка в том, что в обоих процедурах твориться... Я лично нифига не понял, что должно получиться
5 Fish
 
11.06.15
15:11
(0) Это ад какой-то :)
6 VikingKosmo
 
11.06.15
15:11
(5) кровавый...
7 vicof
 
11.06.15
15:11
кашу прожуй, объясни, что надо сделать?
8 anonymus
 
11.06.15
15:16
(7) при выборе блюда автоматом проставлялось продукты и норма из спр
9 VikingKosmo
 
11.06.15
15:17
(8) разница между элементом формы и реквизитом объекта тебе о чем то говорит?
10 anonymus
 
11.06.15
15:17
(9) в общем да а что
11 VikingKosmo
 
11.06.15
15:18
(10) если понятна, тогда попробуй осмыслить свой код в (0)
12 vicof
 
11.06.15
15:18
(10) РеквизитФормыВЗначение и обратно
13 Fish
 
11.06.15
15:21
(11) Я вот всё пытаюсь понять, какой сакральный смысл заложил ТС в код, передавая в процедуру ПолучитьПродукты() Элементы.Список.ТекущиеДанные, когда первой же строкой в этой процедуре он этот параметр меняет на:
Выборка=Справочники.Блюда.Выбрать();
14 VikingKosmo
 
11.06.15
15:22
(13) завидую твоей любознательности, потому что у меня код ТСа вызывает только аццкое несварение :)
15 samozvanec
 
11.06.15
15:24
"писал читал ничего не получается" эта5)
16 samozvanec
 
11.06.15
15:26
(0) а почему выбираешь блюда, при чем все, если хочешь посмотреть продукты определенного?
17 Fish
 
11.06.15
15:29
(16) Видимо, потому что (15).
18 samozvanec
 
11.06.15
15:30
(0) попробуй так

&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    
ПриИзмененииНаименованиеБлюда(Элемент.Значение);

КонецПроцедуры

&НаСервере
Процедура ПриИзмененииНаименованиеБлюда(СамоБлюдо)
    Список.Загрузить(СамоБлюдо.ИмяТЧСправочникаБлюдВКоторойСписокПродуктов.Выгрузить());

КонецПроцедуры
19 VikingKosmo
 
11.06.15
15:32
(18) ну и зачем людей учить такому?
20 anonymus
 
11.06.15
15:37
&НаСервере
Процедура ПолучитьПродукты()
    Результат=Справочники.Блюда.Выбрать();
    Пока Результат.Следующий() Цикл
    НоваяСтрока = Объект.Список.Добавить();
    //НоваяСтрока.Список.Наименование = Результат.Продукт;
    //НоваяСтрока.Список.Норма_кг = Результат.Норма_кг;
    ЗаполнитьЗначенияСвойств(Объект.Список, Результат);
    КонецЦикла;
    
КонецПроцедуры


&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Список.ТекущиеДанные;
    ПолучитьПродукты();

КонецПроцедуры

при выборе выводит 6 пустых строк
21 VikingKosmo
 
11.06.15
15:48
(20) а отбор ты ставить не пытался?
22 anonymus
 
11.06.15
15:51
попробовал запросом только он все выводит
&НаСервере
Процедура ЗаполнитьНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Наименование,
    |    БлюдаСписок.Норма_кг КАК Норма_кг
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок";
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.Список.Добавить();
        НоваяСтрока.Наименование = Выборка.Наименование;
    КонецЦикла;
    
КонецПроцедуры


&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Список.ТекущиеДанные;
    ЗаполнитьНаСервере();

КонецПроцедуры
23 VikingKosmo
 
11.06.15
15:53
(22) установить отбор в запросе, будь мужиком!!!
24 samozvanec
 
11.06.15
15:56
(19) какому?
25 anonymus
 
11.06.15
15:56
(23) а как отбор то составить если выбор разный? или я что то уже туплю
26 samozvanec
 
11.06.15
15:59
(20) поясни, пожалуйста, построчно, что, по-твоему, происходит при выполнении

Результат=Справочники.Блюда.Выбрать();
    Пока Результат.Следующий() Цикл
    НоваяСтрока = Объект.Список.Добавить();
    //НоваяСтрока.Список.Наименование = Результат.Продукт;

    //НоваяСтрока.Список.Норма_кг = Результат.Норма_кг;

    ЗаполнитьЗначенияСвойств(Объект.Список, Результат);
    КонецЦикла;
27 anonymus
 
11.06.15
16:02
переменной результат путь поиска спр
цикл по спр
добавляем строку в тч список
комент
комент
заполняем значения свойст приемник список источник
конец
28 Fish
 
11.06.15
16:03
(27) Это что такое? "переменной результат путь поиска спр "
29 samozvanec
 
11.06.15
16:03
(27) молодец. у тебя раньше в эту процедуру передавался параметр. зачем?
(28) сегодня день наркомана на мисте)
30 Redkiy
 
11.06.15
16:05
(26) Научите его лучше отладчиком пользоваться.
Парень видать три дня назад конфигуратор 1С увидел, как залогинился на мисте...
31 ВРедная
 
11.06.15
16:07
(30) Учитывая разнообразность его задач, его походу кто-то пытается учить...
Хочется верить, что это не реальные задачи живых пользователей, потому что их было бы очень жалко
32 samozvanec
 
11.06.15
16:08
(30) рановато пока отладчик. ему бы понять, что он делает, и сопоставить с желаемым результатом
33 anonymus
 
11.06.15
16:13
(29) ну чтобы процедура выводила этот параметр
34 samozvanec
 
11.06.15
16:14
(27)  ЗаполнитьЗначенияСвойств(Объект.Список, Результат);
и вот над этой строкой подумай. что у тебя в Результат, и чего ты хочешь увидеть в Объект.список. и вообще что там должно быть написано вместо объект.список
35 ВРедная
 
11.06.15
16:14
(33) и где ты его там используешь в этой процедуре?
36 samozvanec
 
11.06.15
16:14
(33) что в параметре должно было быть согласно твоим планам?
37 samozvanec
 
11.06.15
16:25
я уже 20 минут как должен был выйти с работы, поэтому давай так.
ты хочешь вывести в Объект.Список список продуктов выбранного блюда. блюдо выбрали, при изменении заполняешь список. параметр здесь на самом деле не нужен, из серверной процедуры ты можешь обращаться к полю НаименованиеБлюда так же, как списку. у элемента справочника есть табличная часть, из которой ты хочешь заполнить список на форме. фактически тебе нужно загрузить данные ТЧ выбранного на форме элемента справочника Блюда в Объект.Список. посмотри внимательнее, все намного проще. ты путаешь элемен справочника и его ТЧ
38 anonymus
 
11.06.15
16:27
(37) всмысле путаю в запросе указываю тч список из нее выбираю что нужно и циклом заполняю
39 anonymus
 
11.06.15
16:28
выше пписали отбор нужен но пока что ни как не дойду
40 Mankubus
 
11.06.15
16:36
(22) "ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Наименование,
    |    БлюдаСписок.Норма_кг КАК Норма_кг
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок
    |ГДЕ БлюдаСписок.Ссылка = &МоёБлюдо";
Запрос.УстановитьПараметр("МоёБлюдо",ТекущееБлюдо)
41 anonymus
 
11.06.15
16:46
(40) а потом условием делать
если НаимБлюда= Моеблюдо то цикл да?
42 Redkiy
 
11.06.15
16:49
Думай: если сделан отбор из выборки данных, нужно ли использовать условие на эту выборку?
43 anonymus
 
11.06.15
16:52
(42) а почему всегда когда параметр устанавливаю ошибка что тип не задан7
44 Redkiy
 
11.06.15
16:54
как ты устанавливаешь параметр?
45 vicof
 
11.06.15
16:57
(43) ,,,,,, - держи, пригодятся
46 anonymus
 
11.06.15
16:58
|ГДЕ
    |    БлюдаСписок.Ссылка = &МоеБлюдо";    
        Запрос.УстановитьПараметр("МоеБлюдо", МоеБлюдо);
47 GROOVY
 
11.06.15
17:02
В предыдущих сериях: http://www.forum.mista.ru/index.php?user_id=103248
48 Redkiy
 
11.06.15
17:03
параметр запроса "МоеБлюдо" должно иметь тип данных "СправочникСсылка.Блюда"
что у тебя в переменной МоеБлюдо?
49 Redkiy
 
11.06.15
17:04
(47) Да Паша, я видел...
бездельничаю у компа...
50 GROOVY
 
11.06.15
17:05
(49) Думаю на (48) он тебе не ответит.
51 anonymus
 
11.06.15
17:09
(48) тк я не оч понимаю я не могу ответить(
52 anonymus
 
11.06.15
17:09
(50) а ты вместо того чтобы тыкать лучше бы помог
53 vicof
 
11.06.15
17:12
(52) Скачать курсы для начинающих по 1ске от того же GROOVY религия не позволяет?
54 ВРедная
 
11.06.15
17:12
(52) тебе уже помогли. теперь сам себе помоги - начни учиться, а не задачи решать, которые тебе совсем не по зубам
55 GROOVY
 
11.06.15
17:18
(52) Равина, а ты бы пошла бы да поучилась. Нельзя водить машину не выучив ПДД, опасно это.
56 anonymus
 
11.06.15
17:53
я Читал Е. Ю. Хрусталева

Язык запросов «1С:Предприятия 8»
57 anonymus
 
11.06.15
17:54
прошу помощи помоч мне
58 anonymus
 
11.06.15
17:54
а вы все только вот не понимает
59 anonymus
 
12.06.15
09:58
вот посмотрите кто понимает и скажите что нужно передать в процедуру
&НаСервере
Процедура ЗаполнитьНаСервере(МоеБлюдо)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Наименование,
    |    БлюдаСписок.Норма_кг КАК Норма_кг
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок
    |ГДЕ
    |    БлюдаСписок.Ссылка = &МоеБлюдо";
    
        Запрос.УстановитьПараметр("МоеБлюдо", МоеБлюдо);
        Результат = Запрос.Выполнить();         
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.Список.Добавить();
        НоваяСтрока.Наименование = Выборка.Наименование;
        НоваяСтрока.Норма_кг = Выборка.Норма_кг;
    КонецЦикла;
   // Список=Справочники.Блюда.ПолучитьОбъект();
//    Список.Загрузить(Выборка.Список.Выгрузить());
КонецПроцедуры


&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Список.ТекущиеДанные;
    ЗаполнитьНаСервере("Наименование");
КонецПроцедуры
сейчас при выборе ничего только наимблюда заполняется тк его выбираеш
60 anonymus
 
12.06.15
09:58
пробовал по разному обращатся к наименование толку ноль
61 hhhh
 
12.06.15
10:05
ЗаполнитьНаСервере(СтрокаТабличнойЧасти.ИмяРеквизитаГдеХранитсяСсылкаИзСправочникаБлюд);
62 anonymus
 
12.06.15
22:35
(61) проблема решилась сама собой Объект.НаименованиеБлюда
63 anonymus
 
12.06.15
22:36
еще вопросик как организовать заполнение цены из регистра при выборе?,
64 anonymus
 
12.06.15
22:38
проблема регилась сама собой всем спасибо)
кому интересно вот код
&НаСервере
Процедура ЗаполнитьНаСервере(МоеБлюдо)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Наименование,
    |    БлюдаСписок.Норма_кг КАК Норма_кг
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок
    |ГДЕ
    |    БлюдаСписок.Ссылка = &МоеБлюдо";
    
        Запрос.УстановитьПараметр("МоеБлюдо", МоеБлюдо);
        Результат = Запрос.Выполнить();         
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.Список.Добавить();
        НоваяСтрока.Наименование = Выборка.Наименование;
        НоваяСтрока.Норма_кг = Выборка.Норма_кг;
        НоваяСтрока.Цена = РаботаСоСправочниками.РозничнаяЦена
    (Объект.Дата,Выборка.Наименование);
    КонецЦикла;
    
   КонецПроцедуры


&НаКлиенте
Процедура НаименованиеБлюдаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Список.ТекущиеДанные;
    ЗаполнитьНаСервере(Объект.НаименованиеБлюда);
КонецПроцедуры
65 anonymus
 
13.06.15
19:09
к примеру как сделать так чтобы вдокумент попали все записи номенклатуры и норма_кг
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс