Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 сен 2024, 06:16

Связь между временными таблицами

Автор maxxi, 30 окт 2023, 08:58

0 Пользователей и 1 гость просматривают эту тему.

maxxi

Здравствуйте, есть такой запрос:
ВЫБРАТЬ
ПродажиТовары.Товар КАК Товар,
ПродажиТовары.Количество КАК Количество
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
Документ.Продажи.Товары КАК ПродажиТовары
ГДЕ
ПродажиТовары.Ссылка.Дата МЕЖДУ &нач И &кон
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстаткиОстатки.Товар КАК Товар,
ОстаткиОстатки.КоличествоОстаток КАК КоличествоОстаток
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
 ВТ_Остатки.Товар КАК Товары
ИЗ
 ВТ_Остатки КАК ВТ_Остатки
ГДЕ
 ВТ_Остатки.Товар НЕ В
   (ВЫБРАТЬ
    ВТ_Продажи.Товар
   ИЗ
    ВТ_Продажи)

Можно ли в одной колонке получить и продажи которых нет остатков и товары которые есть в остатке но не продавались.
Спасибо.

Максим75

maxxi, наверное можно, через Объединить. Делаете одну выборку по остаткам без продаж, вторую по продажам с нулевыми остатками. Но для визуализации лучше в разных колонках, иначе как Вы поймете, какой товар - без продаж или с пустыми остатками?

LexaK

Цитата: maxxi от 30 окт 2023, 08:58Можно ли
Можно!
используйте Полное соединение между таблицами.
(есть Левое, есть Правое и есть Полное - соединения)
если помогло нажмите: Спасибо!

maxxi

LexaK, если так, тогда  появляется 2 колонки "Товары", какую оставить чтобы данные не пропали?
Спасибо.

maxxi

то есть всего 4 колонки, 2 из них "Товары" и 2 Количество продаж и остатки.

Максим75

maxxi, Смотрите, когда используете СОЕДИНЕНИЕ (не важно какое -  внутреннее, полное, левое, правое), то ВСЕГДА добавляется колонка/ки.
Если надо добавить только строки - то тогда ОБЪЕДИНЕНИЕ.
Пробуйте, смотрите.

LexaK

Цитата: maxxi от 30 окт 2023, 15:25LexaK, если так, тогда  появляется 2 колонки "Товары", какую оставить чтобы данные не пропали?
Спасибо.
(ну хотя бы чуть-чуть книжки почитали, как так можно что-то программировать вообще не зная команды языка?)
пример полного соединения
Выбрать
    ЕстьNull(ВТ_Продажи.Товар, ВТ_Остатки.Товар) как Товар,
    ВТ_Продажи.Количество,
    ВТ_Остатки.КоличествоОстаток
bp
    ВТ_Продажи
Полное соединение ВТ_Остатки
    по ВТ_Продажи.Товар ВТ_Остатки.Товар

(Внимание: Товары в таблицах должны быть уникальными, проагрегируйте по ним ваши временные таблицы)
если помогло нажмите: Спасибо!

maxxi

LexaK, Максим75 Спасибо большое ВАМ.

shamsbjj

LexaK, какую книгу посоветуете ?

LexaK

Цитата: shamsbjj от 03 ноя 2023, 13:09LexaK, какую книгу посоветуете ?
КНИГУ У У (десятки книг!)
смотря для чего,
если хотите стать хорошим программистом, то десятки книжек надо прочитать (и осмыслить, протестить все примеры на компе)
по 1С (Радченко,Хрусталевой и др.), теорию реляционных баз, Язык программирования SQL и др.
а если абы каким гкодировщиком, то и так сойдет (при наличии форума под рукой)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск