Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отчет с раскладкой значений (1С 8.2)          
venedps Подменю пользователя
сообщение 02.07.14, 11:42
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 1 раз
Рейтинг: 0

Здравствуйте. Недавно начал изучать 1С, взял пример и пытаюсь его реализовать, но напоролся на проблемку которую самому решить не удается.

Итак.
Есть справочник Комплектующие в котором 2 предопределенные группы (детали и узлы) с реквизитами КодКомпонента, Материал, Инд и табличной частью (ТабДок) доступной только узлам куда вносятся компоненты узла (детали) с колонками НазваниеКомпонента, КодКомпонента, Материал,БазисКол (Количество), БЕд (единицы измерения) и Инд.

Есть документ по списанию брака (КартаБрака) с реквизитами: Дата, КодОтбраковки, Линия, Смена (остальные к отчету не относятся) и табличная часть (ТабДок) с колонками НазваниеКомпонента, КодКомпонента, Материал,БазисКол (Количество), БЕд (единицы измерения) и Инд. В табличной части документа строками прописаны детали и узлы.

Задача создать отчет (очень желательно при помощи СКД) который в табличной части по первой букве ИНД искал нужные детали (это получается) и раскладывал узлы на компоненты с той же буквой индекса.

Немного поясню: в отчет попадают поля Дата, КодОтбраковки, Линия, Смена из документа и
Если Инд начинается например на А то КодКомпонента, БазисКол и Инд с табличной части документа, а
Если Инд начинается на Б то КодКомпонента, БазисКол и Инд с табличной части справочника Комплектующие, при этом записываются все поля табличной части справочника, а в поле количество вычисляется выражение (количество каждой детали в узле (справочник Комплектующие) должно перемножаться на количество узлов (документ)).

Повторюсь - очень желательно все это реализовать при помощи СКД.

Заранее благодарю за подсказки.

TipsyKID Подменю пользователя
сообщение 02.07.14, 17:15
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 413
Из: Киев
Спасибо сказали: 161 раз
Рейтинг: 0

Сумбурно, но думаю проблема не в отчете а в том, что Вы не правильно храните данные.
Отчеты в ( идеале) не должны перебирать табличные части документов - они должны получать данные из регистров.

Думаю в Вашем случае надо логику с ( "одно брать из табличной части другое из справочника" ) поместить в проведение документа а регистры построить такием образом, что бы из них было удобно формировать отчет.


Signature
Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины

venedps Подменю пользователя
сообщение 05.07.14, 10:01
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 1 раз
Рейтинг: 0

Может кому-то пригодится. Решил задачу от таким образом:

ВЫБРАТЬ
    Ссылка.Дата,
    Ссылка.Костцентр,
    Ссылка.КодОтбрак,
    Ссылка.Линия,
    Ссылка.Смена,
    Ссылка.МестоСохран,
    ТабДок.КодКомпонента,
    ТабДок.БазисКолич КАК КоличДет,
    ТабДок.Инд,
    "х902" КАК МестоНазначения,
    "" КАК ЦентрЗатрат,
    "1" КАК КоличУзл
ИЗ
    Документ.КартаБрака.ТабДок КАК ТабДок
ГДЕ
    ТабДок.Инд ПОДОБНО "U" + "%"
    И (Ссылка.Дата МЕЖДУ &Дата0 И &Дата1)
                            
            ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    Выб.Дата,
    Выб.Костцентр,
    Выб.КодОтбрак,
    Выб.Линия,
    Выб.Смена,
    Выб.МестоСохран,
    ТабДок.КодКомпонента,
    ТабДок.БазисКолич КАК КоличДет,
    ТабДок.Инд,
    "х902" КАК МестоНазначения,
    "" КАК ЦентрЗатрат,
    Выб.БазисКолич КАК КоличУзл
    
ИЗ
    Справочник.Комплектующие.ТабДок КАК ТабДок,
    (ВЫБРАТЬ
        ТабДок.Ссылка.Дата КАК Дата,
        ТабДок.Ссылка.Костцентр КАК Костцентр,
        ТабДок.Ссылка.КодОтбрак КАК КодОтбрак,
        ТабДок.Ссылка.Линия КАК Линия,
        ТабДок.Ссылка.Смена КАК Смена,
        ТабДок.Ссылка.МестоСохран КАК МестоСохран,
        ТабДок.КодКомпонента КАК КодКомпонента,
        ТабДок.БазисКолич КАК БазисКолич,
        ТабДок.Инд КАК Инд
    ИЗ
        Документ.КартаБрака.ТабДок КАК ТабДок
    ГДЕ
        (ТабДок.Инд ПОДОБНО "L" + "%"
                ИЛИ ТабДок.Инд ПОДОБНО "S" + "%"
                )) КАК Выб
ГДЕ
    ТабДок.Ссылка.КодКомпонента = Выб.КодКомпонента
    И ТабДок.Инд ПОДОБНО "U" + "%"
    И (Выб.Дата МЕЖДУ &Дата0 И &Дата1)


 i 

Выделяйте код!
 


Сообщение отредактировал logist - 05.07.14, 15:59

Спасибо сказали: Vofka,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.04.24, 13:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!