Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
1

Не получается добавить две колонки в запрос

31.08.2017, 11:28. Просмотров 1192. Ответов 52
Метки нет (Все метки)

Люди добрые, помогите пожалуйста.. Уперся совсем, не знаю как быть..

1. Сейчас почему-то выводятся только те товары, у которых есть цена и положительный остаток. А нужно, чтобы вся номенклатура показывалась!
2. Как добавить третью колонку Цена закуп., если ЦеныНоменклатуры.Цена уже занята розничной и ищется в ГДЕ ЦеныНоменклатуры.ВидЦены.Наименование = "Розничная"?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    СпрНоменклатура.Родитель,
    ВЫБОР
        КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
            ТОГДА 4 + ВЫБОР
                    КОГДА СпрНоменклатура.ПометкаУдаления
                        ТОГДА 1
                    ИНАЧЕ 0
                КОНЕЦ + ВЫБОР
                    КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                        ТОГДА 0
                    ИНАЧЕ 2
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА СпрНоменклатура.ПометкаУдаления
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ + ВЫБОР
                КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                    ТОГДА 0
                ИНАЧЕ 2
            КОНЕЦ
    КОНЕЦ КАК ИндексКартинки,
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток,
    ЦеныНоменклатуры.Цена КАК ЦенаРозн
ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
            ПО (ЦеныНоменклатуры.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура)
        ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
    И ЦеныНоменклатуры.ВидЦены.Наименование = "Розничная"
{ГДЕ
    (СпрНоменклатура.Ссылка В
            (ВЫБРАТЬ
                Сегменты.Номенклатура
            ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
            ГДЕ
                Сегменты.Сегмент = &СегментНоменклатуры))}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2017, 11:28
Ответы с готовыми решениями:

Отгрузка товаров, продукции - добавить 2 колонки
Доброго времени суток. Ребята подскажите как найти хотя бы где это есть, что бы...

Ошибка Неверное имя колонки При добавлении колонки ТЗ
Народ, подскажите что не правильно, Выдет ошибку.Результат отчета помещаю в...

Не получается запрос во внешней обработке
Привет Создала внешнюю обработку. На форме три поля: НачПериода (тип Дата),...

Запрос получается но принцип хотелось бы прояснить
Доброго дня! Итак, следуя совету Уважаемого Zap я решил спросить уже сделав...

Запрос. Пытаюсь из трех абсолютно разных строк, получить две
Ребята, помогите пожалуйста. У меня есть запрос. Я получаю этим запросом три...

52
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
14.09.2017, 01:46 41
Burkaton, потому что обычно так делают какие-нибудь формы подбора товаров. И то - там отдельно таблица с номенклатурой и общими остатками, а при выборе - ниже отображается таблица с остатками по характеристикам.

Итак, два варианта (для тех, кто любит по пунктам):
1. Список, где будут построчно перечислены все сочетания Номенклатура + Характеристика с остатками и ценами для каждого комплекта.
1.1. Для этого открываем запрос формы списка справочника "Номенклатура".
1.2. Добавляем в таблицы справочник "Характеристики номенклатуры", добавляем в поля запроса ссылку на этот справочник.
1.3. Соединяем левым соединением таблицу справочника "Номенклатура" и "Характеристики номенклатуры", для всех остальных соединений добавляем связь справочника "Номенклатура" с таблицей регистра плюс еще и по полю "Характеристика".
1.4. Убираем галочку "динамическое считывание данных", убираем основную таблицу дин. списка - если этого не сделать, будет валиться ошибка о дублировании ключевого поля "Ссылка".
1.5. В свойствах списка на форме выставляем свойство "Режим выделения строки" - Строка.
1.6. На событие списка - Выбор() прописываем код в модуле формы:
1C
1
    ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
