Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подчиненые таблицы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
alik-ZmeY
Процедура Кнопка1Нажатие(Элемент)
ВводНачОстОС = ВводНачальныхОстатковОС_ПВ.ПолучитьОбъект();//открываю документ из поля ввода
НайденнаяСтрока = ВводНачОстОС.ОС.Найти("7343");//ищу в таблице ОС с инвентарным номером 7343
ТЧДрагОС=ВводНачОстОС.Драгметаллы.Добавить();// как ОС найдено добавляю в подчиненую таблицу драгметалы.
ТЧДрагОС.Количество=100;// к примеру количество
ВводНачОстОС.Записать(РежимЗаписиДокумента.Запись);//сохроняю документ
КонецПроцедуры


Это обработка. Все как бы работает, только драг металы добовляются не к найденой записи в таблице ОС.

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


 ! 

Правила, п.1, 24
 
Vofka
Вашей конфы не видно, поэтому сказать как точно будет правильно нельзя. Но возникает вопрос где в вашем кусочке кода сказано, что добавляй записи к найденной записи? Запись, допустим, вы как-то находите (я правда не уверен, что это правильно, но см. выше), но дальше вы эту запись нигде не используете.
alik-ZmeY
В том то и дело, не хватает знаний понять как правильно использовать эту запись. Может подскажите как найденую запись прикрутить к таблице драг металлов??

может какимто таким способом

ВводНачОстОС.ОС.Получить(1);


но он не работает ((
Vofka
Цитата(alik-ZmeY @ 29.08.13, 16:32) необходимо зарегистрироваться для просмотра ссылки
Может подскажите как найденую запись прикрутить к таблице драг металлов??

Я не знаю структуры данных. Опишите нормально, со скриншотами, может тогда помогу.

Цитата(alik-ZmeY @ 29.08.13, 16:32) необходимо зарегистрироваться для просмотра ссылки
может какимто таким способом

Это вообще не об этом.
logist
Цитата(alik-ZmeY @ 29.08.13, 16:19) необходимо зарегистрироваться для просмотра ссылки
ТЧДрагОС=ВводНачОстОС.Драгметаллы.Добавить();// как ОС найдено добавляю в подчиненую таблицу драгметалы.

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

Пробую это все реализовать с ОС инвентарный номер 7343


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


Вот сама обработка. В ней выбирается документ нужный и нажимается «кнопка1»



Код кнопки1 вот:
Процедура Кнопка1Нажатие(Элемент)
ВводНачОстОС = ВводНачальныхОстатковОС_ПВ.ПолучитьОбъект();//открываю документ из поля ввода
НайденнаяСтрока = ВводНачОстОС.ОС.Найти("7343");//ищу в таблице ОС с инвентарным номером 7343
ТЧДрагОС=ВводНачОстОС.Драгметаллы.Добавить();// как ОС найдено добавляю в подчиненную таблицу драгметаллы.
ТЧДрагОС.Количество=100;// к примеру количество
ВводНачОстОС.Записать(РежимЗаписиДокумента.Запись);//сохраняю документ
КонецПроцедуры


Я понимаю, что в коде не хватает блока связки этих двух таблиц, по этому и прошу Вас помочь с этим блокам.
logist
Скриншоты отличные, любой окулист позавидует вашему зрению. Нужна структура данных документа, а не формы интерфейса, только потом можно обсуждать код.
alik-ZmeY
Хм, а как эту структуру данных документа сформировать? Или имеется виду привести весь код документа?
logist
Имеется ввиду Дерево конфигурации, правой кнопкой на документе, "Изменить", вкладка "Данные", "Табличные части" развернуть все, сделать человеческий скрин и выложить сюда. Это для начала.
Vofka
И скриншоты нормального размера сделайте.
alik-ZmeY






logist
Как-то так
Процедура Кнопка1Нажатие(Элемент)
ВводНачОстОС = ВводНачальныхОстатковОС_ПВ.ПолучитьОбъект();
НайденнаяСтрока = ВводНачОстОС.ОС.Найти("7343","ИнвентарныйНомерРегл");
Если НайденнаяСтрока <> Неопределено Тогда
СтрДрагОС=ВводНачОстОС.Драгметаллы.Добавить();
СтрДрагОС.ОсновноеСредство = НайденнаяСтрока.ОсновноеСредство;
СтрДрагОС.Количество = 100;
ВводНачОстОС.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецПроцедуры
alik-ZmeY
хм, какое хитрое сравнение. Спасибо. Не додумался бы никогда. Дальше уже вопросов нету, там вроде все понятно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.