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

Если()

Автор Tesla, 17 окт 2014, 15:56

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

Tesla

Добрый день. Интересуюсь, есть ли в 1С аналог функции "ЕСли Иначе КонецЕсли" по типу СтрЗаменить(), т.е. для вычисления в строке ? Что-то не могу найти. Объясняю, что хочу. В "Перемещение" хочу вставить этикетку, которая будет показывать количество всего товара в накладной. Сейчас это работает так: в этикетке стоит формула "Кол-во"+СокрЛП(Итог("Количество")). Что не устраивает,так это что что в накладной одновременно могут быть товары с разными единицами измерения (кг, шт.). Как подсчитать количество отдельно для "кг" и для "шт." ? Что-то типа  Если(ЕдиницаИзм="кг",Итог(Количество),0). Спасибо.

Tesla

или вот так:
Итог(Если(ЕдиницаИзм="кг",Количество,0))

GRADUS

Цитата: Tesla от 17 окт 2014, 15:59
или вот так:
Итог(Если(ЕдиницаИзм="кг",Количество,0))

Итог(?(ЕдиницаИзм="кг",Количество,0))

Tesla

Ругается "Неверное имя реквизита". Но имена верные, так как 
?(СокрЛП(Единица)="шт.",Количество,0) отрабатывается нормально. Получается, что ?() в данном случае возвращает тип данных который не нравится функции Итог() Какой ? Строку ?     

Добавлено: 21 окт 2014, 10:43


Ну да, Итог() ведь требует имя реквизита, а ?() возвращает значение реквизита. Как быть ?

Yura063

Цитата: Tesla от 21 окт 2014, 10:37
Ругается "Неверное имя реквизита". Но имена верные, так как 
?(СокрЛП(Единица)="шт.",Количество,0) отрабатывается нормально. Получается, что ?() в данном случае возвращает тип данных который не нравится функции Итог() Какой ? Строку ?     

Добавлено: 21 окт 2014, 10:43


Ну да, Итог() ведь требует имя реквизита, а ?() возвращает значение реквизита. Как быть ?
Просто когда у вас не шт. то в итоге он запрашивает 0, разумеется в итоге нет реквизита 0!
Помогли, отблагодари!

Tesla

так что, решения нет ?

Yura063

?(ЕдиницаИзм="кг",Итог(Количество),0)
Скорее всего так!!!
Помогли, отблагодари!

has

Цитата: Yura063 от 21 окт 2014, 17:24
?(ЕдиницаИзм="кг",Итог(Количество),0)
Скорее всего так!!!
Наименование реквизита должна быть строка, тогда уж так. И если ЕдиницаИзм это справочник, тогда так попробовать
?(СокрЛП(ЕдиницаИзм)="кг",Итог("Количество"),0)

Tesla

не, камрады, не работает, т.е. считает всё подряд, игнорируя условие. Видимо Итог() не подразумевает какие-то параметры. Т.е., эта функция суммирует весь столбец по-умолчанию.

Yura063

Слушайте мы же не телепаты! Мы вам предлагаем вариант по вашему выложенному коду! А дальше с помощью отладчика смотрите почему у вас не попадают те или иные данные. 
Помогли, отблагодари!

Теги:
Рейтинг@Mail.ru

Поиск