Та проблема с которой вы столкнулись - это самое начало любой книги по 1с "для чайников". А поскольку вы уже дошли до Параметра сеанса, то можно сделать вывод, что читаете точечно, а надо бы все...
Нет, не точечно. Последовательно. Просто, одну книгу прочитал, а там пол книги про бухучёт(это не зря, почерпнул знаний), а вторая часть сразу описываются какие-то дикие функции и процедуры, которые мне как начинающему совершенно непонятны. Поэтому и начал читать, "строенный язык 1с программирования 8.1", но там не рассказывается ничего про модули и так далее, а только разъяснение самого языка.
Книжку в руки, и читать, читать и читать, а потом задавать вопросы если не понятно.
Та, читаю. Читаю книгу Встроенный язык программирования 1с 8.1. Но по ходу чтения всплывают вопросы, которые не раскрыты в книге или ещё не раскрыты. Вот и задаю их тут. Может посоветуете книгу ?
Подскажите пожалуйста как определить глобальную переменную через "Параметры сеанса". Я так понял, что в 8.2 глобальные переменные объявляются только через "Параметры сеанса". Читал, читал, но так понятной статьи и не нашёл. Подскажите, пожалуйста каким образом это сделать. Как можно в 8.2 объявить глоб. переменную через "Параметры сеанса".
Задача такова:
Сделать переменную Переменная 1 = "Добро пожаловать"
Вот чтоб я такую переменную со значением "Добро пожаловать" мог получить, к примеру, в модуле управляемого приложения. Может есть у кого-то ссылка на внятную статью по этому поводу?
Вот это я понимаю ответ Чётко и лаконично. Спасибо за ссылки.
Я так понял, что моя проблема была в том, что я процедуру "ПолучитьДваПараметра" писал в ОбщемМодуле в разделе "Общие Механизмы", а как я прочитал в статье - там раздел описания переменных недоступен.
Записал все две процедуры в "модуль управляемого приложения" и всё заработало.
Функция ПолучиДваПараметра(Параметр1, Параметр2) Экспорт
Параметр1 = 10; Параметр2 = 20;
Возврат Параметр1, Параметр2;
КонецФункции
И хочу я эти два параметра использовать в "модуль управляемого приложения" (делаю это не с какой-то целью, а просто разобраться как вызываются функции из других модуле и передаются параметры)
Про синтаксис-помощник я в курсе дела. Читал там. Только не понял почему ключ пишется в "..." и что после него идёт. Я думаю, что есть поразвёрнутей статьи про "структуру"
"Сообщить" вообще не выводит форматированый текст, не зависимо от версии платформы.
Я попробывал с "Предупреждение" и всё равно пишет ту же самую ошибку. Всё-таки проблема в том что у меня не 8.3 платформа ?
Процедура ПриНачалеРаботыСистемы()
Реквизит1 = Новый ФорматированнаяСтрока ("Сушку", ,WebЦвета.Красный); Предупреждение("Шла Александра по шоссе и сосала" + Реквизит1);
КонецПроцедуры
Ошибка: {МодульУправляемогоПриложения(18,21)}: Тип не определен (ФорматированнаяСтрока) Реквизит1 = Новый <<?>>ФорматированнаяСтрока ("Сушку", ,WebЦвета.Красный); (Проверка: Тонкий клиент)
"тип данных ФорматированнаяСтрока - доступен с версии 8.3"
Конфигурации у меня никакой не стоит, сам создавал чистую при старте. А вот управляемый или обычный интерфейс у меня я так и не понял. Как определить? И если у меня обычный, то как его сделать управляемым ? и нужно ли мне это делать? Просветите, пожалуйста. Буду премного благодарен!
У меня платформа 8.2. Есть ли команда "ФорматированнаяСтрока" в 8.2? Потому как мне пишет {МодульУправляемогоПриложения(12,21)}: Тип не определен (ФорматированнаяСтрока)
Подскажите, пожалуйста, как сделать в команде "Сообщить" некоторый текст жирным?
Есть вот такая команда сообщить:
Сообщить("Список сотрудников, которые проработали больше года |" + ЭлементМассива + "дней");
1. Так вот хочу чтоб фраза "Список сотрудников, которые проработали больше года" была написана жирным. Как это можно сделать ?
2. И как можно сделать чтоб у меня ЭлементМассива был написан курсивом ? ну или, если нельзя курсивом, то тоже жирным ? (хочу узнать как придать отдельно "ЭлементМассив" жирный шрифт.)
это был ответ. вы спраивали о назначении команды Возврат.
Оооо... спасибо огромное. Теперь понял. Доступно объяснили. Когда я через "Экспорт" обращусь, чтоб функция знала, что она должна передать, какое вычисление.
Если ДР_Месяц = ТД_Месяц и ДР_День = ТД_День Тогда
//Добавляю новый элемент в массив Массив.Добавить(Выборка.Наименование);
КонецЕсли;
КонецЦикла;
Возврат Массив;
КонецФункции
Собственно всё работает. Но это и естественно, потому что это задание из курса обучения 1с. НО есть несколько нюансов, которые в этом курсе не объясняют. В частности про возврат. Зачем его пишут и какое у этой команды смысловое значение. Подскажите, пожалуйста. Со всем, вроде, разобрался, а вот с этим... как-то не ладится.
Команда экспорт разрешает вызывать функцию из других модулей, но сама по себе она не вызывает никакую функцию/процедуру. Вы преднамеренно либо случайно путаетесь в терминологии и не хотите отвечать на наводящие вопросы, так что до момента Вашего ответа на мой вопрос прекращаю какие-либо комментарии в этом топике.
) Да, Вы не горячитесь:) Зачем мне предеамерено путаться в терменалогии?! Я ж только учусь и стараюсь разобрать, и пишу сюда, чтоб узнать правильно ои я понимаю вещи. Весь код выложу чуть позже как домой попаду. Он у меня дома. Из-за этого до сих пор и не выложил.
Командой экспорт вы не сможете обратиться к этой функции из другого места. Никак. А вообще напишите, как вы предполагаете использовать указанную выше функцию. Пример Вашего кода, как вы его видите.
Так а у меня она работает на экспорт. Я её экспортом вызываю из модуля управляемого приложения. А сам этот код пишу в общем механизме, потому как там можно обратиться к БД, в отличии от модуля управляемого приложения. И всё работает. Выдаёт мне Оповещение, если у кого-то День Рождения сегодня.
Да В данном контексте Массив - просто имя переменной и в этой переменной могут содержаться, вообще говоря, произвольные данные произвольной структуры. в то место, откуда Вы Вызвали эту функцию (то есть указали имя функции в своем коде).
То есть, я когда написал "Возврат Массив" даннные добавленные в массив командой Массив.добавить(Выборка.Наименование) Вернутся в место где я создал массив или вообще в начало всей функции? И зачем вообще делать такой возврат? Данные тогда не прочитаются из этого массива, если я обращусь к нем из другого места командой экспорт? Или для чего нужен этот возврат?
ЕстьЗначенияВВыборке = Выборка.Следующий();//Позиционируемся на следующей строке выборки и возвращаем истина если спозиционировались и ложь если значения закончились Пока ЕстьЗначенияВВыборке Цикл Сообщить(Выборка.Ссылка); ЕстьЗначенияВВыборке = Выборка.Следующий();//Позиционируемся на следующей строке выборки и возвращаем истина если спозиционировались и ложь если значения закончились КонецЦикла;
1. А массив зачем приписали? "Возврат Массив"? Куда конкретно меня отошлёт в моём коде, после того как я написал "Возврат Массив"? 2. Я читал в помощнике в 1с, что цикл заканчивается, когда он получает значение Ложь, но я не знал, что Ложь он получает, когда закончились элементы для перебора. Я правильно понял, что, когда мы пишем "Цикл", то действие впереди написанного слова "цикл" будет повторяться до того пока не закончатся элементы перебора?
Ааа.... вник вроде про "Цикл".
Пока "Здесь пишем условие при котором будет выполняться повтор, то есть Цикл" Цикл
А вот про "Выборка.Следующий" непонятно.
У меня в цикле условие Выборка.Следующий Что это значит дословно? То, что пока выборка переходит на следующий элемент (то есть есть на что переходить) и продолжается цикл? А когда закончатся, значит цикл прекратиться? Я правильно понял?
P.S. Извиняюсь за невежество в этом вопросе. Только учусь. Хочется разобраться во всём, чтоб потом не было пробелов в знаниях. Кстате говоря, никогда программированием не занимался, но тут попробывав, очень затянуло и очень понравилось. Никогда не знаешь, что будет Вам по душе )))
Если ДР_Месяц = ТД_Месяц и ДР_День = ТД_День Тогда
//Добавляю новый элемент в массив Массив.Добавить(Выборка.Наименование);
КонецЕсли;
КонецЦикла;
Возврат Массив;
КонецФункции
1.Разъясните, пожалуйста, что значит "Возврат Массив"? Не пойму, что эта команда делает. Что куда возвращает и что вообще происходит с массивом ? Массив я так понял это список значений, который мы насобирали из выбранного подходящих значений из справочника сотрудников? 2.Что значит "Пока Выборка.Следующий Цикл" ? Цикл я, вроде, понимаю - это значит, что пройдёт выборка все значения(поправьте, пожалуйста, если не так) А вот почему мы пишем вначале "Пока" и что значит "Выборка.Следующий"? В справочнике в 1с читал, но что-то не понятно.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!