Пересчет строк ТЧ #22285


#0 by cnor
Имеется документ с табл частью. В нем есть реквизит "Количество" с Формулой по пересчету других реквизитов. Програмно изменяется количество. Как сделать так чтоб при програмном изменении выполнялась формула в реквизите ТЧ "количество". Т.е. в общем случае при изменении (програмном)значения в строке формулы в остальных реквизитах пересчитывались автоматически. Форма. Обновит - не прокатывает.?
#1 by 101
и не прокатит
#2 by cnor
А как?
#3 by Муму после всплытия
КонецЦикла
#4 by cnor
Перебор конечно решение... Однако, неакуратненько.Опять же если изменили в одной строке. То весь документ перемчитывать. А если строк 200 - 300. Все остальные *99 будут молотится вхолостую...
#5 by Zerg
Чет я не понял... ты же знаешь в какой строке ща изменяешь количество (программно)
#6 by ValeraVV
ТаФормулаПересчета после изменения количества
#7 by 101
4. ;
#8 by cnor
To 101. Ну да...Мы тут крутые перцы... Это не мы не понимаем. Это вы вопросы неправильно задаете.
#9 by Муму после всплытия
уважаемый, а что вы хотите услышать?? вопрос то выеденного я й ц а не стоит.................
#10 by cnor
хотел бы слышать диалог спрашивающего и отвечающего (если кого заинтересовало).А не получать ссылки на правила задавания вопросов.Вы прходите к врачу и говорите " У меня болит голова", а вам " Вопрос задан неправильно. Почитайте правила завания вопросов на первом этаже в регистратуре". " Досвиданья".Мягше надо быть. Люди за помощью сюда идут ,а не правила задавания вопросов читать.
#11 by Xon
Тебе же в 5 ответили уже....Если ты изменяешь строку программно, то ты знаешь КАУЮ строку изменяешь, вот к ней и применяй формулу, а не ко всем....
#12 by Skifi
На Mиcтe хуже. Там "Бивень" всех мочит..Здесь еще побожески.ЗЫВ свойствах колонки ТЧ в формуле напищи вызов функции пересчета. ;)
#13 by cnor
Продолжаем разговор. Это применимо если ты обрабатывешь этим кодом один конкретный документ. В этом случае можно прописать обращение к процедурам из формул. А если обрабатывать разные документы. В которых в реквизите ("Количество" скажем могут быть разные формулы. Это значит надо надо прописывать в зависимости от вида документа свои процедуры. И опять бесконечные Если ВидДокумента="...." Тогда , ну и т.д.
#14 by cnor
Собственно вся бодяга затевается для проверки дублей строк.Если дубли есть - можно свернуть построчно. Но опять же состав колонок в разных документах разный. Опять упираемся в необходимоть действовать в зависимости от вида документа.Надо как то пересчитывать формулы в колонках не зависимо сколько их и какие там формулы.
#15 by cnor
Что нибудь вроде ПересчитатьВсеФормулыСтроки...
#16 by Deryni
Никак ты это не сделаешь. И то, что предложили в подойдет только если делать такой пересчет в модуле формы списка документа.Если хочешь сделать универсальную то придется писать что-нить вроде (это конечно грубовато, но результат даст):Исключение КонецПопыткину и т.д. для каждого вида реквизита. Других способов насколько я знаю нет.
#18 by 101
17. это не то на чем настаивает ЗЫ извините нас убогих , плохопонимающих ;)) ртфм наверное это
#19 by miki
Я отвечал на
#20 by cnor
To 101. Да ладно... :)Мнда... Вот и я долблюсь почти весь день. Не выходит каменный цветок. (Цитата из П.Божев "Каменный цветок").А хотца.Придется перебором...
#21 by cnor
Для того чтоб свернуть поля надо указать по каким сворацивать , а они в разных доках - разные.
#22 by 101
21. не взлетит по любому , только если не давать вводить или поставить условие по одной ! цене один товар ! с округлениями не получится
#23 by cnor
Хм... А это мысль проверять на дубли не после ввода всего, а по мере ввода.Выбрали товар, поверили на дубли, есть дубль - сообщили, отменили ввод (удалить текущую строку). тогда дублей точно не будет.Правда при больших документах ввод подтормаживать наверно будет.Принято к испытанию.
#24 by cnor
И изменять товар уже подобраный - запретить.Только новая строка.
#25 by cnor
Хотя не обязательно, при интнрактивной смене товара можно прописать формулы пересчета всего остального. Это же не програмно...
#26 by cnor
Коротко - решение проблемы дублей строк.Проверку на дубли осуществлять при подборе товара.При смене подобраного товара, в ПриОкончанииРедактированиСтроки проверять на дубли. Если не дубль в бой вступают процедуры прописаные в колонке товар. А если дубль... количество в изменяемой строке измеряется на количество уже имеющееся, старая дублирующая строка удаляется. В новой вступают в бой прописаные процедуры.Кажется все.
#27 by Арбайтн унд дисципли
Если в табличных частях нет числовых полей, которые не надо сворачивать или ты заранее знаешь их имена (типа "Коэффициент"), идешь по метаданным, по реквизитам табличной части и подготавливаешь две строки: поля-числа в одну, поля-не-числа в другую. Вот эти строки и пишешь в Свернуть
#28 by 101
философ :))
#29 by Арбайтн унд дисципли
Ник обязывает ;)
#30 by 101
27. ты читал пост ? нет ? хмм ну прочти что ли ... для было , так шо извинннн'и ;))
#31 by cnor
Можно и с методанными замутить...Но мне кажется хлопотно это.
#32 by miki
Забал. Велосипед давно уже изобрели.Своруй из типовой ТиС.
#33 by 101
31. не взлетит если одинаковый товар по разной цене то как не бейся а не свернешь строчки никак !!!ЗЫ ессно не во всех случаях
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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