Загрузка ТЗ в табличную часть документа #614619


#0 by Kashey
Управляемое приложение. Результат запроса, выгруженный в ТЗ, пытаюсь загрузить в табличную часть документа &НаКлиенте Процедура ТипЦеныПриИзменении(Элемент) содержимое общего модуля &НаСервере Открываю существующий документ и меняю тип цен. Цены на форме остаются прежние, хотя должны выставиться в соответствии с запросом. Почему не обновляется содержимое формы документа?
#1 by shuhard
[Документ.ПолучитьОбъект.Товар.Загрузить(Результат);] ну и у какого объекта ты ТЧ загрузил ?
#2 by salvator
А где ты цену определяешь?
#3 by Kashey
Вручную в независимом регистре сведений ЦеныНоменклатуры
#4 by DrShad
в коде где?
#5 by Kashey
Опеределяю запросом срез последних цен на дату документа
#6 by DrShad
и что?
#7 by salvator
Ткни пальцем в строчку запроса
#8 by Kashey
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦены.Ссылка = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних
#9 by DrShad
ну и нахрена ты его присоединил? что-то получил из него в выборку данных?
#10 by Любопытная
а дальше? Где у тебя эта самая ЦеныНоменклатурыСрезПоследних используется для расчета суммы в ТЧ?
#11 by salvator
К тому же метод Загрузить очищает строки в ТЧ. И колонка с ценой у тебя должна очиститься, что никак не вяжется с "Цены на форме остаются прежние"
#12 by Kashey
В ТЗ получается нужный мне набор данных. Запрос отрабатывает нормально вроде, но в форму дока, точнее в таб.часть не попадают новые цены.
#13 by Mort
То что автор суёт свою ТЗ в абсолютно левый ДокОбъект (который живет то всего пару строк) никого не смутило?
#14 by shuhard
как это не смутило ?
#15 by Mort
+ Даже не пару строк, а одну, и то с натяжкой ))
#16 by Mort
А, пропустил. Как и автор, походу...
#17 by shuhard
ну нет в выборке цены, хоть ты лопни    "ВЫБРАТЬ        |    ПоступлениеТовараТовар.НомерСтроки,
#18 by Aprobator
жуть то какая.
#19 by Kashey
Снеговика недавно ковыряю, так что извиняйте... почему левый? ссылка на текущий документ по-идее?
#20 by shuhard
[ссылка на текущий документ по-идее] ну здравствуй пятница
#21 by Aprobator
+ если вкратце: Документ.ПолучитьОбъект на выходе дает нефига не тот объект, с которым взаимодействует открытая форма.
#22 by Aprobator
почитай еще в СП про РеквизитФормыВЗначение и ЗначениеВРеквизитФормы.
#23 by Mort
РеквизитФормыВЗначение тут, конечно, нахер не нужен, но почитать всё равно стоит.
#24 by Kashey
Странно, в отладчике кажет ссылку на мой док
#25 by Aprobator
ссылка <> Объект.
#26 by Aprobator
просвети, как тогда ТЧ Объекта перезаполнить методом в ?
#27 by Kashey
ааа. сорри, речь шла про получитьобъект
#28 by Mort
Объект.Товары.Загрузить(ТЗ); ДанныеФормыКоллекция прекрасно жрет таблицы значений, получать объект тут не нужно.
#29 by Aprobator
результат запроса - скушает?
#30 by Aprobator
+ ну в принципе там ТЗ на выходе. Пасиб.
#31 by Mort
Результат запроса не скушает. Скушает ТЗ полученную выгрузкой из результата запроса. Ну если в терминах.
#32 by Aprobator
ну так понял - чего сделать то надо?
#33 by Kashey
каким-то образом получить контекст объекта для моего дока?
#34 by Aprobator
Объект передай на сервер и там заполняй его.
#35 by Mort
Он там уже есть.
#36 by shuhard
#37 by Aprobator
кстати, это самописка такая что ли? Нафига из за одного конкретного документа, это все в общий модуль вытаскивать?
#38 by Mort
А блин, это ещё общий модуль? Не. Без серверного вызова в форме не взлетит. Теоретически можно но зачем такой гимор?
#39 by Aprobator
в общий модуль как бы более широкого назначения вещи выводятся. Посмотри типовые конфигурации. Впрочем, с нуля, это тяжеловато будет.
#40 by Aprobator
да учится чел. Я сам там конструктор с первого раза не увидел. Меня еще - ЭтаФорма.ОбновитьОтображениеДанных убило. Чего я в сторону  РеквизитФормыВЗначение то кинулся.
#41 by Kashey
Перенести сереверную процедуру в модуль формы документа и передавать в неё объект вместо объект.ссылка, я правильно понял?
#42 by DrShad
в Модуль объекта, а не формы
#43 by Mort
хм. походу быстрее будет так...
#44 by Aprobator
общий модуль используется для вещей более широкого назначения.
#45 by Aprobator
ну только в данном случае нужна контролька, что документ не новый.
#46 by Aprobator
да и экспорт в данном случае не нужен.
#47 by Mort
+ Кошерно конечно вынести процедуру в модуль объекта и заполнять через тот же ЗначениеВРеквизитФормы. Но это уже можно и потом вынести после того как из формы работать будет. Ха. Только вникнул в запрос.... Блин всё не то.
#48 by Aprobator
а вообще, заполнение и изменение табличных частей обычно выносится в модуль объекта со словом экспорт, на случай их использования в случае программного создания объекта.
#49 by Aprobator
дык - вечер четверга. Пятница почти. Против биоритмов не попрешь. Мозг уже отключается ))))
#50 by Mort
Запрос надо делать по ТЗ табличной части с временными таблицами и т.п. Иначе это лажа.
#51 by Kashey
Да, до кучи и с запросом чето намудрил я (
#52 by Aprobator
возьми та ты мил человек учебник Радченко и пройди его. Таким самотыком учиться - ну его нафиг. Карму себе - однозначно испортишь. +100500 согласен.
#53 by Aprobator
+ у франей набор по обучению программированию Цена вопроса где то 600 рублев.
#54 by Aprobator
у тебя просто самого подходе еще нету к решению подобных задач.
#55 by Kashey
Господа, гляньте подправленный вариант. Так лучше? Модуль формы дока &НаСервере Модуль объекта дока
#56 by salvator
Хотя б синтаксис что ль проверил бы.
#57 by DrShad
однокуйственно
#58 by Kashey
а что с синтаксисом? там просто процедуры из 2-х модулей разных, так скопировалось Как в советовали перенёс в модуль объекта процедуру заполнения ТЧ дока, ну и запрос подредактировал.
#59 by DrShad
а цену то он у тебя не выбирает - результат не достигнут
#60 by salvator
Ты синтаксис контроль выполнял? У тебя как минимум в последней строке ошибка
#61 by Undefined
в модуле объекта необязательно было это делать. Вполне с данными формы можно работать было.
#62 by Kashey
Ну вроде вот эта строка выбирает цену из вирт.таблицы
#63 by Kashey
->
#64 by DrShad
сорри, ожидал увидеть ее в конце
#65 by Aprobator
Внутреннее соединение убьет строки с номенклатурой без цен. И запрос надо делать не по документу (документ может быть тупо не записан, например, и тогда запрос вообще ничего не даст или состояние ТЧ на форме не соответствовать той, что записана в базу), а выгрузить ТЧ с формы документа и уже ее пихать в запрос (временная таблица и пакетный запрос).
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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