Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 1C 8.2 Управляемый интерфейс, получение данных, Заполнить документ данными справочника 
V
    Опции темы
SaschaL
Дата 12.3.2011, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Добрый день! 
есть проблема , конфигурация самописная на 1С 8.2, интерфейс управляемый.
Есть документ который заполняется путем подбора из справочника товаров. Иногда возникает такая необходимость что нужно автоматически заполнить документ данными из некой группы справочника.

Все данные извлекаются из справочника в серверной процедуре. Подскажите как из серверной процедуры заполнить табличную часть данными из справочника.
PM MAIL ICQ   Вверх
Itsys
Дата 12.3.2011, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 7
Всего: 34



Если вызов контекстный, то просто обращайтесь к ТЧ Объекта.
Код

НоваяСтрока = Объект.ИмяТЧ.Добавить();

PM MAIL WWW Skype   Вверх
Zero
Дата 13.3.2011, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 15
Всего: 24



Цитата(SaschaL @  12.3.2011,  20:49 Найти цитируемый пост)
Подскажите как из серверной процедуры заполнить табличную часть данными из справочника. 

А проблема в чём конкретно? Не получается обратится к справочнику, находясь в некой процедуре или не получается записать данные в табличную часть документа?
PM MAIL ICQ   Вверх
SaschaL
Дата 14.3.2011, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Навоял вот такой код:

Код

&НаКлиенте
Процедура СобрНоменкл(Команда)

        СобратьМатериалы();

КонецПроцедуры
                                                                                          
&НаСервере
Процедура СобратьМатериалы()
    Для каждого Стр из Объект.Продукция цикл
          ТекСтрока = Стр.Продукция;
          Сообщить(ТекСтрока);
          Для Каждого стрМ из ТекСтрока.Спецификация цикл

            НоваяСтрока = Объект.Материалы.Добавить();  
            НоваяСтрока.Номенклатура = СтрМ.Номеклатура;            
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры



Даю пояснения. В документе 2 табличных части Одна из них продукция, вторая Материалы.
Смысл такой из табличной части продукция выбирается по циклу продукция, нахотящаяся данной табличной части. У каждого вида продукции имеется (Тип Справочник.Изделия) имеется табличная часть, в которой находятся затраты на эту продукцию. Табличная часть называется  Спецификация, обхожу её по циклу, все нормально данные извлекаются, теперь необходимо закинуть эти затраты в Табличную часть Материалы, которая находится в этом документе при добавлении программно выдается ошибка что "Поле объекта не обнаружено (Номенклатура)" и указывает на строку 

Цитата

НоваяСтрока.Номенклатура = СтрМ.Номеклатура;


не может найти в заполняемой табличной части реквизит Номенклатура, как впрочем и все остальные, хотя пустая строка создается.

Не могу понять в чем тут дело. 
PM MAIL ICQ   Вверх
Zero
Дата 14.3.2011, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 15
Всего: 24



Цитата(SaschaL @  14.3.2011,  03:39 Найти цитируемый пост)
при добавлении программно выдается ошибка что "Поле объекта не обнаружено (Номенклатура)"

Следующий код некорректен:
Код

НоваяСтрока = Объект.Материалы.Добавить();


Причина в том, что переменная "Объект" это не объект базы данных, а основной реквизит формы.
Открой отладчик и посмотри какой тип имеет переменная Объект....   "ДанныеФормы...."
Она предназначена для отображения данных объекта базы данных в форме, но не для редактирования.

В твоём же случае (для модификации объекта), нужно чтобы был тип "ДокументОбъект.<ИмяДокумента>"

Для этого нужно, сначала данные формы преобразовать в одноименный объект базы данных:
Код

ОбъектаДокумента = РеквизитФормыВЗначение("Объект",Тип("ДокументОбъект.РасходнаяНакладная"));

Далее с переменной ОбъектаДокумента можешь работать как выше ты писал цикл для модификации документа.

И уже в конце после модификации объекта в базе данных, чтобы изменения отразились на форме, преобразуй объект в данные формы:
Код

ЗначениеВРеквизитФормы(ОбъектаДокумента, "Объект");

PM MAIL ICQ   Вверх
SaschaL
Дата 15.3.2011, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Получилось, всем спасибо. Вот почему-то справка по встроенному языку весьма скупо описывает эти функции.
PM MAIL ICQ   Вверх
Zero
Дата 15.3.2011, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 15
Всего: 24



Цитата(SaschaL @  15.3.2011,  18:42 Найти цитируемый пост)
Вот почему-то справка по встроенному языку весьма скупо описывает эти функции.

Справка имеет можно сказать набор определений, т.е. когда ты понимаешь тему, но подзабыл, то открыв справку/синтакс-помощник, ты эту тему вспомнишь.
А если тебе необходимо разобраться в чём-то, то нужно использовать некие подобия учебников.
Для конкретного примера предлагаю приобрести вот эту книгу: http://www.v8.1c.ru/metod/books/book.jsp?id=231
В главе 3.7 Работа с данными объекта в форме (стр.399) подробно описана интересующая тебя в текущей теме информация.
PM MAIL ICQ   Вверх
SaschaL
Дата 16.3.2011, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Я эту книгу как раз заказа, завтра пойду получать на почте, и еще заказал парочку, такие как Разработка сложных отчетов в 1С Предприятии 8 система компоновки данных.
PM MAIL ICQ   Вверх
SaschaL
Дата 26.3.2011, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Данный вопрос решенный!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0800 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.