Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Сен 2019, 15:28
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Заполнение табличной части при выборе реквизита другой табличной части в документе.  (Прочитано 3289 раз)

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

Оффлайн Vlad-93

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-10-24
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Являюсь новичком в 1с, поэтому скорее всего глупый вопрос, но все же. Конфигурация самописная. Управляемое приложение.

Есть Справочник - Детали. У Справочника детали есть табличная часть Операции со своими реквизитами.
Есть Документ - Формирование узла. Реквизит - НаименованиеУзла. И 2 табличные части - Детали и Операции.
В табличной части Детали есть реквизит Наименование с Типом СправочникСсылка.Детали
Проблема в следующем: Необходимо, чтобы при выборе Детали из табличной части Детали, заполнялась табличная часть Операции. И по мере заполнения Табличной части Детали - деталями, заполнялась табличная часть - Операции.
Предполагаю, что надо делать в обработчике событий ПриИзменении реквизита табличной части Детали - Наименование. Но как именно делать в плане запросом или каким то другим методом пока не понял.
Буду благодарен любому совету. Спасибо.


Оффлайн AIFrame

  • *****
  • Сообщений: 1396
  • РЕПУТАЦИЯ: 182
  • КПД: 13%
  • Регистрация: 2015-07-22
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
по мере заполнения Табличной части Детали - деталями, заполнялась табличная часть - Операции.
Интерактивность - это конечно прекрасно, но вам охота прописывать не только по событию добавления, но и по событию изменения строки ТЧ, удаления строкиТЧ, еще и  как-то вычленять нужные операции, добавлять к ТЧ операций значение индекса из ТЧ Деталей. И опять таки - это все интерактивность формы. А если документ будет создаваться программно, обработкой?
Короче мой вам совет - уберегите себя от будущих проблем и делайте заполнение Операций одной функцией в модуле документа (не формы, документа) по событию ПередЗаписью, например. Чтобы Операции очищались и заполнялись на основе ТЧ Детали. Дополнительно, можете на форму кнопку нарисовать с вызовом этой самой процедуры, которая заполнит ТЧ.

Оффлайн Vlad-93

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-10-24
  • Сайт: 
  • Профессия: Ученик 1С
Цитировать
по мере заполнения Табличной части Детали - деталями, заполнялась табличная часть - Операции.
Интерактивность - это конечно прекрасно, но вам охота прописывать не только по событию добавления, но и по событию изменения строки ТЧ, удаления строкиТЧ, еще и  как-то вычленять нужные операции, добавлять к ТЧ операций значение индекса из ТЧ Деталей. И опять таки - это все интерактивность формы. А если документ будет создаваться программно, обработкой?
Короче мой вам совет - уберегите себя от будущих проблем и делайте заполнение Операций одной функцией в модуле документа (не формы, документа) по событию ПередЗаписью, например. Чтобы Операции очищались и заполнялись на основе ТЧ Детали. Дополнительно, можете на форму кнопку нарисовать с вызовом этой самой процедуры, которая заполнит ТЧ.
По поводу интерактивности приму к сведению, спасибо. Но у меня проблема заключается в более банальной вещи, как мне кажется.
Меня интересует, как мне вытянуть из реквизита табличной части - Детали, Наименование(СправочникСсылка.Детали), табличную часть - Операции из справочника Детали. Я так понимаю, это лучше сделать через запрос по кнопке после заполнения табличной части Детали. Просто, после того, как я это сделаю. Мне нужно будет высчитывать в табличной части - Операции, некоторые поля исходя из имеющихся.(Но это уже не проблема).

Оффлайн AIFrame

  • *****
  • Сообщений: 1396
  • РЕПУТАЦИЯ: 182
  • КПД: 13%
  • Регистрация: 2015-07-22
  • Сайт: 
  • Профессия: Программист 1С
Для Каждого Деталь ИЗ Детали Цикл
    Для Каждого Операция из Деталь.Операции Цикл
        // Пердолим детали
    КонецЦикла;
КонецЦикла;

Оффлайн alex0402

  • *****
  • Сообщений: 1934
  • РЕПУТАЦИЯ: 346
  • КПД: 18%
  • Регистрация: 2010-09-10
  • Сайт: 
  • Профессия: Программист 1С
Если я правильно понял, то самый правильный вариант - запросом.
Если правильно составлен запрос, то можно сделать так:
ИмяТЧ.Загрузить(Запрос.Выполнить().Выгрузить());
если нужно заполнить всю т.ч. (все записи)
если не всю, тогда;

//очистить ТЧ от лишних записей:

Выброрка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ЗаполнитьЗначенияСвойств(ИмяТЧ.Добавить());
КонецЦикла;

ЗЫ.
В запрос можно впихнуть и те строки, которые удалять не нужно при заполнении ТЧ, тогда первый вариант то же можно использовать.
Спасибо за Сказать спасибо

Оффлайн Vlad-93

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-10-24
  • Сайт: 
  • Профессия: Ученик 1С
Всем спасибо. По итогу решил сделать через запрос.
Итоговый код вышел такой.

   
&НаСервере
Процедура Подбор()

Объект.СписокОпераций.Очистить();

Для Каждого Деталь Из Объект.Детали Цикл

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

КонецЦикла;

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


&НаКлиенте
Процедура Заполнить(Команда)

Подбор();

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



Теги:
 

Заполнение поля справочника из подчиненного справочника

Автор Space_minusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 2082
Последний ответ 19 Авг 2016, 05:01
от Space_minus
Добавление строки и заполнение строки в ТЗ на форме

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1897
Последний ответ 25 Сен 2017, 09:00
от Св Ч
автоматическое заполнение ТЧ документа из ТЧ другого документа

Автор nickSilverРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 457
Последний ответ 25 Окт 2018, 13:00
от vitasw
Заполнение ячейки "Объект"

Автор 007_11Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 222
Последний ответ 26 Дек 2018, 15:44
от alex0402
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2051
Последний ответ 02 Дек 2016, 12:58
от Jalib

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
92 Сообщений
LexaK
53 Сообщений
alexandr_ll
41 Сообщений
Yamuna
35 Сообщений
KOI8-R
30 Сообщений
Funt432286
23 Сообщений
antoneus antoneus
22 Сообщений
BuhRust
21 Сообщений
DmitriyF DmitriyF
19 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений

* Кто онлайн

  • Точка Гостей: 576
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal