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

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

Автор KATERINA 861, 14 мая 2021, 03:01

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

KATERINA 861

Здравствуйте,есть справочник "книги" с такими реквизитами как: наименование,автор, жанр и тд. А ещё есть документ "выдача книг". Необходимо, чтобы из справочника "книги",заполнялись автоматически данные,такие как: инвентарный номер, наименование, автор и жанр в документ с помощью программного кода в модуле. Помогите, пожалуйста 🙏🙏🙏

alexandr_ll

Цитата: KATERINA 861 от 14 мая 2021, 03:01
Здравствуйте,есть справочник "книги" с такими реквизитами как: наименование,автор, жанр и тд. А ещё есть документ "выдача книг". Необходимо, чтобы из справочника "книги",заполнялись автоматически данные,такие как: инвентарный номер, наименование, автор и жанр в документ с помощью программного кода в модуле. Помогите, пожалуйста 🙏🙏🙏
Какое приложение - управляемое или обычное? https://forum-baza.ru/index.php?topic=47091.0

KATERINA 861


KATERINA 861

Цитата: alexandr_ll от 14 мая 2021, 06:36
Цитата: KATERINA 861 от 14 мая 2021, 03:01
Здравствуйте,есть справочник "книги" с такими реквизитами как: наименование,автор, жанр и тд. А ещё есть документ "выдача книг". Необходимо, чтобы из справочника "книги",заполнялись автоматически данные,такие как: инвентарный номер, наименование, автор и жанр в документ с помощью программного кода в модуле. Помогите, пожалуйста 🙏🙏🙏
Какое приложение - управляемое или обычное? https://forum-baza.ru/index.php?topic=47091.0
Управляемое, 1С 8.3

Ивашка

Цитата: KATERINA 861 от 14 мая 2021, 03:01
Здравствуйте,есть справочник "книги" с такими реквизитами как: наименование,автор, жанр и тд. А ещё есть документ "выдача книг". Необходимо, чтобы из справочника "книги",заполнялись автоматически данные,такие как: инвентарный номер, наименование, автор и жанр в документ с помощью программного кода в модуле. Помогите, пожалуйста 🙏🙏🙏
делай по образцу
Процедура ПереченьНоменклатурыНаименованиеПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Наименование, Новый Структура("Цена, ЕдиницыИзмерения"));
    СтрокаТЧ.Цена = РеквизитыОбъекта.Цена;
    СтрокаТЧ.ЕдиницыИзмерения = РеквизитыОбъекта.ЕдиницыИзмерения; 
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьРеквизит(Ссылка, ИмяРеквизита)
    Возврат Ссылка[ИмяРеквизита];
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   Для Каждого КлЗнч Из Реквизиты Цикл
        Реквизиты.Вставить(КлЗнч.Ключ, Объект[КлЗнч.Ключ]);
   КонецЦикла;
   Возврат Реквизиты;
КонецФункции

antoneus

Хранить все эти данные в документе абсолютно нет смысла, достаточно того, что в нем хранится ссылка на книгу. Если же все эти данные нужно отображать на форме документа в информационных целях, то это делается так: в форме документа раскрываете узел Объект, раскрываете узел Книга и мышкой перетаскиваете на форму нужные реквизиты. При выборе книги они автоматически заполняются, и все это без единой строчки программного кода в модуле.

KATERINA 861

Цитата: antoneus от 17 мая 2021, 22:52
Хранить все эти данные в документе абсолютно нет смысла, достаточно того, что в нем хранится ссылка на книгу. Если же все эти данные нужно отображать на форме документа в информационных целях, то это делается так: в форме документа раскрываете узел Объект, раскрываете узел Книга и мышкой перетаскиваете на форму нужные реквизиты. При выборе книги они автоматически заполняются, и все это без единой строчки программного кода в модуле.
Спасибо ☺️☺️☺️☺️

SERG30RUS

Есть Справочник - Номенклатура ( в нем реквизит Цена и ЕдиницаИзмерения)
Создал Документ ВыписатьСчет...в докуенте есть реквизит - Клиент и табличная часть с реквизитами (Номенклатура, ЕдиницаИзмерения, Цена)
Задача - сделать чтобы при выборе номенклатуры в документе ВыписатьСчет, в табличной части документа автоматически проставлялась цена (которая сидит в реквизите справочника Номенклатура). Сделал по примеру вышеуказанному. Но вопрос, что выбрать в функции?

&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура, Новый Структура("Цена,ЕдиницыИзмерения"));
    СтрокаТЧ.Цена = РеквизитыОбъекта.Цена;
    СтрокаТЧ.ЕдиницыИзмерения = РеквизитыОбъекта.ЕдиницыИзмерения;
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьРеквизит(Ссылка, ИмяРеквизита)
    Возврат Ссылка[ИмяРеквизита];
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   Для Каждого ??????   Из Реквизиты Цикл
        Реквизиты.Вставить( ?????  ,Объект[ ?? . ?? ]);
   КонецЦикла;
   Возврат Реквизиты;
КонецФункции

LexaK

Цитата: SERG30RUS от 07 апр 2023, 09:30&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   Для Каждого ??????   Из Реквизиты Цикл
        Реквизиты.Вставить( ?????  ,Объект[ ?? . ?? ]);
   КонецЦикла;
   Возврат Реквизиты;
КонецФункции

вместо этого попробуйте по проще функцию, примерно такую
&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   ЗаполнитьЗначенияСвойст(Реквизиты,Объект);
   Возврат Реквизиты;
КонецФункции
если помогло нажмите: Спасибо!

SERG30RUS


Теги:

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

Рейтинг@Mail.ru

Поиск