Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:21

Флажок при изменении

Автор Амалия, 18 апр 2014, 12:53

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

Амалия

Добрый день.
Подскажите, есть две таб. части - Первая и Вторая. В Первой колонки Товар (СправочникСсылка.Товар), Количество (Число) и Выбран (Тип Булево - флажок). Сделать нужно вот что. Когда ставлю флажок в колонке Выбран таб. части Первая, нужно, чтобы эта строка копировалась во Вторую таб. часть с колонками Товар и Количество.

Помогите, пожалуйста! Заранее спасибо!

cska-fanat-kz

СтрокаПервойТЧ = ЭлементыФормы.ПерваяТЧ.ТекущиеДанные;

НоваяСтрока = ВтораяТЧ.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПервойТЧ);


А если снимаешь флажок?
Убирать строку? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Амалия

Цитата: cska-fanat-kz от 18 апр 2014, 13:07
СтрокаПервойТЧ = ЭлементыФормы.ПерваяТЧ.ТекущиеДанные;

НоваяСтрока = ВтораяТЧ.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПервойТЧ);


А если снимаешь флажок?
Убирать строку? ;)

Да, да, да ) Как очистить, если убрать флажок?
Добавлено: 18 апр 2014, 13:53


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

&НаКлиенте
&НаКлиенте
Процедура УпаковкаВозвратПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Упаковка.ТекущиеДанные;
ВыполнитьНаСервере();
КонецПроцедуры

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


Добавлено: 18 апр 2014, 13:58


Как я понимаю, это если одинаковые таб. части? Просто я написала не все колонки, т.к. думала, что мне подскажут логику, а там я сама допишу. Так-то у меня табличные части отличаются не только колонкой Выбран (у меня она колонка ВОЗВРАТ).

cska-fanat-kz

Да, ЗаполнитьЗначенияСвойств() применяется для совпадающих свойств объектов.
В противном случае никто не мешает написать:
НоваяСтрока.Реквизит1 = СтрокаПервойТЧ.Реквизит2;

У вас Управляемое Приложение? Для него пока не придумал. Но точно не так ;)

Если Вам нужна связь между строками двух ТЧ, то надо думать по какому полю эти самые строки связывать:
1. В ТЧ №2 добавить скрытую колонку "НомерСтрокиИзТЧ1"
2. Связывать по колонке "Номенклатура" при условии уникальности значений
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Амалия

А по конкретнее можно? Все перепробовала, никак не соображу как правильно.

markgenuine

Так же можете исключить некоторые колонки из ТЧ источника с помощью 4 параметра:
ЗначениеЗаполнить(Приемник, Источник,,"Количество, Сумма");

cska-fanat-kz

Цитата: Амалия от 18 апр 2014, 20:40
А по конкретнее можно? Все перепробовала, никак не соображу как правильно.

"Перепробы" - в студию. А то напоминает "сделайте за меня".
Вы же не из таких, правда? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Амалия

Цитата: cska-fanat-kz от 21 апр 2014, 13:48
Цитата: Амалия от 18 апр 2014, 20:40
А по конкретнее можно? Все перепробовала, никак не соображу как правильно.

"Перепробы" - в студию. А то напоминает "сделайте за меня".
Вы же не из таких, правда? ;)

Я была бы не против ) Потому что не понимаю как это работает в принципе. Вот вложила картинки табличных частей. Они у меня разные. Я так думаю, что про при нажатии на флажок, строка не скопируется, поэтому добавила кнопку Вести учет возвратной тары. И в нее нужно прописать запрос, если флажок истина, то та строка копируется туда... А сам запрос написать не получается.

Добавлено: 22 апр 2014, 10:58


Ну вот так я это понимаю:
&НаКлиенте
Процедура ВестиУчетВозвратнойТары(Команда)
ВестиУчет();
КонецПроцедуры

&НаСервере
Процедура ВестиУчет()
//Как я понимаю процедура должна же быть в ТабЧасти Упаковка
    //Если Возврат = Истина Тогда
//вот эта отмеченная строка должна быть скопирована в
//ТабЧасть Возвратная
//КонецЕсли
КонецПроцедуры


Опять же, учетная цена у меня должна сама проставиться и учетная стоимость посчитаться. Ну как посчитать, я знаю, а как проставить цену нет. А так цена идет через документ и регистр по ценам.

wise

(7)ЗАЧЕМ добавлять и удалять СРАЗУ ? :o
МОЖЕТ при изменении флажка устанавливать переменную ПересчитатьВозвратнуюУпаковку в истину и в процедуре ПриЗаписи ПОЛНОСТЬЮ пересчитывать эту ТЧ. :P
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Амалия

Цитата: wise от 22 апр 2014, 11:58
(7)ЗАЧЕМ добавлять и удалять СРАЗУ ? :o
МОЖЕТ при изменении флажка устанавливать переменную ПересчитатьВозвратнуюУпаковку в истину и в процедуре ПриЗаписи ПОЛНОСТЬЮ пересчитывать эту ТЧ. :P

Ну может вы подскажете как прописать процедуру?:dfbsdfbsdf:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск