Как сформировать строку с выражениями

Тема в разделе "1C и всё что с ней связано", создана пользователем Дайнеко, 24 ноя 2010.

Статус темы:
Закрыта.
  1. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Переискал функции 8-ки, а Шаблона() нетуть! Никто не встречал?

    А как-то надо решить задачу расшифровать текст. В 7-ке лихо так было:
    Код ( (Unknown Language)):
    ТекстШаблона = "Ваш долг [Сумма] [Валюта]."
    ТекстПримечания = Шаблон(ТекстШаблона);
    Подскажите, А?
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Никогда не пользовал в 7-ке. А что должно сделаться?

    В данном случае можно просто сложить.
    И, как я понял, шаблон в чем-то схож с Выполнить() и Вычислить().
     
  3. Mirage

    Mirage Гость

    Такого нет ничего - но что то простое можно запросто написать.
     
  4. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Я так и думал! Нет, я точно знал!
    Что мне предложат слепить выражение через плюсики и намекнут, что я не читал про Вычислить() и Формат(). (Выполнить() чуть не стой оперы).

    unknown181538! Спасибо за реакцию, но проблема глубжее: я не знаю в момент написания программы, какой текст надо сформировать. Он достается из недр параметров программы (например, в константе, я еще писал во внешнем файле).

    Один клиент мне говорит: я набрал сумму, а пусть программа в документе напишет:
    "Пож. заплатите долг 500 руб.". Я пишу в константе: "Пож. заплатите долг [Сумма] [Валюта]." Где в скобках известные программе реквизиты документа или переменные.
    А в другой базе будет текст: "[Клиент], зараза! Гони бабки [Сумма] и проценты на них [Сумма/100*Штраф]."

    Вот так я решаю проблему генерации различных текстов не меняя программу.
     
  5. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А если СтрЗаменить как-нибудь скобки на кавычки и плюсики, а затем вычислить?
     
  6. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Да лишне заменять. Саму строку набирает программер-настройщик. Только что не в теле программы, в настройках. Поэтому просто будет набирать кавычками и плюсиками.

    Я хотел убедится, что действительно есть такой регресс с функцией. Запись в старом виде намного нагляднее и проще, что даже в обычном модуле от лени писал фразы типа:
    Заголовок = Шаблон("[ПарДанные.Клиент] ТН № [ПарДанные.НомерДок] от [ПарДанные.ДатаДок]");
    Вывод = Шаблон("Npp1=[НомерСтроки]~Name1=[Сотрудник.Наименование] [Сотрудник.Имя] [Сотрудник.Отчество]~Nch1=[СокрП(Сотрудник.СчетКарт)]~Sum1=[Сумма]");
     
  7. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Можно создать функцию, и поместить в глобальный модуль.
    Вообще-то, действительно попроще писать, чем кучу кавычек. Надо взять на вооружение.
     
  8. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    :) :) С плюсиками-то и кавычками покороче будет

    Заголовок = Шаблон("[ПарДанные.Клиент] ТН № [ПарДанные.НомерДок] от [ПарДанные.ДатаДок]");

    Заголовок = ПарДанные.Клиент+" ТН №"+ПарДанные.НомерДок+" от "+ПарДанные.ДатаДок;
     
  9. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    А представьте, что иногда программирую вывод на печать текста договора. Там по всему тексту разбросано пяток цифр. И плюсиками лепить строки целых абзацев никак не радует.

    А вообще, я удручен восьмеркой в отношении макетов печати. Писал об этом: http://codeby.net/forum/threads/37922.html
    А сегодня обнаружил, что понятие "Шаблон" совсем изничтожено как рудимент.
     
  10. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Да, создавать макеты часто более трудоемко.
    Понятие шаблона в какой-то степени сохранилось в макете.

    По поводу макетов слышал, что это сделано, чтобы ускорить вывод.
     
  11. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Дискуссия перевалила далеко за полночь. Неужели многие, подобно мне, не спят до пяти часов ? :)
     
  12. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Ох... хорошо если до 5-ти.
    Пытаюсь вылезти из периода, когда я ложился в 10 утра. Невесело)
     
  13. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Ну, это-то точно излишне. Я вот пытаюсь на сон с 3 до 11 перейти. Получается плохо :)
     
  14. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Весть полезная ссылка на раздел вцелом.
    Вот так вот ленишься лазить по первоисточникам.
     
Загрузка...
Статус темы:
Закрыта.

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