Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 07:25
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Если()  (Прочитано 2002 раз)

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

Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
Если()
« Первое сообщение: 17 Окт 2014, 15:56 »
Добрый день. Интересуюсь, есть ли в 1С аналог функции "ЕСли Иначе КонецЕсли" по типу СтрЗаменить(), т.е. для вычисления в строке ? Что-то не могу найти. Объясняю, что хочу. В "Перемещение" хочу вставить этикетку, которая будет показывать количество всего товара в накладной. Сейчас это работает так: в этикетке стоит формула "Кол-во"+СокрЛП(Итог("Количество")). Что не устраивает,так это что что в накладной одновременно могут быть товары с разными единицами измерения (кг, шт.). Как подсчитать количество отдельно для "кг" и для "шт." ? Что-то типа  Если(ЕдиницаИзм="кг",Итог(Количество),0). Спасибо.


Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Если()
« Ответ #1: 17 Окт 2014, 15:59 »
или вот так:
Итог(Если(ЕдиницаИзм="кг",Количество,0))

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Re: Если()
« Ответ #2: 17 Окт 2014, 18:33 »
или вот так:
Итог(Если(ЕдиницаИзм="кг",Количество,0))

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

Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Если()
« Ответ #3: 21 Окт 2014, 10:37 »
Ругается "Неверное имя реквизита". Но имена верные, так как 
 
?(СокрЛП(Единица)="шт.",Количество,0)
отрабатывается нормально. Получается, что
?()
в данном случае возвращает тип данных который не нравится функции
Итог()
Какой ? Строку ?     

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

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

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Re: Если()
« Ответ #4: 21 Окт 2014, 11:07 »
Ругается "Неверное имя реквизита". Но имена верные, так как 
 
?(СокрЛП(Единица)="шт.",Количество,0)
отрабатывается нормально. Получается, что
?()
в данном случае возвращает тип данных который не нравится функции
Итог()
Какой ? Строку ?     

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

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

Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Если()
« Ответ #5: 21 Окт 2014, 16:57 »
так что, решения нет ?

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Re: Если()
« Ответ #6: 21 Окт 2014, 17:24 »
?(ЕдиницаИзм="кг",Итог(Количество),0)
Скорее всего так!!!
Помогли, отблагодари!

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Re: Если()
« Ответ #7: 23 Окт 2014, 09:36 »
?(ЕдиницаИзм="кг",Итог(Количество),0)
Скорее всего так!!!
Наименование реквизита должна быть строка, тогда уж так. И если ЕдиницаИзм это справочник, тогда так попробовать
?(СокрЛП(ЕдиницаИзм)="кг",Итог("Количество"),0)

Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: Если()
« Ответ #8: 23 Окт 2014, 09:52 »
не, камрады, не работает, т.е. считает всё подряд, игнорируя условие. Видимо Итог() не подразумевает какие-то параметры. Т.е., эта функция суммирует весь столбец по-умолчанию.

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Re: Если()
« Ответ #9: 23 Окт 2014, 14:46 »
Слушайте мы же не телепаты! Мы вам предлагаем вариант по вашему выложенному коду! А дальше с помощью отладчика смотрите почему у вас не попадают те или иные данные. 
Помогли, отблагодари!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 369
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal