Архив рубрики: ЗАПИСИ ПРОГРАММИСТА 1С

Строки в языке 1С 8.3, 8.2

Автор: | Ноябрь 8, 2019

&НаКлиенте Процедура ВыполнитьКод(Команда)       /// Как найти длину строки в 1с 8.3, 8.2   Сообщить(СтрДлина(«123456789»)); // 9       /// Как взять часть строки в 1с 8.3, 8.2   // как взять N символов слева Строка = «Иван Грозный»; Сообщить(Лев(Строка, 4)); // Иван   // как взять N символов справа Строка = «Иван Грозный»; Сообщить(Прав(Строка, 7));… Читать далее »

Математика (числа) в языке 1С 8.3, 8.2

Автор: | Ноябрь 8, 2019

&НаКлиенте Процедура ВыполнитьКод(Команда)       /// Как округлить число в 1с 8.3, 8.2   // до первого знака после запятой // случай когда (N + 1) знак < 5 Сообщить(Окр(321.123, 1)); // 321.1   // до первого знака после запятой // случай когда (N + 1) знак >= 5 Сообщить(Окр(321.163, 1)); // 321.2   // особый… Читать далее »

Массивы в языке 1С 8.3, 8.2

Автор: | Ноябрь 8, 2019

/// Как создать массив (сразу нужного размера) в 1с 8.3, 8.2 &НаКлиенте Процедура Пример1(Команда) // в массиве сразу 3 элемента Массив = Новый Массив(3); // инициализируем их значениями Массив[0] = 5; Массив[1] = Массив[0] * 2; // 10 Массив[2] = Массив[1] * 2; // 20 // выводим на печать Для Каждого ЭлементМассива из Массив Цикл… Читать далее »

СКД — вычисляемые поля

Автор: | Октябрь 8, 2019

В конструкторе СКД на закладке «Вычисляемые поля» можно создавать свои вычисляемые поля. Зачем нужны вычисляемые поля, если их можно создавать на уровне запроса? Не все поля можно описать с помощью запроса. Классический пример — использование функций СКД Массив (Array) и СоединитьСтроки (JoinStrings). В колонке вычисляемого поля «Выражение» нужно написать произвольное выражение, которое использует поля компоновки данных,… Читать далее »

Работа с файловой системой в языке 1С 8.3, 8.2 (в примерах)

Автор: | Сентябрь 4, 2019

&НаСервере Процедура ЧтениеИЗаписьФайловНаСервере()       /// Как записать произвольное значение в файл в 1с 8.3, 8.2   // любое сериализуемое (то есть превращаемое // в строку и обратно) значение можно сохранять // в файл, например, массивы, списки значений, строки // структуры и т.д. Числа = Новый Массив; Числа.Добавить(35); Числа.Добавить(67); ЗначениеВФайл(«c:\числа.txt», Числа); // эта функция работает только… Читать далее »

Выбор каталога и его сохранение

Автор: | Август 13, 2019

Процедура КаталогДляПолученияФайловНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; РежимДиалога = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалога); ДиалогВыбораКаталога.МножественныйВыбор = Ложь; ДиалогВыбораКаталога.Заголовок = «Выберите путь для сохранения файлов»; Если ДиалогВыбораКаталога.Выбрать() Тогда КаталогДляПолученияФайлов = ДиалогВыбораКаталога.Каталог; КонецЕсли; КонецПроцедуры

Модальное открытие формы в 1с 8. Как вернуть результат ОткрытьМодально()

Открытие формы модально — форма появляется на экране и блокирует другие окна, пока не будет закрыта. МодФорма = ПолучитьФорму(«ОсновнаяФорма»,ВладелецФормы); Результат = МодФорма.ОткрытьМодально(); Возникает проблема возврата результата, если форма не «для выбора» В описании функции ОткрытьМодально() написано:   Форма.ОткрытьМодально (Form.DoModal) ОткрытьМодально(<Таймаут>) Параметры: <Таймаут> (необязательный) Тип: Число. Время показа формы в секундах, по истечении которого форма будет закрыта… Читать далее »

Функции для работы со строками в запросе

Прямо скажем механизмов для работы со строками в запросах 1С мало. Во-первых, строки можно складывать. Во-вторых, от строки можно взять подстроку. Во-третьих, строки можно сравнивать, в том числе по шаблону. Вот пожалуй и всё, что можно делать со строками. ВЫБРАТЬ «Жизнь прекрасна!» либо реквизит таблицы, у которого тип СТРОКА: ВЫБРАТЬ Наименование ИЗ Справочник.Еда Сложение строк Для… Читать далее »

Принадлежность элемента к группе (ПринадлежитЭлементу)

Определить находиться ли элемент в указанной папке (группе) или нет вместо запроса можно использовать эту функцию Если ОбъектСсылка.ПринадлежитЭлементу(ЭлементСсылка) Тогда Сообщить(«Принадлежит»); КонецЕсли; Пример: Папка = Справочники.Контрагенты.НайтиПоКоду(«00000011»); Если Контрагент.ПринадлежитЭлементу(Папка) Тогда Сообщить(«Принадлежит»); КонецЕсли;