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

Хранилище

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

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



> Документ: табличная часть на основе запроса          
Constantus Подменю пользователя
сообщение 25.02.16, 10:26
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!

Имеется несколько Реализаций с неким общим параметром, скажем ПроектыПредприяти (ссылка)

Реализация имеет заполненные ТЧ.

Как сделать Документ, табличная часть которого будет основана на Табличных Частях этих Реализаций?

Т.е. создаю Документ, заполняю в нем реквизит "ПроектПредприятия", после заполнения оного в табличной части Документа появляется "виртуальная таблица", а не реальная ТЧ документа, где отображены все реализованные номенклатуры...

Практически, как сформировать Документа с ТЧ на основе запроса?

ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Ссылка.ПроектПредприятия,
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
    РеализацияТоваровУслугТовары.Количество,
    РеализацияТоваровУслугТовары.Цена,
    РеализацияТоваровУслугТовары.Сумма
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.ПроектПредприятия = &ПроектПредприятия

pablo Подменю пользователя
сообщение 25.02.16, 10:32
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Используйте в форме документа ТаблицуЗначений или ДинамическийСписок для такого отображения данных.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Constantus Подменю пользователя
сообщение 25.02.16, 11:00
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Забыл уточнить: УТ 10.3, 1с8.2, обычное

И чтобы была возможность редактирования данных...

Petre Подменю пользователя
сообщение 25.02.16, 11:27
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1228.9

Если вы хотите в таком документе редактировать данные с одновременным изменением в других документах - источниках этих данных, то использовать объект "документ" для этого не верно.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Constantus Подменю пользователя
сообщение 25.02.16, 12:02
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Petre @ Сегодня, 14:27 *,


А какой объект нужно и правильно использовать?

TipsyKID Подменю пользователя
сообщение 25.02.16, 12:44
Сообщение #6

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

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РеализацияТоваровУслугУслуги.*
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
    |ГДЕ
    |    РеализацияТоваровУслугУслуги.Ссылка = &Ссылка";
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент);
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    ТабличноеПолеНаФорме = РезультатЗапроса;

    ЭлементыФормы.ТабличноеПолеНаФорме.СоздатьКолонки();
    ЭлементыФормы.ТабличноеПолеНаФорме.ОбновитьСтроки();


Думаю лечше будет создать отдельную кнопку для применения данных которые могли изменить и на неё повесить уже следущий алгоритм (но он наверняка далек от совершенства):
    ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
    
    мРежимЗаписиДокумента = ?(ДокументОбъект.Проведен,РежимЗаписиДокумента.Проведение,РежимЗаписиДокумента.Запись);
    
    ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);

    ДокументОбъект.Услуги.Загрузить(ТабличноеПолеНаФорме);
    ДокументОбъект.ОбменДанными.Загрузка = Истина;
    ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
    
    Если мРежимЗаписиДокумента =  РежимЗаписиДокумента.Проведение Тогда
        Попытка
            ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
    КонецЕсли;


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

Petre Подменю пользователя
сообщение 25.02.16, 13:57
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1228.9

Цитата(Constantus @ 25.02.16, 12:02) *
А какой объект нужно и правильно использовать?

Документ - объект, который фиксирует определенные данные на определенный момент времени. Менять эти данные другим документом методологически не верно.
Как делать в вашем случае - зависит от сути бизнес-процесса. Разбивайте на этапы, статусность. Используйте обработки...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

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


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

 

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