Проблема,в документе А,есть поле,в котором я выбираю другой документ Б,тоесть там ссылка на другой документ,мне нужно некоторые колонки выгрузить,при выборе, из Документа Б,туда где я выбираю Документ А.Подскажите как это можно сделать,уже все перебывал.
у меня 1с предприятие 8.2,обычноприложение,самописная.
у меня 1с предприятие 8.2,обычноприложение,самописная.
По теме из базы знаний
Найденные решения
Процедура СсылкаНаДокументПриИзменении(Элемент)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДокументВТабличнаяЧасть.Номенклатура,
| ДокументВТабличнаяЧасть.Количество,
| ДокументВТабличнаяЧасть.Сумма
|ИЗ
| Документ.ДокументВ.ТабличнаяЧасть КАК ДокументВТабличнаяЧасть
|ГДЕ
| ДокументВТабличнаяЧасть.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТабличнаяЧасть.Очистить();
Пока Выборка.Следующий() Цикл
СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;
КонецЦикла;
КонецПроцедуры
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДокументВТабличнаяЧасть.Номенклатура,
| ДокументВТабличнаяЧасть.Количество,
| ДокументВТабличнаяЧасть.Сумма
|ИЗ
| Документ.ДокументВ.ТабличнаяЧасть КАК ДокументВТабличнаяЧасть
|ГДЕ
| ДокументВТабличнаяЧасть.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТабличнаяЧасть.Очистить();
Пока Выборка.Следующий() Цикл
СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;
КонецЦикла;
КонецПроцедуры
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
На поле, в котором выбирается документ Б поставить обработчик события ПриИзменении(), в котором проверять, что документ Б выбран и некоторые колонки из документа Б выгружать и записывать в текущий документ, т.е. документ А.
Процедура СсылкаНаДокументПриИзменении(Элемент)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДокументВТабличнаяЧасть.Номенклатура,
| ДокументВТабличнаяЧасть.Количество,
| ДокументВТабличнаяЧасть.Сумма
|ИЗ
| Документ.ДокументВ.ТабличнаяЧасть КАК ДокументВТабличнаяЧасть
|ГДЕ
| ДокументВТабличнаяЧасть.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТабличнаяЧасть.Очистить();
Пока Выборка.Следующий() Цикл
СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;
КонецЦикла;
КонецПроцедуры
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДокументВТабличнаяЧасть.Номенклатура,
| ДокументВТабличнаяЧасть.Количество,
| ДокументВТабличнаяЧасть.Сумма
|ИЗ
| Документ.ДокументВ.ТабличнаяЧасть КАК ДокументВТабличнаяЧасть
|ГДЕ
| ДокументВТабличнаяЧасть.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Элемент.Значение);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТабличнаяЧасть.Очистить();
Пока Выборка.Следующий() Цикл
СтрокаТЧА = ТабличнаяЧасть.Добавить();
СтрокаТЧА.Номенклатура = Выборка.Номенклатура;
СтрокаТЧА.Количество = Выборка.Количество;
СтрокаТЧА.Сумма = Выборка.Сумма;
КонецЦикла;
КонецПроцедуры
А вы уточните задачу и напишем вам код.
Вопросы такие:
1) Название реквизита поля документа Б?
2) Названия табличных частей документов Б и А?
3) Названия соответствующих колонок.
примерно получается так: вместо квадратных скобок надо подставить соответствующие названия
Вопросы такие:
1) Название реквизита поля документа Б?
2) Названия табличных частей документов Б и А?
3) Названия соответствующих колонок.
примерно получается так: вместо квадратных скобок надо подставить соответствующие названия
Если ЗначениеЗаполнено([ДокументБ]) Тогда
Для Каждого ТекСтрока Из ДокументБ.[НазваниеТабличнойЧастиБ] Цикл
НоваяСтрока = [НазваниеТабличнойЧастиА].Добавить();
НоваяСтрока.[ИмяКолонки1А] = ТекСтрока[ИмяКолонки1Б];
...
НоваяСтрока.[ИмяКолонкиNА] = ТекСтрока[ИмяКолонкиNБ];
КонецЦикла
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот