Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:03

Передача результата обработки в ТЧ Документа (УФ)

Автор diest, 09 фев 2020, 23:17

0 Пользователей и 1 гость просматривают эту тему.

diest

Все привет! Изучаю 1с и не могу реализовать.
Подскажите пожалуйста, как решить 2 задачи:
1. Сделать обработку, которая генерирует наименование номенклатуры из реквизитов в обработке и при нажатие на кнопку "Добавить в документ" переносит получившееся наименование в табличную часть документа.
2. Создать номенклатуру в справочнике "НОМЕНКЛАТУРА"
Скриншот обработки и куда пытаюсь добавить наименование отмечены.
Все откликнувшимся заранее большое СПАСИБО!
Код из модуля обработки

&НаСервере
Процедура ДобавитьВДокументНаСервере(Перем1)

// Наименование

Наименование = "Модель " + СокрЛП(Объект.Модель.Наименование);
Наименование = Наименование + " ( ";
Наименование = Наименование + " " + СокрЛП(Объект.Цвет.Наименование);
Наименование = Наименование + " " + СокрЛП(Объект.Покрытие.Наименование);
Наименование = Наименование + " " + СокрЛП(Объект.Размер.Наименование);
Наименование = Наименование + " )";

Спр = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
Если  Спр.Пустая() Тогда
Спр = Справочники.Номенклатура.СоздатьЭлемент();
Спр.Родитель = Объект.Модель.Родитель;
Спр.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("Шт");
Спр.Записать();
КонецЕсли;

СтруктураПодбора = Новый Структура();
СтруктураПодбора.Вставить("КатегорияНоменклатуры",   Справочники.КатегорииНоменклатуры.НайтиПоНаименованию("БезКатегории"));
СтруктураПодбора.Вставить("ТипНоменклатуры",   "Запас");
СтруктураПодбора.Вставить("Номенклатура",             Спр.Ссылка);
СтруктураПодбора.Вставить("НаименованиеПолное",   Спр.Ссылка);
СтруктураПодбора.Вставить("ЕдиницаИзмерения",         Спр.ЕдиницаИзмерения);
СтруктураПодбора.Вставить("Количество",               1);
СтруктураПодбора.Вставить("ЕстьСкладВТабличнойЧасти", Ложь);
Перем1 = Наименование
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьВДокумент(Команда)
Перем Перем1;
ДобавитьВДокументНаСервере(Перем1);
ОповеститьОВыборе(Перем1);
КонецПроцедуры

FanFani

Странно ты номенклатуру создаешь, ты формируешь такое наименование из реквизитов, ищешь в справочнике по этому наименованию, и если не находишь то создаешь свою номенклатуру и при этом не присваиваешь это наименование новому элементу. В итоге у тебя номенклатура с хз каким наименованием и твой поиск бесполезен. + ты странного родителя указываешь, у тебя модель тоже элемент справочника номенклатура? Другой причины указать родителя модели родителем номенклатуры я не вижу.
Ну и раз уж делаешь такую обработку добавь реквизит с ссылкой на документ который хочешь заполнить.
Например ДокументСсылка, ну и самый простой пример

ДокОбъект = ДокументСсылка.ПолучитьОбъект();
НовСтрока = ДокОбъкт.Товары.Добавить();
НовСтрока.Номенклатура = Спр;
ДокОбъект.Записать();

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск