Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Изменение данных в одной ТЧ при изменении другой ТЧ в одном документе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
_kokoreva_
Добрый день!

Мучаюсь уже второй день, помогите, пожалуйста!

1С:Предприятие 8.3 Учебная версия (8.3.17.1386)

Вопрос: имеется документ, в нем есть 2 ТЧ - товары и материалы. В ТЧ товары есть колонка о количестве товара, а в ТЧ Материалы из которого состоит этот товар и необходимое количество на 1 товар. Мне необходимо сделать так, чтобы при изменении количества в ТЧ товары менялось количество материалов в ТЧ Материалы. По сути умножить КоличествоТовара на КоличествоМатериала, но как сделать это между двумя ТЧ?

Умоляю, помогите!
andreydv87
_kokoreva_ @ Сегодня, 12:36 необходимо зарегистрироваться для просмотра ссылки ,
а как Вы сейчас заполняете ТЧ "Материалы"?
Добавьте в процедуру "при изменении количества товара" вызов процедуры заполнения ТЧ "Материалы".
Объект.Материалы.Очистить() и заново заполняйте.
_kokoreva_
andreydv87 @ Сегодня, 13:02 необходимо зарегистрироваться для просмотра ссылки ,
она заполняется на основании определенного справочника
logist
Цитата(andreydv87 @ 08.04.21, 13:02) необходимо зарегистрироваться для просмотра ссылки
Объект.Материалы.Очистить() и заново заполняйте.

это слишком жестоко)) лучше найти нужные строки и изменить в них количество
_kokoreva_
logist @ Вчера, 15:49 необходимо зарегистрироваться для просмотра ссылки ,
А как это сделать, подскажите, пожалуйста)
logist
_kokoreva_, посмотрите, практически в любой массовой конфигурации есть документ Отчет производства за смену, или Комплектация товаров, и сделайте по аналогии применимо к вашей архитектуре. Либо задавайте конкретные вопросы, сейчас ваш вопрос звучит как "сделайте за меня, еще и догадайтесь как устроена моя конфигурация"
_kokoreva_
logist @ 10.04.21, 21:49 необходимо зарегистрироваться для просмотра ссылки ,
Ну вообще в названии темы я указала конкретный вопрос: "как изменить данные в одной ТЧ при изменении другой ТЧ".
logist
_kokoreva_, выше подсказали - при изменении количества Товаров меняете кол-во Материалов, я только предложил не менять всё, а менять только конкретные строки (это правильней потому что строк может быть очень много а изменить надо будет несколько, в таком случае перезаполнять всё не имеет смысла). Как минимум в одной ТЧ должна быть связь по какому-то реквизиту с другой, по этой связи ищите необходимые строки в Материалах и меняете кол-во согласно какой-то логике. Но здесь могут быть вариации в зависимости от того как у вас заполняются Материалы - сгруппировано или для каждой строки товаров. Какие-то детальные ответы дать невозможно без понимания как устроена форма документа и логика заполнения.
_kokoreva_
logist @ Сегодня, 10:52 необходимо зарегистрироваться для просмотра ссылки ,
Подскажите, пожалуйста, как следует тогда написать событие при изменении. Я просто знаю только если все реквизиты в одной ТЧ, а с двумя еще не сталкивалась.
sava1
возьмите бухгалтерию, документ ГТД и посмотрите, как пересчитывается ТЧ при изменении Акциза или НДС
logist
Цитата(_kokoreva_ @ 12.04.21, 12:04) необходимо зарегистрироваться для просмотра ссылки
Я просто знаю только если все реквизиты в одной ТЧ, а с двумя еще не сталкивалась.

Вы работаете с объектом, какая разница что это на самом деле - одна ТЧ или две, если знаете как работать с одной то с другой точно так же, только указываете другой объект.
andreydv87
Цитата(_kokoreva_ @ 12.04.21, 10:16) необходимо зарегистрироваться для просмотра ссылки
logist @ 10.04.21, 21:49 ,
Ну вообще в названии темы я указала конкретный вопрос: "как изменить данные в одной ТЧ при изменении другой ТЧ".

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