• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Умножение строковых...

  • Автор темы bremlin
  • Дата начала
B

bremlin

Доброго времени суток. Возникла необходимость в одном документе выводить еще одну секцию, и чтоб она выводилась при условии:
Если (Формат(СальдоКонец,"Ч-15.2.,") > Формат(ИтогоСуммаПоСчету,"Ч-15.2.,"))*2
Но выдает ошибку "Операция умножения не определена для строковых величин".
Я если честно, думал что "Формат()" эту проблему решит, но не вышло. Помогите пажалста кто может.
 
K

KiR

а формат и не должен эту проблему решать! я бы написал так:
Если Число(СальдоКонец) > Число(ИтогоСуммаПоСчету)*2
или еще проще
Если СальдоКонец > (ИтогоСуммаПоСчету*2)
хотя смотря какой тип имеют переменные СальдоКонец и ИтогоСуммаПоСчету
 
B

bremlin

Тут конечно будет немного не в тему, но по тому же документу просто:rolleyes:
Есть скажем дата документа
[Формат(ДатаКвитанции,"ДДДДММММГГГГ")]
А как добавить автоматом в документ дату?:
10(число).Следующего месяца.год
Т.е. число должно быть константой.
 
K

KiR

так.. один из нас чего-то не понимает
функция формат - определяет в каком виде будет отображатся значение переменной (в твоем случае ДатаКвитанции). если тебе нужно чтобы дата была всегда 10е, а месяц и год выбирался - одно дело, а если тебе сразу в доке нужно проставить текущую либо какую другую дату - другое дело. вообщем сформируй понятно свой вопрос и напиши платформу
 
B

bremlin

7.7 Бух
Нужно чтоб при формировании таблицы, в одной ячейке высчитывалось 25 число текущего месяца, а в другой 10 число следующего месяца.
 
K

KiR

А что значит - высчитывалось? Есть ли какая-то входящая дата? От чего считаться должно?
 
B

bremlin

Есть ТекущаяДата. ТекущаяДата() #Д ММММГГГГ вот например. Выдает Ноябрь 2008г. Мне нужно чтоб в одной ячейке было 25 Ноября 2008г., а в другой 10 Декабря 2008г.

А в последующие месяцы, чтобы название месяца само собой менялись.
 
V

vbs

Вряд ли это оптимально, но работать будет 100% !
WorkDate = WorkingDate();
Для 25 числа текущего месяца
D = "25";
WDate = Date(D +"."+String(GetMonth(WorkDate))+"."+String(GetYear(WorkDate)));

Для 10 числа следующего месяца
D = "10";
WDate = Date(D +"."+String(GetMonth(WorkDate)+1)+"."+String(GetYear(WorkDate)));

Соответственно дата на печати -
DateToPrint = Format(WDate,"D DDMMMMYYYY");

Да, для декабря чуть изменить алгоритм - сам справишься, надеюсь
 
B

bremlin

Вот очень большое спасибо Vbs! :( Жаль только нельзя проверить с другими месяцами, при смене месяца в винде ручкам, 1С вообще не выводит дату:) А если менять в биосе, то при заходе в винду дата снова меняется. Так что проверим на деле в будущем.

И еще один вопрос.
Можно ли как-нибудь сделать проверку на условие если в текущей строке нет определенного слова?
Например строки:
"АААА ББББ ХХХХ ВВВВ"
"ГГГГ ДДДД ЕЕЕЕ"
"тыртыр"
"бырбыр ХХХХ"

И вывести строку если в ней нет "ХХХХ"
Нужно просто добавить еще одно условие к существующему:
Если (Число(СальдоКонец) > (Число(ИтогоСуммаПоСчету))*2) Тогда
Таб.ВывестиСекцию("Уведомление")
КонецЕсли;
 
K

KiR

Можно. только знаешь в чем тебе нужно эту строчку искать? там, в каком поле справочника или документа?
 
V

vbs

if Find(СтрокаДляПоиска,СтрокаПоиска) = 0 then - не подходит разве ?
 
K

KiR

Ему видимо нужно так:
Если (Число(СальдоКонец) > (Число(ИтогоСуммаПоСчету))*2) И Найти(СтрокаДляПоиска,СтрокаПоиска) = 0 Тогда
Таб.ВывестиСекцию("Уведомление")
КонецЕсли;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!