|
присоединение третьей таблицы | ☑ | ||
---|---|---|---|---|
0
lopolopserg
13.05.14
✎
15:56
|
Ребят, что не так делаю? Две таблицы "Справочник.Номенклатура" и "Справочник.СпецификацииНоменклатуры" присоедини номарльно. и данные корреткно выгружаются. Теперь хочу табличку "Справочник.СпецификацииНоменклатуры.Состав" подцепить. Пробовал связывать по разному. Не зажглось. Вот код:
Функция Печать() Экспорт Макет = ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); //ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ТабДок = Новый ТабличныйДокумент; ОбластьШапки.Параметры.Текст = "Спецификаця товара: " + СсылкаНаОбъектНом.Наименование; ТабДок.Вывести(ОбластьШапки); Запрос = новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Номенклатура.Код, | Номенклатура.Наименование, | Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, | Номенклатура.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаИзмеренияМест.Коэффициент, | Номенклатура.Ссылка |ПОМЕСТИТЬ номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | номенклатура.Код, | номенклатура.Наименование, | номенклатура.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | номенклатура.ЕдиницаХраненияОстатковКоэффициент, | номенклатура.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | номенклатура.ЕдиницаИзмеренияМестКоэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.Коэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.Коэффициент, | СпецификацииНоменклатуры.НадписьНаМешке, | СпецификацииНоменклатуры.ИнформацияОМикронности, | СпецификацииНоменклатуры.ДопустимаяНагрузка, | номенклатура.Ссылка, | СпецификацииНоменклатуры.Владелец |ПОМЕСТИТЬ спецНоме |ИЗ | номенклатура КАК номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры | ПО номенклатура.Ссылка = СпецификацииНоменклатуры.Владелец |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | спецНоме.Код, | спецНоме.Наименование, | спецНоме.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | спецНоме.ЕдиницаХраненияОстатковКоэффициент, | спецНоме.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | спецНоме.ЕдиницаИзмеренияМестКоэффициент, | спецНоме.ВладелецЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | спецНоме.ВладелецЕдиницаХраненияОстатковКоэффициент, | спецНоме.ВладелецЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | спецНоме.ВладелецЕдиницаИзмеренияМестКоэффициент, | спецНоме.НадписьНаМешке, | спецНоме.ИнформацияОМикронности, | спецНоме.ДопустимаяНагрузка, | спецНоме.Ссылка, | СпецификацииНоменклатурыСостав.Материал, | СпецификацииНоменклатурыСостав.Количество, | СпецификацииНоменклатурыСостав.ДоляМатериала |ИЗ | спецНоме КАК спецНоме, | Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав" ; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка); ОбластьДанные.Параметры.Код = Выборка.Код; ОбластьДанные.Параметры.Наименование = Выборка.Наименование; ОбластьДанные.Параметры.Упак = Выборка.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору; ОбластьДанные.Параметры.Коф1 = Выборка.ЕдиницаХраненияОстатковКоэффициент; ОбластьДанные.Параметры.Меш = Выборка.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору; ОбластьДанные.Параметры.Коф2 = Выборка.ЕдиницаИзмеренияМестКоэффициент; ОбластьДанные.Параметры.НадписьНаМешке = Выборка.НадписьНаМешке; ОбластьДанные.Параметры.ДопустимаяНагрузка = Выборка.ДопустимаяНагрузка; ОбластьДанные.Параметры.ИнформацияОМикронности = Выборка.ИнформацияОМикронности; ОбластьДанные.Параметры.Материал = Выборка.Материал; ОбластьДанные.Параметры.Количество = Выборка.Количество; ОбластьДанные.Параметры.ДоляМатериала = Выборка.ДоляМатериала; ТабДок.Вывести(ОбластьДанные); ТабДок.Показать(); КонецФункции // Печать |
|||
1
mikecool
13.05.14
✎
15:57
|
а где тройная связь?
|
|||
2
lopolopserg
13.05.14
✎
15:58
|
(1) то есть?
|
|||
3
mikecool
13.05.14
✎
16:00
|
(2) Две таблицы "Справочник.Номенклатура" и "Справочник.СпецификацииНоменклатуры" присоедини номарльно. и данные корреткно выгружаются. Теперь хочу табличку "Справочник.СпецификацииНоменклатуры.Состав" подцепить
|
|||
4
Grekos2
13.05.14
✎
16:00
|
Может вот это условие
Номенклатура.Ссылка = &Ссылка применить в двух запросах к подчиненным справочникам , а спр Номенклатура вообще не трогать ? |
|||
5
lopolopserg
13.05.14
✎
16:01
|
(3) ну так "состав" это и есть третья табличка. Или мы о разном?
|
|||
6
lopolopserg
13.05.14
✎
16:03
|
(4) попробую.
|
|||
7
Бледно Золотистый
13.05.14
✎
16:04
|
(5) Таблички 3 шт, а слово СОЕДИНЕНИЕ одно.
|
|||
8
lopolopserg
13.05.14
✎
16:07
|
(7) так. совсем подустал.. Логика подсказывай что Д/Б три соединения. Так? А как тогда соединять. То есть что с чем ?
|
|||
9
mikecool
13.05.14
✎
16:09
|
(8) для трех таблиц требуется два соединения
|
|||
10
lopolopserg
13.05.14
✎
16:11
|
(9) Да, точно. То есть первое соединение у меня верно (работает). Дальше надо второе писать. Вот тут у меня и ступор. Надо соединить "Справочник.Номенклатура" и "Справочник.СпецификацииНоменклатуры.Состав" ??
|
|||
11
Крошка Ру
13.05.14
✎
16:20
|
(0)
Может потому, что здесь нет соединения?: |ИЗ | спецНоме КАК спецНоме, | Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав" ; |
|||
12
lopolopserg
13.05.14
✎
16:22
|
(11) Спасибо. Как раз гадаю что с чем соединять там (((
Так не зажглось. |ИЗ | спецНоме КАК спецНоме | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав | ПО спецНоме.Ссылка = СпецификацииНоменклатурыСостав.Ссылка |ГДЕ | спецНоме.Ссылка = &Ссылка" |
|||
13
Ненавижу 1С
гуру
13.05.14
✎
16:24
|
а так?
|ИЗ | номенклатура КАК номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры | ПО номенклатура.Ссылка = СпецификацииНоменклатуры.Владелец | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав | ПО СпецификацииНоменклатуры.Ссылка = СпецификацииНоменклатурыСостав.Ссылка |
|||
14
lopolopserg
13.05.14
✎
16:27
|
(13) Увы((( не выгружает данные
|
|||
15
Крошка Ру
13.05.14
✎
16:30
|
(12) А зачем вот это?
|ГДЕ | спецНоме.Ссылка = &Ссылка" Вед в первой ВТ(которая номенклатура) уже стоит это условие? |
|||
16
lopolopserg
13.05.14
✎
16:31
|
(15) нет. я его удалил. вот как сейчас с последней подсказкой.
Функция Печать() Экспорт Макет = ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); //ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ТабДок = Новый ТабличныйДокумент; ОбластьШапки.Параметры.Текст = "Спецификаця товара: " + СсылкаНаОбъектНом.Наименование; ТабДок.Вывести(ОбластьШапки); Запрос = новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Номенклатура.Код, | Номенклатура.Наименование, | Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, | Номенклатура.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаИзмеренияМест.Коэффициент, | Номенклатура.Ссылка |ПОМЕСТИТЬ номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | номенклатура.Код, | номенклатура.Наименование, | номенклатура.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | номенклатура.ЕдиницаХраненияОстатковКоэффициент, | номенклатура.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | номенклатура.ЕдиницаИзмеренияМестКоэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.Коэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.Коэффициент, | СпецификацииНоменклатуры.НадписьНаМешке, | СпецификацииНоменклатуры.ИнформацияОМикронности, | СпецификацииНоменклатуры.ДопустимаяНагрузка, | номенклатура.Ссылка, | СпецификацииНоменклатуры.Владелец |ПОМЕСТИТЬ спецНоме |ИЗ | номенклатура КАК номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры | ПО номенклатура.Ссылка = СпецификацииНоменклатуры.Владелец | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав | ПО (СпецификацииНоменклатуры.Ссылка = СпецификацииНоменклатурыСостав.Ссылка) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | спецНоме.Код, | спецНоме.Наименование, | спецНоме.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | спецНоме.ЕдиницаХраненияОстатковКоэффициент, | спецНоме.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | спецНоме.ЕдиницаИзмеренияМестКоэффициент, | спецНоме.ВладелецЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | спецНоме.ВладелецЕдиницаХраненияОстатковКоэффициент, | спецНоме.ВладелецЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | спецНоме.ВладелецЕдиницаИзмеренияМестКоэффициент, | спецНоме.НадписьНаМешке, | спецНоме.ИнформацияОМикронности, | спецНоме.ДопустимаяНагрузка, | спецНоме.Ссылка, | СпецификацииНоменклатурыСостав.Материал, | СпецификацииНоменклатурыСостав.Количество, | СпецификацииНоменклатурыСостав.ДоляМатериала |ИЗ | спецНоме КАК спецНоме, | Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав" ; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка); ОбластьДанные.Параметры.Код = Выборка.Код; ОбластьДанные.Параметры.Наименование = Выборка.Наименование; ОбластьДанные.Параметры.Упак = Выборка.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору; ОбластьДанные.Параметры.Коф1 = Выборка.ЕдиницаХраненияОстатковКоэффициент; ОбластьДанные.Параметры.Меш = Выборка.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору; ОбластьДанные.Параметры.Коф2 = Выборка.ЕдиницаИзмеренияМестКоэффициент; ОбластьДанные.Параметры.НадписьНаМешке = Выборка.НадписьНаМешке; ОбластьДанные.Параметры.ДопустимаяНагрузка = Выборка.ДопустимаяНагрузка; ОбластьДанные.Параметры.ИнформацияОМикронности = Выборка.ИнформацияОМикронности; ОбластьДанные.Параметры.Материал = Выборка.Материал; ОбластьДанные.Параметры.Количество = Выборка.Количество; ОбластьДанные.Параметры.ДоляМатериала = Выборка.ДоляМатериала; ТабДок.Вывести(ОбластьДанные); ТабДок.Показать(); КонецФункции // Печать |
|||
17
lopolopserg
13.05.14
✎
16:34
|
Теперь выгружаются не те данные в табличке "Состав"
|
|||
18
Крошка Ру
13.05.14
✎
16:40
|
(16)
Смотри. Первая таблица (номенклатура): делается выборка из справочника Номенклатура с отбором по параметру &Ссылка и помещается в ВТ номенклатура ВТ номенклатура соединяется со СпецификациейНоменклатуры и её табчастью Состав(ЛЕВОЕ СОЕДИНЕНИЕ), делается выборка, помещается в ВТ спецНоме. И вот в последнем запросе у тебя стоит |ИЗ | спецНоме КАК спецНоме, | Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав" ; Здесь где соединение? |
|||
19
Крошка Ру
13.05.14
✎
16:40
|
(18) Или ты просто опять старый код показываешь?
|
|||
20
Крошка Ру
13.05.14
✎
16:41
|
(19) А сорри, ступил
|
|||
21
Крошка Ру
13.05.14
✎
16:42
|
(16) убери последнюю строку в запросе
|
|||
22
lopolopserg
13.05.14
✎
16:43
|
(20) нет. код последний. И выгружаются "не те данные", то есть не с той позиции.
|
|||
23
lopolopserg
13.05.14
✎
16:45
|
(21) минуту. эту ? | Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав" ;
|
|||
24
Крошка Ру
13.05.14
✎
16:45
|
(16) В принципе, последний запрос не нужен
Добавь строки | СпецификацииНоменклатурыСостав.Материал, | СпецификацииНоменклатурыСостав.Количество, | СпецификацииНоменклатурыСостав.ДоляМатериала из третьего запроса во второй, убери третий и убери |ПОМЕСТИТЬ спецНоме из второго |
|||
25
lopolopserg
13.05.14
✎
16:47
|
(24) сейчас попробую.
|
|||
26
Крошка Ру
13.05.14
✎
16:51
|
(25) И вопрос вдогонку: а конструктор запросов использовать не судьба? ))
|
|||
27
lopolopserg
13.05.14
✎
16:53
|
(24) СПАСИБО!!! с меня Месо и Пиво кусок !!!
Конструктор использую. но я только учусь ещё. это моя вторая пачатная форма. ... Вот запрос. Запрос = новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Номенклатура.Код, | Номенклатура.Наименование, | Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, | Номенклатура.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | Номенклатура.ЕдиницаИзмеренияМест.Коэффициент, | Номенклатура.Ссылка |ПОМЕСТИТЬ номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | номенклатура.Код, | номенклатура.Наименование, | номенклатура.ЕдиницаХраненияОстатковЕдиницаПоКлассификатору, | номенклатура.ЕдиницаХраненияОстатковКоэффициент, | номенклатура.ЕдиницаИзмеренияМестЕдиницаПоКлассификатору, | номенклатура.ЕдиницаИзмеренияМестКоэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаХраненияОстатков.Коэффициент, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.ЕдиницаПоКлассификатору, | СпецификацииНоменклатуры.Владелец.ЕдиницаИзмеренияМест.Коэффициент, | СпецификацииНоменклатуры.НадписьНаМешке, | СпецификацииНоменклатуры.ИнформацияОМикронности, | СпецификацииНоменклатуры.ДопустимаяНагрузка, | номенклатура.Ссылка, | СпецификацииНоменклатуры.Владелец, | СпецификацииНоменклатурыСостав.Материал, | СпецификацииНоменклатурыСостав.Количество, | СпецификацииНоменклатурыСостав.ДоляМатериала |ИЗ | номенклатура КАК номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры | ПО номенклатура.Ссылка = СпецификацииНоменклатуры.Владелец | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.Состав КАК СпецификацииНоменклатурыСостав | ПО (СпецификацииНоменклатуры.Ссылка = СпецификацииНоменклатурыСостав.Ссылка)" ; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |