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

Изменение табличной части выбранных пользователем документов

Автор kssh24, 19 янв 2023, 16:06

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

LexaK

kssh24,
Цитировать2 месяца назад подалась в программирование,
эээ, с таким подходом к программированию далеко не уйдете.
(ну ладно это лирика) по поводу задачи
(если бы выложили текст кода текстом а не картинкой, было бы понятнее)

в цикле делаете несколько проверок
1.проверяете строку на соответствие ценам (Мин Макс)
2.спискеНоменклатуры ищите/проверяете Номенклатуру
если эти условия не выполняютя добавляете команду Продолжить

и дальше код как у вас на картинке

СтрокаДок.Цена = СтрокаДок.Цена * 1.5;
... и т.д.
если помогло нажмите: Спасибо!

kssh24

Максим75, я это понимаю)
но у нас получается может быть много условий если заполнена номенклатура, если заполнена номенклатура и макс.цена, если заполнена только макс.цена и тд
при этом если ничего из этого не заполнено, то цена должна измениться у всех

LexaK

kssh24, просто условия проверок немного сложнее
Если МинЦена = 0 и МаксЦена = 0
или СтрокаДок.Цена >= МинЦена и СтрокаДок.Цена <= МаксЦена Тогда
//Проверка по цене не задана, или текуща Цена попадает в проверку
//будем обрабатывать
Иначе
//проверка по цене не прошла, пропускаем
Продолжить;
КонецЕсли;

Если <Проверка товара> = НеПрошла Тогда
Продолжить;
КонецЕсли;

и др.проверки добавляете, Если какая то проверка не прошла, то строчка с товаром документа пропускаетя
только когда все проверки выполнятся положительно, у вас произойдет пересчет цены.

если помогло нажмите: Спасибо!

kssh24

LexaK, но по данному условию ничего делать не будет, если указана только мин цена

Максим75

kssh24, так это вариант показан.
если выбрана только одна цена, добавляется конструкция ИначеЕсли МинЦена<>0 и СтрокаДок.Цена >= МинЦена Тогда

и так далее, можно еще кучу веток сделать.

ведь здесь дают алгоритм решения задачи, а не решают задачу вместо Вас.

LexaK

Цитата: kssh24 от 26 янв 2023, 15:28но по данному условию ничего делать не будет
будет, дальше, после проверок ваш код пересчета стоит в цикле,

а если только одна МинЦена указана - добавьте в условие еще одну проверку по МинЦене и еще одну по МаксЦене
я же написал в примере и др. проверки
я же не могу вместо вас все 100 проверок написать! У меня просто фантазии не хватает.
если помогло нажмите: Спасибо!

kssh24

LexaK, ребят, спасибо большое, я разобралась)
теперь буду знать, что так можно)

Теги:

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

Рейтинг@Mail.ru

Поиск