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

Тема в разделе "1C и всё что с ней связано", создана пользователем bremlin, 10 ноя 2008.

  1. bremlin

    bremlin Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

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

    bremlin Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    так.. один из нас чего-то не понимает
    функция формат - определяет в каком виде будет отображатся значение переменной (в твоем случае ДатаКвитанции). если тебе нужно чтобы дата была всегда 10е, а месяц и год выбирался - одно дело, а если тебе сразу в доке нужно проставить текущую либо какую другую дату - другое дело. вообщем сформируй понятно свой вопрос и напиши платформу
     
  5. bremlin

    bremlin Гость

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    А что значит - высчитывалось? Есть ли какая-то входящая дата? От чего считаться должно?
     
  7. bremlin

    bremlin Гость

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

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

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Вряд ли это оптимально, но работать будет 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");

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

    bremlin Гость

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

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

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

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Можно. только знаешь в чем тебе нужно эту строчку искать? там, в каком поле справочника или документа?
     
  11. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    if Find(СтрокаДляПоиска,СтрокаПоиска) = 0 then - не подходит разве ?
     
  12. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

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

    bremlin Гость

    Большое и лохматое вам спасибо!
     
  14. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Да не за что! учи матчасть :)
     
Загрузка...
Похожие Темы - Умножение строковых
  1. student22rus
    Ответов:
    1
    Просмотров:
    2.445
  2. Rolana
    Ответов:
    0
    Просмотров:
    1.288

Поделиться этой страницей