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

Запись из ТЧ формы в реквизит справочника

Автор Конст_007, 17 авг 2015, 14:25

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

Конст_007

Добрый день уважаемые программисты!

Прошу если можно помочь (ткнуть носом, показать).
УТ 11.1 Необходимо по позициям номенклатуры (сумма) из табличной части документа записывать данные в справочник номенклатуры.
Не могу подобрать подходящего метода, во так в модуле формы работает:


&НаСервере
Процедура УстановитьНаценкуЛомбНаСервере(ПарамНоменкл, ПарамСумма)
ОбъектПозицияСпрНоменкл = Справочники.Номенклатура.НайтиПоНаименованию(ПарамНоменкл).Ссылка.ПолучитьОбъект();
ОбъектПозицияСпрНоменкл.СуммаИсходная = ПарамСумма;
    Попытка
        ОбъектПозицияСпрНоменкл.Записать();
    Исключение
        Сообщить("Не удалось записать!");
    КонецПопытки;
КонецПроцедуры

&НаКлиенте
Процедура УстановитьНаценкуЛомб(Команда)
ТекСтрокаНоменклатура = Элементы.Товары.ТекущиеДанные;
Для Каждого ТекСтрокаНоменклатура Из Объект.Товары Цикл
УстановитьНаценкуЛомбНаСервере(ТекСтрокаНоменклатура.Номенклатура, ТекСтрокаНоменклатура.Сумма);
КонецЦикла;
Сообщить("Наценка записана в справочник!");
КонецПроцедуры


но т.к. наименования повторяются то работает соответственно неверно.
надо вместо НайтиПоНаименованию  по идее по коду искать, но кода в табличной части документа нету. Как бы его там получить то..?
не соображу


vitasw

Если вы никакую отсебятину с типами не понапридумывали, то
&НаСервере
Процедура УстановитьНаценкуЛомбНаСервере(ПарамНоменкл, ПарамСумма)
    ОбъектПозицияСпрНоменкл = ПарамНоменкл.ПолучитьОбъект();
    .... 
КонецПроцедуры

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

cska-fanat-kz

Цитата: vitasw от 17 авг 2015, 14:32Ну и расскажите что будет, если в вашем документе будет одна номенклатура в разных строках с разными суммами.

шепотом: сохранится последнее значение ))
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Это кто там такой умный?! Задние ряды! Опять кому-то неймется. Сейчас вызову к доске - пускай все послушают!
:D

Конст_007

Спасибо, все работает!

По поводу регистров вы конечно правы, каюсь, но специфика такая, что каждая позиция уникальна и всегда в одном экземпляре, хотя названия и могут повторяться. В документе они соответственно повторяться не могут)). Поэтому решил так выкрутиться.

Еще раз спасибо за помощь!

Теги:

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

Рейтинг@Mail.ru

Поиск