Изменение данных поля строки табличной части #674291


#0 by gmax007
8.2 Управляемые формы. Как изменить данные определенного поля во всех строках (в цикле) в уже открытой форме при нажатии на кнопку, новые данные рассчитываются умножением данных из других полей. В отладчике все считается, ошибок нет, а на форме ничего не меняется. Помогите
#1 by ДенисЧ
Беги на сервер и там меняй... Если это ТЧ объекта, то через Объект.ТЧ, Иначе РеквизитФормыВЗначение("ТЧ"); ЗначениеВРеквизитФормы; КОнецЕсли;
#2 by Поросенок Петр
Ошибка в 4-й строке. Однозначно.
#3 by gmax007
а как на сервере к полю ТЧ обратиться чтобы его перезаписать как раз. Объект.ТЧ - сама ТЧ, а его поле
#4 by ДенисЧ
Каком кверху :-)
#5 by banco
можно и на клиенте
#6 by palpetrovich
+1
#7 by palpetrovich
+ 6 поудалял лишнее :) СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
#8 by gmax007
+ 6 Да все это я пробовал, в отладчике все считается например Для Каждого стр из Объект.Тч Цикл честно сообщает, а вот Для Каждого стр из Объект.Тч Цикл ну считается реквизит3 а вот на форме не меняется
#9 by gmax007
то же и на клиенте происходит
#10 by gmax007
вот конкретный пример
#11 by palpetrovich
все работает: // в форме документа:
#12 by gmax007
Попробую, отпишусь, щас вспоминаю раньше тоже что-то подобное через общий модуль пришлось делать А вот здесь &НаСервере Реквизиты readonly штоль? почему он выводит (Сообщить), а не пишет? Так уж интересно просто
#13 by gmax007
{ОбщийМодуль.МойОбщийМодуль.Модуль}: Значение не является значением объектного типа (ЗакупочнаяЦенаРуб) В чем может быть дело?
#14 by Капитан О
в СтрокаТабличнойЧасти
#15 by gmax007
Ну это я понял, а как мне посчитать то ее в общем модуле?
#16 by Капитан О
присвоить туда строку ТЧ, а не всякую хню
#17 by gmax007
А собственно почему СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные; текущие данные это же вроде когда пользователь выделяет строку в ТЧ, а у меня должен просто дату курса доллара менять и вся ТЧ тутже пересчитываться
#18 by Капитан О
кажется, начинает работать мозг
#19 by gmax007
Помогите, как мне данные из поля строки передать в общий модуль и там их перезаписать
#20 by cw014
Я подозреваю, что на форме таблица никак не связана с ТЧ
#21 by Капитан О
передавай данные из данных
#22 by gmax007
Все связано, она у меня заполняется из документа-основания, дефолтными данными которые я ей даю при обработке заполнения,там из документа-основания дата переходит в дату курса доллара и прям обработке заполнения все считается, а вот надо чтобы еще пользователь мог эту дату изменить вручную, и при изменении пересчиталось
#23 by cw014
Ну не знаю. Если увижу картинку - отвечу, иначе вариантов мильон
#24 by gmax007
Можно попроще я не профессионал, данные из данных это что конкретно вот например мне нужно передать в общий модуль данные строки Я передаю стр = ЭтаФорма.Элементы.ИмяТЧ.(а здесь что только не пробовал) Я понимаю что я не сами данные а форму передаю Приведите пожалуйста пример что за данные из данных
#25 by Капитан О
пример: РассчитатьТЧ(ТЧ)
#26 by gmax007
Вот форма документа, функцию которая получает курс доллара на дату я написал и этот курс как раз хочу передать в общий модуль да пересчета колонки ТЧ [URL=]
#27 by gmax007
#28 by cw014
Код в студию
#29 by gmax007
Общий модуль (должно считаться типа того и переписать данные ТЧ) Для каждого цикл строка.ценаРуб = строка.ценаДол*Курс конеццикла
#30 by Капитан О
ПересчетДолларовВРублиНаУказДату - вот тут пиши верный код
#31 by gmax007
В Курс записывается правильный курс из регистра, а ПересчетДолларовВРублиНаУказДату(ДатаКурса) в модуле объекта у меня, тут нормально я получаю курс, который можно передать в общий модуль, а если не оптимизировано, то это потом буду смотреть
#32 by cw014
Убирай этот фееричный бред
#33 by gmax007
что мне  передать вместо моего бреда в общий модуль чтоб можно было пересчитать ТЧ
#34 by Капитан О
дату, если она не является реквизитом
#35 by cw014
Элементы.ТвояТЧ.ТекущиеДанные
#36 by Капитан О
скажи как умный товарищ, зачем без формы пересчитывать то, что живёт только на форме? (у автора так же?)
#37 by cw014
Понятия не имею. Я весь код не вижу, да и задача до конца мне не ясна. Она так то в течение 5 минут решается
#38 by Капитан О
задача - пересчёт ТЧ. как в букваре радченко при изменении цены пересчитывается сумма. только у радченко вынесение кода в ОМ оправдано (данные пересчитываются без формы), а зачем автор захотел использовать модуль обработки - ещё вопрос
#39 by gmax007
Данные = Элементы.ТаможенныеРасходы.ТекущиеДанные; уже тип Неопределено
#40 by gmax007
я ж пробовал так сто раз текущиеданные, текущаястрока толку нет
#41 by Капитан О
зачем тебе элементы? зачем тебе текущая строка?
#42 by cw014
Логично, строка то не выбрана Делай так:
#43 by gmax007
именно как у Радченко, только там строка становиться текущий, потому что пльзователь на ней стоит и меняет цену (вроде) , а у меня при изменении даты, которая в шапке а не ТЧ
#44 by Капитан О
поэтому тебе надо переработать всю таблицу
#45 by cw014
см
#46 by Капитан О
а я за цикл в ОМ
#47 by gmax007
вот я и прошу, чтоб ткнули что нужно в таком случае вместо текущейстроки передавать, чтоб тип был у данных и посчитать
#48 by gmax007
тоже самое все там передается СтрокаТЧ (которую как раз я и не знаю как получить), вопрос не вцикле и в аргументах, а в том какую строку (как получить) (или же поле) передать для подсчета
#49 by gmax007
Напиши что есть СтрокаТЧ из приведенного примера
#50 by cw014
Тебе готовое решение твоей проблемы написали
#51 by cw014
СтрокаТЧ из приведенного примера - это ДанныеФормыЭлементКоллекции
#52 by gmax007
#53 by cw014
>
#54 by cw014
Либо данная колонка не связана с реквизитом
#55 by Капитан О
я вообще понял, что у него всё на форме живёт
#56 by gmax007
может я что-то непонимаю про житье на форме ну я писал что реквизиты заполняются/считаются еще при создании этого документа на основании другого вот реквизиты, связаны они, я табличную часть наформу перетаскивал реквизитом
#57 by gmax007
Через Объект. можно обратиться к ТЧ
#58 by gmax007
То есть я могу обратиться Объект.ИмяТЧ, но не могу Объект.ИмяТЧ.Реквизит, так должно или не должно быть?
#59 by Капитан О
какая из трёхсот строк имеется в виду во втором случае?
#60 by gmax007
О = Объект.ТаможенныеРасходы.ЗакупочнаяЦенаРуб Прогнал через отладчик - поле объекта не обнаружено, может заново весь док и форму построить
#61 by Капитан О
а на вопрос ответь
#62 by gmax007
говорю же Объект.ТаможенныеРасходы.ЗакупочнаяЦенаРуб не работает а Объект.ТаможенныеРасходы. Эти случаи имеешь виду?
#63 by cw014
Я пасс, я уже не знаю как объяснять. Уже на пальцах разжевали и в рот положили, он все равно свое гнет
#64 by gmax007
не гнул бы если работало
#65 by Капитан О
какая строка?
#66 by Капитан О
пока будешь гнуть, не заработает
#67 by gmax007
писал же сто раз Объект.ТаможенныеРасходы.ЗакупочнаяЦенаРуб
#68 by Капитан О
в ТЧ тысяча строк. закупочную цену какой ты сейчас показал?
#69 by gmax007
Ладно, буду заново форму строить или весь документ
#70 by gmax007
Короче все по другому сделал. Теперь пользователь у меня не будет менять дату курса, а будет ее указывать в окне обработки (а также записываться в константу), которая создает документ и передает управление обработке заполнения на основании, которое также будет указано в окне обработки, так даже лучше потому что не будет дефолтного заполнения , которое будет не на нужную дату, а сразу. А те расчеты чот у меня не получились также считаются в заполнении но у же с нужным курсом на дату(из константы)
#71 by Капитан О
спорим, константа тут на фих не нужна?
#72 by gmax007
Возможно не нужна. Не знал как проще данные из общего модуля передать в модуль объекта моего документа, ну работает эта часть пока, оптимизировать потом мож буду
#73 by Капитан О
оптимизация - это о другом. в твоём случае делать правильно нужно
#74 by gmax007
Да я хочу побыстрей доделать документ, регистры евошние потом ну и отчеты, показать экономистам что себестоимость так как им нужно считается)) торопют целыми днями. А вообще у меня получается что из обработки после ОткрытьФорму выполняется обработка заполнения, я не знаю как передать основание и дату курса (указанные в окне обработки) в нее из ОткрытьФорму, а вот додумался через константы. примитив конечно же, зато доволен что считается
#75 by Капитан О
спешка нужна лишь при ловле блох
#76 by gmax007
странно &НаСервере Здесь не записывалось в Стр.ЗакупочнаяЦенаРуб Позже делал подобную вещь только распределение себестимости там было Для Каждого стр из Объект.ТаможенныеРасходы Цикл   Стр.Расходы = Стр.ЗакупочнаяЦенаРуб ну и формула расчета;   КонецЦикла и все в Стр.Расходы записалось
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С