Автозаполнение табл.части документа

1. aguilar 26.02.13 15:43 Сейчас в теме
Проблема,в документе А,есть поле,в котором я выбираю другой документ Б,тоесть там ссылка на другой документ,мне нужно некоторые колонки выгрузить,при выборе, из Документа Б,туда где я выбираю Документ А.Подскажите как это можно сделать,уже все перебывал.
у меня 1с предприятие 8.2,обычноприложение,самописная.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. Uved 26.02.13 16:38 Сейчас в теме
Процедура СсылкаНаДокументПриИзменении(Элемент)

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

Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

ТабличнаяЧасть.Очистить();

Пока Выборка.Следующий() Цикл

СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;

КонецЦикла;


КонецПроцедуры
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aguilar 26.02.13 15:44 Сейчас в теме
Только на толстом клиенте!
3. Kom-off 26.02.13 15:49 Сейчас в теме
На поле, в котором выбирается документ Б поставить обработчик события ПриИзменении(), в котором проверять, что документ Б выбран и некоторые колонки из документа Б выгружать и записывать в текущий документ, т.е. документ А.
5. aguilar 26.02.13 15:55 Сейчас в теме
(3) Kom-off, (4) Uved, Ребят я понимаю что при изменении,я не могу сам код написать,у меня не выгружается ничего.
4. Uved 26.02.13 15:54 Сейчас в теме
В событии поля документа А "при изменении" пишешь запрос к табличной части документа Б или просто перебор табличной части документа Б, при переборе добавляешь строки в табличную часть документа А
6. aguilar 26.02.13 16:02 Сейчас в теме
Ребят помогите черкните кодик(
7. aguilar 26.02.13 16:35 Сейчас в теме
8. Uved 26.02.13 16:38 Сейчас в теме
Процедура СсылкаНаДокументПриИзменении(Элемент)

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

Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

ТабличнаяЧасть.Очистить();

Пока Выборка.Следующий() Цикл

СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;

КонецЦикла;


КонецПроцедуры
11. aguilar 26.02.13 17:58 Сейчас в теме
(8) Uved, спасибо большое,запрос то что надо!
9. moonlight81 26.02.13 16:43 Сейчас в теме
А вы уточните задачу и напишем вам код.
Вопросы такие:
1) Название реквизита поля документа Б?
2) Названия табличных частей документов Б и А?
3) Названия соответствующих колонок.

примерно получается так: вместо квадратных скобок надо подставить соответствующие названия

Если ЗначениеЗаполнено([ДокументБ]) Тогда

Для Каждого ТекСтрока Из ДокументБ.[НазваниеТабличнойЧастиБ] Цикл

НоваяСтрока = [НазваниеТабличнойЧастиА].Добавить();
НоваяСтрока.[ИмяКолонки1А] = ТекСтрока[ИмяКолонки1Б];
...
НоваяСтрока.[ИмяКолонкиNА] = ТекСтрока[ИмяКолонкиNБ];

КонецЦикла

КонецЕсли;

Показать
10. serg1234 97 26.02.13 17:06 Сейчас в теме
Для каждой стрБ из ТабЧастьДокБ Цикл
стрА = ТабЧастьДокА.Добавить();
ЗаполнитьЗначенияСвойств(стрА,стрБ);
КонецЦикла
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот