Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Данные из регистратора через СКД
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Володька
Добрый день, бьюсь с проблемой, не знаю, как так сделать:
Конфигурация УТ3.1
1. Есть Регистр накопления ТоварыНаСкладах, использую ОстаткиИОбороты.
Получаю таблицу 1
Номенклатура, Регистратор, Начало, Приход, Расход, Конец.
Группировка Номенклатура, Регистратор.
2. Регистраторами этой таблицы выступают очень много документов, но почти у всех (кроме КорректировкиРегистров) есть Табличная часть Товары с полями (Цена или Сумма)
Вопрос, уважаемые знатоки:
Как мне их объединить и получить любое из этих полей (сумма или цена) в таблицу 1?
pablo
Путем левого соединения всех типов документа регистратора. Короткого и быстрого пути нет.
Vladal
Володька @ Вчера, 16:05 необходимо зарегистрироваться для просмотра ссылки ,
Примерно так:

Получить таблицу оборотов с регистратором.

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток
ПОМЕСТИТЬ втОбороты
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты
;


Затем по каждому виду документов добавлять по условиям Ссылка = Регистратор и Номенклатура ТЧ = Номенклатура из регистра
ГДЕ
    (Ссылка, Номенклатура) В
            (ВЫБРАТЬ
                втОбороты.Регистратор,
                втОбороты.Номенклатура
            ИЗ
                втОбороты КАК втОбороты)
и группировать по номенклатуре и цене.

Получится примерно так:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    АвансовыйОтчетТовары.Ссылка КАК Ссылка,
    АвансовыйОтчетТовары.Номенклатура КАК Номенклатура,
    АвансовыйОтчетТовары.Цена КАК Цена,
    СУММА(АвансовыйОтчетТовары.Сумма) КАК Сумма
ПОМЕСТИТЬ втНоменклатураЦеныСумма
ИЗ
    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчетТовары
ГДЕ
    (Ссылка, Номенклатура) В
            (ВЫБРАТЬ
                втОбороты.Регистратор,
                втОбороты.Номенклатура
            ИЗ
                втОбороты КАК втОбороты)

СГРУППИРОВАТЬ ПО
    АвансовыйОтчетТовары.Ссылка,
    АвансовыйОтчетТовары.Номенклатура,
    АвансовыйОтчетТовары.Цена

ОБЪЕДИНИТЬ

....
;


А потом эти таблицы соединить по Регистратору и Ссылке:
ВЫБРАТЬ
    втОбороты.Регистратор КАК Регистратор,
    втОбороты.Номенклатура КАК Номенклатура,
    втОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    втОбороты.КоличествоПриход КАК Приход,
    втОбороты.КоличествоРасход КАК Расход,
    втОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    втНоменклатураЦеныСумма.Ссылка КАК РегистраторСсылка,
    втНоменклатураЦеныСумма.Номенклатура КАК РегистраторНоменклатура,
    втНоменклатураЦеныСумма.Цена КАК РегистраторЦена,
    втНоменклатураЦеныСумма.Сумма КАК РегистраторСумма
ИЗ
    втОбороты КАК втОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ втНоменклатураЦеныСумма КАК втНоменклатураЦеныСумма
        ПО втОбороты.Регистратор = втНоменклатураЦеныСумма.Ссылка
            И втОбороты.Номенклатура = втНоменклатураЦеныСумма.Номенклатура
fly
Володька @ Вчера, 16:05 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(Володька @ 16.07.19, 16:05) необходимо зарегистрироваться для просмотра ссылки
Как мне их объединить и получить любое из этих полей (сумма или цена) в таблицу 1?


Добрый день,
Взять регистр накопления "Партии товаров на складах" - вместо "Товары на складах".

Или join-ить
Товары на складах и Партии товаров на складах - если себестоимость.
Товары на складах и Продажи - если цена реализации.

по
Регистратор,
Номенклатура,
Номер строки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.