2. Дерево значений, с группировкой по Номенклатуре и выводом суммарного остатка по всем характеристикам(говорить об итогах по Цене, думаю понятно, что нет смысла, никакая агрегатная функция сюда не подойдет).
2.1. Копируем запрос дин. списка(с учетом характеристик) и убираем его из формы вообще.
2.2. Создаем в реквизитах формы новый реквизит типа "ДеревоЗначений" (у меня имя - ДеревоТоваров), с колонками нужных типов, соответствующих выводимым полям.
2.3. Выносим этот реквизит на форму с созданием соответствующих колонок дерева.
2.4 В модуле формы списка справочника Номенклатура в процедуре ПриСозданииНаСервере() прописываем скопированный запрос:
1C
1
Запрос = Новый Запрос(ТЕКСТ);
При этом, не выходя из конструктора, переходим на вкладку Итоги: добавляем поле Ссылка в "группировочное поле", Остаток - с агрегатной функцией СУММА() - "итоговое поле".
2.5. Устанавливаем параметры и заполняем дерево товаров:
1C
1
2
3
4
5
    Запрос.УстановитьПараметр("ЦенаЗакупочная", Справочники.ВидыЦен.НайтиПоНаименованию("Закупочная"));
    Запрос.УстановитьПараметр("ЦенаРозничная", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"));
    ДеревоТоваровОбъект = РеквизитФормыВЗначение("ДеревоТоваров");
    ДеревоТоваровОбъект = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией).Скопировать();
    ЗначениеВРеквизитФормы(ДеревоТоваровОбъект,"ДеревоТоваров");
2.6. В свойствах дерева снова "Режим выделения" - Строка.
2.7. На событие дерева Выбор() - такой же код:
1C
1
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
Попробуйте для наглядности оба варианта) Ну и чтобы прочувствовать, почему я вас отговаривала от добавления характеристик в этот список с последующим открытием все-таки Номенклатуры
1
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 11:02  [ТС] 42
Цитата Сообщение от GreenkA Посмотреть сообщение
убираем основную таблицу дин. списка
Как это? Где это?

Цитата Сообщение от GreenkA Посмотреть сообщение
Соединяем левым соединением таблицу справочника "Номенклатура" и "Характеристики номенклатуры"
Так?
0
Миниатюры
Не получается добавить две колонки в запрос  
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 11:07  [ТС] 43
Цитата Сообщение от GreenkA Посмотреть сообщение
В свойствах списка на форме выставляем свойство "Режим выделения строки" - Строка.
Ну нету такого в свойствах списка((
0
Миниатюры
Не получается добавить две колонки в запрос  
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
14.09.2017, 11:10 44
Burkaton, ничего сами делать не хотите...
0
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 11:35  [ТС] 45
Вот такой запрос получился для варианта №1:

Код
ВЫБРАТЬ
	СпрНоменклатура.Ссылка КАК Ссылка,
	СпрНоменклатура.Код КАК Код,
	СпрНоменклатура.Наименование КАК Наименование,
	СпрНоменклатура.Артикул КАК Артикул,
	СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
	СпрНоменклатура.Родитель,
	ВЫБОР
		КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
			ТОГДА 4 + ВЫБОР
					КОГДА СпрНоменклатура.ПометкаУдаления
						ТОГДА 1
					ИНАЧЕ 0
				КОНЕЦ + ВЫБОР
					КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
						ТОГДА 0
					ИНАЧЕ 2
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СпрНоменклатура.ПометкаУдаления
					ТОГДА 1
				ИНАЧЕ 0
			КОНЕЦ + ВЫБОР
				КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
					ТОГДА 0
				ИНАЧЕ 2
			КОНЕЦ
	КОНЕЦ КАК ИндексКартинки,
	ХарактеристикиНоменклатуры.Ссылка КАК СсылкаНаХарактеристики
ИЗ
	Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
		ПО СпрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Ссылка
ГДЕ
	НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
	(СпрНоменклатура.Ссылка В
			(ВЫБРАТЬ
				Сегменты.Номенклатура
			ИЗ
				РегистрСведений.НоменклатураСегмента КАК Сегменты
			ГДЕ
				Сегменты.Сегмент = &СегментНоменклатуры))}
Чувствую что-то не то))

Добавлено через 22 минуты
Конечно же с первого раза никак)))

{Справочник.Номенклатура.Форма.ФормаСписка.Форма(817)}: Поле объекта не обнаружено (Ссылка)
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
Добавлено через 1 минуту
Цитата Сообщение от GreenkA Посмотреть сообщение
ничего сами делать не хотите
В том-то и дело, что хочу и пытаюсь! Видимо плохо соображаю((
0
GreenkA
14.09.2017, 11:46
  #46

Не по теме:

Цитата Сообщение от Burkaton Посмотреть сообщение
В том-то и дело, что хочу и пытаюсь!
Кому я инструкцию писала? По-моему там все исчерпывающе описано.
И мне все же кажется, что после "обожаю"+"Оленька" вы планируете, что я на самом деле подключусь по teamviewer и сама еще все это и сделаю :no:

0
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 12:16  [ТС] 47
Цитата Сообщение от GreenkA Посмотреть сообщение
с созданием соответствующих колонок дерева.
Вот даже здесь.. Ну не понимаю я, какими соответствующими? Цена розн, Цена закуп, Остатки и т.д.? Этого нет в предложенном выборе. Я еле нашёл колонки Номенклатура и ХарактеристикиНоменклатуры...

Добавлено через 6 минут
Цитата Сообщение от GreenkA Посмотреть сообщение
после "обожаю"+"Оленька" вы планируете
Я планирую, что вы хотя бы не перестанете отвечать здесь.. Тимвьювер я не планирую, т.к. понимаю, что во всём этом моём хламе разбираться только мне))

Добавлено через 1 минуту
Цитата Сообщение от GreenkA Посмотреть сообщение
Кому я инструкцию писала?
Я пошагово по инструкции сижу и пытаюсь делать. И постоянно сталкиваюсь с тем, что у меня нет того, что указано в инструкции. Приходится импровизировать. Если совсем никак - пишу сюда. В итоге я тролль(
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
14.09.2017, 12:36 48
Цитата Сообщение от Burkaton Посмотреть сообщение
В итоге я тролль(
Настоящий тролль никогда не признает, что он тролль)
Но да ладно, пока я еще добрая и моему бесграничному терпению не пришел конец, пойдем дальше..
0
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 12:59  [ТС] 49
Иду по инструкции Вариант№1 и уперся:

Соединяем левым соединением таблицу справочника "Номенклатура" и "Характеристики номенклатуры", для всех остальных соединений добавляем связь справочника "Номенклатура" с таблицей регистра плюс еще и по полю "Характеристика".

Как это должно выглядеть во вкладке "Сзязи" конструктора?
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
14.09.2017, 13:06 50
Цитата Сообщение от Burkaton Посмотреть сообщение
Сзязи
Я не знаю такую вкладку, где это вообще?
0
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 13:08  [ТС] 51
Скриншот в 42 посте.
А как ещё можно это сделать?
0
GreenkA
14.09.2017, 13:11
  #52

Не по теме:

Цитата Сообщение от Burkaton Посмотреть сообщение
Скриншот в 42 посте
Мои шутки не заходят... или надо скобочки ставить?

0
Burkaton
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 245
14.09.2017, 14:59  [ТС] 53
Цитата Сообщение от GreenkA Посмотреть сообщение
Мои шутки не заходят... или надо скобочки ставить?
Сорри. Лучше со скобками))

Добавлено через 1 час 32 минуты
Так как сделать-то это соединение? ))

Добавлено через 12 минут
Получилось такое:

ХарактеристикиНоменклатуры.Ссылка КАК СсылкаХарактеристики
ИЗ
Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
ПО (СпрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Ссылка)
0
14.09.2017, 14:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2017, 14:59

Добавить запрос.Текс
Подскажите Запрос = Новый Запрос ("ВЫБРАТЬ |Параметры.ИндексПараметра...

Как Добавить Периодичность В Запрос?
Здравствуйте. Я сейчас обучаюсь в одной фирме франчайзи. Есть запрос в УТ 11,...

Как добавить периодичность в запрос?
Здравствуйте. Я сейчас обучаюсь в одной фирме франчайзи. Есть запрос в УТ 11,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru