1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
1
1C 8.x

Заполнение табличной части одного документа из табличной части другого документа

15.08.2012, 14:55. Показов 22584. Ответов 13
Метки нет (Все метки)

Здравсвуйте. 1С 8.2.
Есть документ Приход и документ Расход. Оба документа имеют табличные части - Товары.
В табличной части документа Расход есть реквизит ВыбратьДокумент, в котором выбирается документ Приход.
Нужно, чтобы при выборе документа Приход, реквизиты табличной части Расход заполнялись из табличной части документа Приход.
Не получается это сделать. Как правильно оформляется поиск по табличной части документа?
Я пишу что-то такое...

1C
1
2
3
4
5
6
7
Процедура ТоварыВыбратьДокументПриИзменении(Элемент)
    
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    Для каждого ТкущаяСтрока из Документы.Приход.ПолучитьРеквизитыДокумента( ...
           ???) 
... 
КонецПроцедуры
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2012, 14:55
Ответы с готовыми решениями:

Заполнение табличной части одного документа из табличной части этого же документа
Здравсвуйте. 1С 8.2. Есть документ в этом документе 2 табличные части В 1 табличной части...

Заполнение табличной части одного документа при проведение другого
Подскажите пожалуйста, какой можно использовать синтаксис при такой ситуации. Добавлено через 31...

Перенос табличной части одного документа в ТЧ другого?
Всем привет ! Есть следующие объекты: - Cправочник "Товары". - Документ ЗаказПокупателя c ТЧ...

Заполнение реквизита табличной части документа (строки, из справочника наименования, внутри документа)
Здравствуйте. Волею судеб нужно сваять пару документов в 1с 77. Вроде бы как все шло нормально,...

13
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.08.2012, 15:42 2
1C
1
2
Запрос.Текст="ВЫБРАТЬ * ИЗ Приход.Товары ГДЕ Ссылка=&ВыбДок";
Товары.Загрузить(Запрос.Выполнить().Выгрузить());
2
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
15.08.2012, 16:43  [ТС] 3
Заполнение табличной части одного документа из табличной части другого документа


1C
1
2
3
4
5
6
7
8
9
10
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|Услуги.Имя КАК Имя,
|Услуги.Код КАК Код
|ИЗ
|Документы.Приход.Услуги
|ГДЕ
|Документы.Приход = &Документ";
 
Услуги.Загрузить(Запрос.Выполнить().Выгрузить());
Так? (вместо Товары - Услуги ... >_<)
0
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
15.08.2012, 17:10  [ТС] 4
Вот запрос конструктором запроса, но он совсем непонятный.
что после запроса написать надо?

1C
1
2
3
4
5
6
7
8
9
Запрос.Текст = "ВЫБРАТЬ
                   |    ПриходУслуги.Имя,
                   |    ПриходУслуги.Код,
                   |    РасходУслуги.Документ
                   |ИЗ
                   |    Документ.Приход.Услуги КАК ПриходУслуги,
                   |    Документ.Расход.Услуги КАК РасходУслуги
                   |ГДЕ
                   |    РасходУслуги.Документ = &ПриходУслуги.Ссылка";
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.08.2012, 22:44 5
Создайте отчет. Макеты.КонструкторФормы. Он сам Вам напишет и заодно выведет в табдок.
Цитата Сообщение от Titanum Посмотреть сообщение
ИЗ | Документ.Приход.Услуги КАК ПриходУслуги,
| Документ.Расход.Услуги КАК РасходУслуги
Вообще, это не конструктор поработал. Два документа нельзя тупо писать рядом, как в семёрке. Тут чистый скуль и надобно соединение

Добавлено через 5 минут
А чем это не устраивает?
1C
1
2
3
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Имя,Код ИЗ Документы.Приход.Услуги ГДЕ Ссылка = &Документ";
Услуги.Загрузить(Запрос.Выполнить().Выгрузить());
1
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
16.08.2012, 09:19  [ТС] 6
Выдает ошибку:
Ошибка отображения типов: Отсутствует отображение для типов "ПолеФормы".
Заполнение табличной части одного документа из табличной части другого документа


1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&НаКлиенте
Процедура УслугиДокументПриИзменении(Элемент)
    
УслугиДок(Элемент);
        
КонецПроцедуры
 
 
&НаСервере
Процедура УслугиДок(Элемент) Экспорт
 
    Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Имя,Код ИЗ Документы.Приход.Услуги ГДЕ Ссылка = &Документ";
Объект.Услуги.Загрузить(Запрос.Выполнить().Выгрузить());
 
КонецПроцедуры
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2012, 10:59 7
1C
1
2
&НаСервере
Процедура УслугиДок()
или
1C
1
2
&НаСервереБезКонтекста
Процедура УслугиДок(Объект)
1
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
16.08.2012, 11:07  [ТС] 8
Спасибо большое!
А как можно обратиться к объекту табличной части?
Например просто к объекту Объект.Услуги. А к реквизиту табличной части? Объект.Услуги.Документ?
Выдает ошибку:
{Документ.Расход.Форма.ФормаДо кумента.Форма(16)}: Поле объекта не обнаружено (Документ)
Запрос.УстановитьПараметр("Док умент",Объект.Документ);


1C
1
2
3
4
5
6
7
&НаСервере
Процедура УслугиДок() Экспорт
    Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Имя,Код ИЗ Документ.Приход.Услуги ГДЕ Ссылка = &Документ";
Запрос.УстановитьПараметр("Документ",Объект.Документ);
Объект.Услуги.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
Потому что до этого выдавало ошибку:
Не задано значение параметра "Документ"
ВЫБРАТЬ Имя,Код ИЗ Документ.Приход.Услуги ГДЕ Ссылка = <<?>>&Документ
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2012, 11:12 9
А реквизит "Документ" присутствует в объекте? Ощущение такое, что он в ТЧ Услуги.
("Объект" писать не обязательно, он присутствует в контексте.)
1
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
16.08.2012, 11:16  [ТС] 10
Документ - это реквизит табличной части Услуги. Если пишу просто
1C
1
Запрос.УстановитьПараметр("Документ", Документ);
Так же выдает ошибку: Поле объекта не обнаружено (Документ)
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2012, 11:28 11
Медленно:
Объект - это контейнер типа "ДокументОбъектПриход". Он содержит объект типа "ТабличнаяЧасть" (Услуги). Это тоже контейнер, который содержит объекты типа "СтрокаТЧ".
Перенесите реквизит "Документ" в документ, поскольку он обслуживает всю ТЧ, а не её строку.
1
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
16.08.2012, 11:33  [ТС] 12
Всё, теперь понятно. Спасибо огромное. Получается, вобще неправильно задачу поставила...
0
148 / 148 / 3
Регистрация: 05.05.2010
Сообщений: 569
16.08.2012, 15:29 13
А что за конфигурация? Самописная?
1
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
16.08.2012, 15:34  [ТС] 14
Нет. Здесь данные приведены просто для примера, чтоб понять алгоритм. Конфигурация УТ 11.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2012, 15:34
Помогаю со студенческими работами здесь

Заполнение табличной части документа
Добрый вечер! Ситуация. Есть справочник ученики, в котором есть ученики и группа (допустим). И...

Заполнение табличной части вызываемого документа
Доброе утро прошу подсказать знающих как вывести результат запроса в табличную часть вызываемой...

Автоматическое Заполнение Табличной Части Документа
Всем привет! Подскажите: как программным способом заполнить табличную часть документа данными из...

Перенос данных табличной части из одного документа в другой
Всем доброго времени суток. Такая проблема-есть документ АктПриемаСдачи. В этом документе допустим...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru