Имя: Пароль:
1C
 
Заполнение документа из двух справочников
0 anonymus
 
13.06.15
19:17
есть докМенюТребование с тчТАбЧасть в ней поля Наим и Расход
есть спрНоменлатура с Наим и спрБлюда с тч Список и полем Норма_кг
требуется при выборе блюда в менютр заполнить всеми записями из спрНоменлатура и из спрБлюда только те записи которые соответсвуют блюду
вот код:
&НаСервере
Процедура ЗаполнитьНаСервере(МоеБлюдо)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Наименование,
    |    БлюдаСписок.Норма_кг КАК Норма_кг,
    |    Номенклатура.Наименование КАК Наименование1
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    |        ПО БлюдаСписок.Продукт = Номенклатура.Наименование
    |ГДЕ
    |    БлюдаСписок.Ссылка = &МоеБлюдо";
    
        Запрос.УстановитьПараметр("МоеБлюдо", МоеБлюдо);
        Результат = Запрос.Выполнить();         
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.ТабЧасть.Добавить();
        НоваяСтрока.Наименование = Выборка.Наименование1;
        НоваяСтрока.Расход = Выборка.Норма_кг;
            КонецЦикла;
    
   КонецПроцедуры

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

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

сейчас при выборе вывод только норма_кг а номенклатуру пустые строки и то 4 а не 40
1 ДенисЧ
 
13.06.15
19:18
Дай-ка угадаю....
В документе намиенование - это ссылка на справочник... А ты туда строку пихаешь....
2 anonymus
 
13.06.15
19:20
(1) заполнитьзначсвойств?
3 anonymus
 
13.06.15
19:52
подскажите в запросе то я указываю все записи номенклатуры и поля под условие
4 Dен
 
13.06.15
19:53
Тут еще соединение есть

|    Справочник.Блюда.Список КАК БлюдаСписок
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО БлюдаСписок.Продукт = Номенклатура.Наименование

Может так

|    Справочник.Блюда.Список КАК БлюдаСписок
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО БлюдаСписок.Продукт = Номенклатура.Ссылка
5 anonymus
 
13.06.15
19:56
(4) до этого так было тоже ничего(( так что делать то?
6 anonymus
 
13.06.15
19:57
сейчас только выводит 4 строки с нормой на расход и все а куда остальные 36 делись то условие отсекло?
7 anonymus
 
13.06.15
19:59
если условие убрать то 18 строк те те которые в спр блюда имеются вообще чтот не понимаю как
8 Dен
 
13.06.15
20:04
anonymus, почему бы не разобраться в типах значений???
9 anonymus
 
13.06.15
20:05
(8) в спр строка в док Справочник.Ссылка
10 anonymus
 
13.06.15
20:07
ну получается что новая строка= Объект.Наим?
11 Dен
 
13.06.15
20:07
(9) Понятно
12 Dен
 
13.06.15
20:08
Игра: в угадайте какой мне нужен код?
13 anonymus
 
13.06.15
20:18
(12) а как мне спссылку в строку поместить то?
14 hhhh
 
13.06.15
21:13
(13) завязывайте уже со строками. Никто нигде не работает так.
15 anonymus
 
13.06.15
23:56
(14) можно пример я читал Как получить текстовое представление ссылочного поля форумы браузил и ничего помогите писал Представление.Номенклатура тож самое т.к. в номенклатуре типСтрока а в док СпрСсылка.Номенклатура то проставится не может....блин народ помогите
16 Рэйв
 
14.06.15
00:16
(13)ЗначениеВСтрокуВнутр(Ссылка)
17 Рэйв
 
14.06.15
00:16
...И делай с этим что хошь:-)
18 Рэйв
 
14.06.15
00:17
Я такой злобный :-)
19 hhhh
 
14.06.15
04:47
(15)    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО БлюдаСписок.Продукт = Номенклатура.Ссылка
20 anonymus
 
14.06.15
13:13
(19) это уже давно в коде толку ноль пока что от
того (16) а можно туда выборку сунуть тип ЗначениеВСтрокуВнутр(Выборка.Наименование);
21 anonymus
 
14.06.15
21:55
блин народ вообще реально такое провернуть то?
22 vicof
 
14.06.15
22:17
(21) реально, просто ты не выполнил квест по прочтению Радченко и профразработки ;)
23 hhhh
 
14.06.15
22:27
"ВЫБРАТЬ
    |    БлюдаСписок.Продукт КАК Продукт,
    |    БлюдаСписок.Норма_кг КАК Норма_кг
    |ИЗ
    |    Справочник.Блюда.Список КАК БлюдаСписок
    |ГДЕ
    |    БлюдаСписок.Ссылка = &МоеБлюдо";
    
        Запрос.УстановитьПараметр("МоеБлюдо", МоеБлюдо);
        Результат = Запрос.Выполнить();        
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Объект.ТабЧасть.Добавить();
        НоваяСтрока.Номенклатура = Выборка.Продукт;
        НоваяСтрока.Расход = Выборка.Норма_кг;
            КонецЦикла;
    
   КонецПроцедуры
24 anonymus
 
14.06.15
23:12
http://s019.radikal.ru/i612/1506/21/0f6848a5874e.jpg
что то подобное должно получится(вводил вручную)
вопрос как заполнить столбец?
25 hhhh
 
14.06.15
23:21
ну, тут у вас первое, второе и третье. Про это в вашей программе вообще ничего нет.
26 Redkiy
 
15.06.15
06:08
(24) А где компот?
Не порядок. Срочно исправить!
27 13_Mult
 
15.06.15
07:12
(26) Компот с довольствия сняли.)
28 ЧеловекДуши
 
15.06.15
08:26
(24) Разберись сперва с типами данных :)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн