База знаний для 1С разработчиков


Метка: 8.х


  • Как изменить параметры фонового задания программно в 1С 8.х

    Предположим, что у нас существует некоторое регламентное задание, параметры которого мы ходим изменить в 1с. Ниже пример того, как можно изменить имя пользователя регламентного задания: Процедура УстановитьПользователяРегламентногоЗадания() // Формируем структуру под параметры рег. задания СвойстваРегЗадания = Новый Структура(); //СвойстваРегЗадания.Вставить(«Ключ»); //СвойстваРегЗадания.Вставить(«Предопределенное»); //СвойстваРегЗадания.Вставить(«Использование»); //СвойстваРегЗадания.Вставить(«Наименование»); СвойстваРегЗадания.Вставить(«ИмяПользователя»); //СвойстваРегЗадания.Вставить(«ИнтервалПовтораПриАварийномЗавершении»); //СвойстваРегЗадания.Вставить(«КоличествоПовторовПриАварийномЗавершении»); // Это ваша функция получения регл. задания по некоторому принципу,…


  • Как программно удалить строку в 1с 8.х

    Иногда при решении задач нужно удалить строку некоторой коллекции программно в 1с, например, таблицы значений или табличной части. Приведем пример для последней: Контрагенты = Объект.Контрагенты; // Некоторая таб. часть Количество = Контрагенты.Количество() — 1; Индекс = Количество; Для Сч = 0 По Количество Цикл Запись = Контрагенты.Получить(Индекс); Если ЗаписьНужноУдалить(Запись) Тогда // Если запись удовлетворяет некоторому…


  • Как программно открыть форму в 1с 8.х (Управляемые формы)

    Для программного открытия форм используется метод ОткрытьФорму(…) (недоступен на сервере!). Приведем простой пример кода, в котором пропишем открытие формы документа «Приобретение товаров поставщику» с отбором по некоторому контрагенту, код ниже: СтруктураОтбора = Новый Структура(«Контрагент», КонтрагентСсылка); Параметры = Новый Структура(«ЗначенияЗаполнения», СтруктураОтбора); ОткрытьФорму(«Документ.ПриобретениеТоваровУслуг.ФормаОбъекта», Параметры);   Карен ЛорянМеня зовут Лорян Карен. Я разработчик 1С и сделал этот сайт в…


  • Добавить колонку программно 1С 8.х

    Ниже пример простого кода для программного добавления колонки в произвольную таблицу значений в 1с: // создаем новую таблицу значений ТЗ = Новый ТаблицаЗначений; // Добавление нетипизированных колонок ТЗ.Колонки.Добавить(«Название»); ТЗ.Колонки.Добавить(«Регион»); // Добавляем типизированную колонку «КоличествоСотрудников» ТЗ.Колонки.Добавить(«КоличествоCотрудников», Новый ОписаниеТипов(«Число»));     Карен ЛорянМеня зовут Лорян Карен. Я разработчик 1С и сделал этот сайт в первую очередь для…


  • Запрос последние документы в 1с 8.х

    Приведем пример того, как в 1с получить последний документ запросом, в качестве примера возьмем Заказ клиента, для упорядочивания будем использовать секцию запроса УПОРЯДОЧИТЬ ПО, стоит отдельно отметить, что упорядочивание мы будем производить по моменту времени, а не дате, т.к. в одну секунду может существовать несколько документов, а момент времени обеспечит нам получение самого последнего документа, пример запроса…


  • Таблица значений в массив в 1с 8.х

    Ниже разберем 2 способа преобразования произвольной тз в массив в 1с: //Подготовим таблицу значений ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить(«Цвет»); СтрТЗ = ТЗ.Добавить(); СтрТЗ.Цвет = «Фиолетовый»; СтрТЗ = ТЗ.Добавить(); СтрТЗ.Цвет = «Черный»; СтрТЗ = ТЗ.Добавить(); СтрТЗ.Цвет = «Зеленый»; // Способ №1: Через прямой обход Массив = Новый Массив; Для Каждого СтрокаТЗ Из ТЗ Цикл Массив.Добавить(СтрокаТЗ.Цвет); КонецЦикла;…


  • Пустое значение в запросе 1с 8.х

    Для поиска в 1с пустого значения в запросе можно использовать следующий код, приведем примеры для разных типов данных: //1. Проверка на пустую ссылку Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ | НоменклатураПоставщиков.Ссылка КАК Ссылка |ИЗ | Справочник.НоменклатураПоставщиков КАК НоменклатураПоставщиков |ГДЕ | НоменклатураПоставщиков.Родитель <> ЗНАЧЕНИЕ(Справочник.НоменклатураПоставщиков.ПустаяСсылка)»; //2. Проверка на NULL Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ…


  • Как выгрузить запрос в 1с 8.х

    Разберем варианты выгрузки результата запроса в 1с: Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ | ЦеныНоменклатуры.Период КАК Период, | ЦеныНоменклатуры.Регистратор КАК Регистратор, | ЦеныНоменклатуры.НомерСтроки КАК НомерСтроки, | ЦеныНоменклатуры.Активность КАК Активность, | ЦеныНоменклатуры.Номенклатура КАК Номенклатура, | ЦеныНоменклатуры.Характеристика КАК Характеристика, | ЦеныНоменклатуры.ВидЦены КАК ВидЦены, | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.Упаковка КАК Упаковка, | ЦеныНоменклатуры.Валюта КАК Валюта |ИЗ…


  • Тип колонок таблицы значений в 1с 8.х

    При решении определенного вида задач возникает необходимость однозначно определить тип колонок таблицы значений в 1с, в этом нам поможет объект «ОписаниеТипов» и различные квалификаторы типов, предназначенные для управления допустимыми типами значений, возможная реализация ниже: ЗнакНеотрицательный = ДопустимыйЗнак.Неотрицательный; // Ниже описываем квалификатор числа: // указываем допустимое число разрядов (12), число разрядов после запятой и допустимый знак,…


  • Найти в таблице значений в 1с 8.х

    Разберем способы поиска данных в таблице значений методами .Найти(…) и .НайтиСтроки(…): ТаблицаСферическихКоней = Новый ТаблицаЗначений; ТаблицаСферическихКоней.Колонки.Добавить(«Кличка»); ТаблицаСферическихКоней.Колонки.Добавить(«КоличествоПодков»); КлассныйКонь = ТаблицаСферическихКоней.Добавить(); КлассныйКонь.Кличка = «Классный»; КлассныйКонь.КоличествоПодков = 1; ЯркийКонь = ТаблицаСферическихКоней.Добавить(); ЯркийКонь.Кличка = «Яркий»; ЯркийКонь.КоличествоПодков = 3; БольшойКонь = ТаблицаСферическихКоней.Добавить(); БольшойКонь.Кличка = «Большой»; БольшойКонь.КоличествоПодков = 3; // 1. Ищем конкретную строку по значению реквизита методом .Найти НайденнаяСтрока =…