Версия для печати темы (https://pro1c.org.ua/index.php?s=ad0aee5788b6ff87049269f77e2619cd&showtopic=52034)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Заполнение поля из свойства другого объекта

Автор: jojojoba2 16.05.19, 12:44

Добрый день!

Помогите начинающему разработчику 1С. Есть документ Перемещение ОС. В нем нужно добавить поле с вожможностью вода данных ,на ком или какому складе(МОЛ) принадлежит ОС(Тоесть чтобы было поле "Тот кто здал" и "Тот кто принял". При создании нового документа Перемещение ОС, при добавлении Основного средства необходимо чтобы данные на ком(на каком складе) оно числится добавлялись в созданное поле автоматически.

Подскажите метод или пример кода автоматического заполнения. Я Пытаюсь через обработку формы при изменении документа "Перемещение ОС"
подставить в новое поле (созданное мною "на ком числиться") данные из документа "Основные Средства" вкладка "бух учет" из поля "МОЛБУ",но это не реквизит , а переменная в Процедура ЗаполнитьОписания() формы элемента. Как сделать ссылку на конкретный элемент формы другого документа.

Процедура ОСОсновноеСредствоПриИзменении(Элемент)
    
СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.м =Справочники.ОсновныеСредства.ФормаЭлемента. ???????????

КонецПроцедуры


Направте на путь истинный.

Спасибо.


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 4, 9
 

Автор: Acid 16.05.19, 13:11

Цитата(jojojoba2 @ 16.05.19, 13:44) *
Направте на путь истинный.

Почитайте для начала методику как выполняются подобные операции в УПП.

Автор: jojojoba2 16.05.19, 14:32

Acid @ Сегодня, 14:11 * ,

Подскажите пожалуйста книгу

Автор: Vofka 16.05.19, 15:03

jojojoba2, у вас есть табличная часть, в которой вы выбираете основное средство и в этой строке вам надо заполнить колонку значением из выбранного основного средства?

Автор: Acid 16.05.19, 15:05

jojojoba2 @ Сегодня, 15:32 * ,
http://pro1c.org.ua/redirect.php?https://its.1c.ua/

http://pro1c.org.ua/redirect.php?https://stimul.kiev.ua/materialy.htm?a=index_upravlenie_proizvodstvennym_predpriyatiem_dlya_ukrainy

Автор: Vofka 16.05.19, 15:16

Acid, если вопрос по программированию, причем тут литература по УПП?

Автор: jojojoba2 16.05.19, 15:50

Vofka @ Сегодня, 16:03 * ,

Да, нужно подставить в созданное поле на ком числится основное средство. Как подтянуть данные из регистра.Я пробую запросом но данные не вставляются:

Функция ПолучитьДанныеИзРС(ОС)

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОС",ОС);
Запрос.Текст =  "ВЫБРАТЬ
              
               |    МестонахождениеОС.МОЛ
               |ИЗ
               |    РегистрСведений.МестонахождениеОС КАК МестонахождениеОС ";
              
              
               // получение данных по конкретному ОС

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();



КонецФункции



Процедура ОСОсновноеСредствоПриИзменении(Элемент)
    
СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.М = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОС);


КонецПроцедуры


jojojoba2 @ Сегодня, 16:36 * ,
Написал код, вставляет значение в мое созданное поле но значение одно и тоже для всех основных средств


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 9
 

Автор: Acid 16.05.19, 16:04

Цитата(Vofka @ 16.05.19, 16:16) *
если вопрос по программированию, причем тут литература по УПП?


Потому что я вижу, что хотят выполнить хотелку бухгалтера. В итоге сломают стандартный документ. Просто предупреждаю назревающий конфликт.
В УПП вся необходимая информация присутствует - у склада есть и ответсвенное лицо и местонахождение. И в ведомости ОС можно вывести всю необходимую информацию.

Автор: fly 17.05.19, 8:55

jojojoba2 @ Вчера, 16:50 * ,

Функция ПолучитьДанныеИзРС(ОС)
.....
.....
КонецФункции


Потеряли:
Возврат <Возвращаемое значение>
Ключевое слово, которое завершает выполнение функции и возвращает указанное значение в выражение, в котором используется функция.
В качестве возвращаемого значения может выступать выражение или переменная, значение которого содержит результат обращения к функции.

Возврат <Возвращаемое значение> = 1но значение

Запрос ваш может выдавать множественное значение (может быть > 1).
переделайте запрос на "срез последних".
Запрос условие = ОС???? - "....ГДЕ......" -

Но это плохое решение, так как при изменении ОС, постоянно будет меняться МОЛ. Ответственный - последнее значение по строкам документа может быть различным.
Рискуете получить 2а ответственных "Сдал" - фактически, а подписывает документ один Сдающий.

Автор: Vofka 17.05.19, 11:50

Цитата(Acid @ 16.05.19, 17:04) *
Потому что я вижу, что хотят выполнить хотелку бухгалтера. В итоге сломают стандартный документ. Просто предупреждаю назревающий конфликт.
В УПП вся необходимая информация присутствует - у склада есть и ответсвенное лицо и местонахождение. И в ведомости ОС можно вывести всю необходимую информацию.

В таком случае дайте конкретный ответ почему так делать не надо, вместо абстрактного "читайте книги".

Автор: jojojoba2 17.05.19, 13:28

Всем спасибо!
Вставляю рабочий код, может кому то пригодиться

Функция ПолучитьДанныеИзРС(ОС) 

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОС",ОС);
Запрос.УстановитьПараметр("Дата",Дата);
Запрос.Текст = "ВЫБРАТЬ
|    МестонахождениеОСБухгалтерскийУчет.МОЛ
|ИЗ
| РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата,ОсновноеСредство = &ОС) КАК МестонахождениеОСБухгалтерскийУчет";

// получение данных по конкретному ОС

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Возврат Выборка.МОЛ;

КонецФункции

Процедура ОСОсновноеСредствоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.М = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОсновноеСредство);

КонецПроцедуры

Автор: Vofka 17.05.19, 14:25

jojojoba2, обратите внимание все таки на 9 пункт правил. И для спасибо у нас специальная кнопочка есть wink.gif.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua