Как удалить элемент структуры 1с
Уважаемые специалисты, посоветуйте пожалуйста, как правильно удалить из коллекции типа Фиксированная структура, а именно у ОтборСтрок табличного элемента? Если бы это была просто структура, то у нее есть метод удалить, а для фиксированной структуры — нет.
а потому и фиксированная
Её перезаписывать можно. Просто присвой другую фиксированную структуру.
Прямо из СП:
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура
(3) хочется не снять весь отбор (там может быть отбор по 2 колонкам), а только у одного ключа.
Большое всем спасибо, просто пересоздам фикс структуру.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
Структура в 1С 8.3 — работа на примерах
Структура в 1С 8.3 это динамический набор данных (коллекция значений), каждый элемент которой состоит из пары «Ключ» и «Значение». Ключи структуры уникальны, поэтому ими можно идентифицировать значения. Ключ структуры должен иметь строковый тип данных и отвечать требованиям к именам переменных. К значениям структуры можно обращаться как к свойствам объекта, при этом ключ используется как имя свойства.
Создание структуры
Автомобиль = Новый Структура("Марка,ДатаВыпуска,ПробегКМ","BMW",Дата('20190101'),25000);
Добавление элементов, установка значений
Метод Вставить() устанавливает значение элемента структуры по ключу. Если элемент с переданным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент.
Автомобиль.Вставить("Цвет","Белый");//Добавили ключ и значение. Автомобиль.Вставить("Цвет","Чёрный");// Т.к. ключ "Цвет" уже существует, произошла замена значения. //Другие способы для установки значений Автомобиль.Цвет = "Белый";//Для ключа "Цвет" установили значение "Белый" Автомобиль["Цвет"] = "Чёрный";//Для ключа "Цвет" установили значение "Чёрный"
Как узнать количество элементов структуры
КоличествоЭлементов = Автомобиль.Количество();
Обход элементов структуры
Для Каждого Элемент Из Автомобиль Цикл Ключ = Элемент.Ключ; Значение = Элемент.Значение; Сообщить(Ключ + " - " + Значение); КонецЦикла;
Проверить ключ структуры на существование
// Если ключ существует, выражение вернёт "ИСТИНА" иначе вернёт "ЛОЖЬ" Автомобиль.Свойство("Марка");
Получить значение элемента структуры по ключу
ЗначениеЭлемента = Неопределено; Автомобиль.Свойство("Марка ",ЗначениеЭлемента);
Удалить элемент структуры
Автомобиль.Удалить("Цвет ");
Удалить все элементы структуры
Автомобиль.Очистить();
Пример преобразования структуры в таблицу значений
&НаКлиенте Процедура СтруктураВТЗ(Команда) РасписаниеДня = Новый Структура(); РасписаниеДня.Вставить("Начало","08:00"); РасписаниеДня.Вставить("Обед","12:00"); РасписаниеДня.Вставить("Конец","17:00"); ТаблицаЗнач = СтруктураВТЗНаСервере(РасписаниеДня); КонецПроцедуры &НаСервере Функция СтруктураВТЗНаСервере(РасписаниеДня) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Период"); ТЗ.Колонки.Добавить("Время"); Для Каждого КлючИЗначение из РасписаниеДня Цикл НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Период = КлючИЗначение.Ключ; НоваяСтрока.Время = КлючИЗначение.Значение; КонецЦикла;
Возврат ТЗ;
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!

Как скопировать структуру
Пример №1
&НаКлиенте Процедура СкопироватьСтруктуру(Команда) Структура = Новый Структура(); Структура.Вставить("Фамилия","Петров"); Структура.Вставить("Имя","Пётр"); Структура.Вставить("Отчество","Петрович"); КопияСтруктуры= Новый Структура(); Для Каждого КлючИЗначение Из Структура Цикл КопияСтруктуры.Вставить(КлючИЗначение.Ключ,КлючИЗначение.Значение); КонецЦикла; КонецПроцедуры
Пример №2
Способ работает в рамках одной информационной базы.
&НаКлиенте Процедура СкопироватьСтруктуру2(Команда) Структура = Новый Структура(); Структура.Вставить("Фамилия","Петров"); Структура.Вставить("Имя","Пётр"); Структура.Вставить("Отчество","Петрович"); КопияСтруктуры = СкопироватьСтруктуруНаСервере(Структура); КонецПроцедуры &НаСервере Функция СкопироватьСтруктуруНаСервере(Структура) КопияСтруктуры = ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Структура)); Возврат КопияСтруктуры; КонецФункции
Пример №3
&НаКлиенте Процедура СкопироватьСтруктуру3(Команда) Структура = Новый Структура(); Структура.Вставить("Фамилия","Петров"); Структура.Вставить("Имя","Пётр"); Структура.Вставить("Отчество","Петрович"); КопияСтруктуры = Новый ФиксированнаяСтруктура(Структура); КонецПроцедуры
В примере №3 структура будет скопирована в неизменную (фиксированную) структуру. Для такого вида структур не доступны методы Вставить(), Удалить(), Очистить(). Если требуется изменить фиксированную структуру, её необходимо скопировать в обычную.
ОбычнаяСтруктура = Новый Структура(ФиксированнаяСтруктура);
- Открытие дополнительного отчета в 1С программно
- Создание внешней печатной формы для управляемого приложения в 1С 8.3
- Таблица значений в 1С 8.3 на примерах
- Загрузка в 1C из Excel
1С 8.x : Структура ~ Удаление элементов, очистка структуры


Google maps : вывод точек на карту и режим панорамы 8
В отличие от яндекс карт в GMaps можно использовать панорамы — за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Внешние обработки, печатные формы, обработки по заполнению табличных частей 3
Справочник «Внешние обработки, печатные формы, обработки по заполнению табличных частей» содержит список произвольных обработок, произвольных отчетов, дополнительных печатных форм, обработок для заполнения ТЧ объектов, обработок, подключаемых к отч Внешняя печатная форма, дополнительные параметры для печати 5
Внешняя обработка (Печатная форма), содержащая: Необязательный реквизит « ДополнительныеПараметры » произвольного типа , которому будут передаваться дополнительные параметры примитивного типа в виде структуры. https://helpf.pro/uploads/img/_1-Y74bX Выборка (перебор) бизнес-процессов 0
Выбрать( , , , ) отбора отбора (необязательный) — Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры — значение отбора по этому рекви Выборка (перебор) видов расчета 0
Выбрать( , ) (необязательный) — Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры — значение отбора по этому реквизиту. В качестве рекви Посмотреть все результаты поиска похожих
Еще в этой же категории
Массив ~ Как удалить повторяющиеся элементы массива? 8
Функция УдалитьПовторяющиесяЭлементыМассива(Массив) Экспорт ТекущийИндекс = 0; ВсегоЭлементов = Массив.Количество(); Пока ТекущийИндекс ВсегоЭлементов Цикл Индекс2 = ТекущийИндекс + 1; Пока Индекс2 ВсегоЭлементов Цикл Если Массив = Сравнение двух структур 8
// Сравнение 2-х стурктур // Возвращает структуру с полями которые отличаются и значением из сравниваемой // Если в стСравнимое нет нужного поля,то в результат добавляется поля = Неопределенно // стОсновная, стСравнимое — сравниваемые структуры Структура ~ Создать структуру и добавить элементы 4
// Создание структуры СозданнаяСтруктура = Новый Структура; // Создание структуры и добавление элементов СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить(» Качество» , Качество); СтруктураОтбора.Вставить(» Номенклатура» , Номенкла Структура ~ Преобразовании Структуры в Таблицу Значений 4
//Струтура в ТЗ Функция СтруктураВТЗ(Структр) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить(» Значение» ); ТЗ.Колонки.Добавить(» Описание» ); Для Каждого ТекЭлем из Структр Цикл НовСтр=ТЗ.Добавить(); НовСтр.Значение = ТекЭлем.Ключ; НовСтр Структура ~ Перебор элементов Структуры 3
Для Каждого Элемент из СтруктураПараметров Цикл Сообщить(Элемент.Ключ + » : » + Элемент.Значение); КонецЦикла; Посмотреть все в категории Работа с Массивом, Структурой, Соответствием
Работа со структурой в 1С
Структура — это особый тип данных в 1С, который можно представить в виде таблицы из двух колонок. Первая колонка называется Ключ, вторая — Значение. Ключ всегда является строкой и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка, значение может быть разных типов.
| КЛЮЧ | ЗНАЧЕНИЕ |
| «Имя» | «Иван» |
| «Фамилия» | «Иванов» |
| «Возраст» | 25 |
Как создать переменную с типом Структура
Создать переменную с типом Структура можно двумя способами. Рассмотрим создание структуры, описанной в таблице выше.
П 1 = новый Структура ( «Имя, Фамилия, Возраст» , «Иван» , «Иванов» , 25 ) ;
П 1 = новый Структура ;
П 1 . Вставить ( «Имя» , «Иван» ) ;
П 1 . Вставить ( «Фамилия» , «Иванов» ) ;
П 1 . Вставить ( «Возраст» , 25 ) ;
Как добавить новый элемент в структуру
Для добавления нового элемента в структуру используется функция Вставить(Ключ, Значение). Пример использования этой функции смотрите в предыдущем разделе.
Как получить значение элемента структуры по имени ключа
Фамилия = П 1 . Фамилия ; //переменной Фамилия будет присвоено значение «Иванов»
Возраст = П 1 . Возраст ; //переменной Возраст будет присвоено значение 25
Как изменить значение элемента структуры по имени ключа
Если известно имя ключа структуры, то изменить значение можно двумя способами.
