1с как поменять местами наименование и код

Обновлено: 02.07.2024

Сегодня очень важная тема - Формы. В платформе 1С форма - это важный компонент, который присутствует везде.

Что такое форма?

Прежде чем отвечать на этот вопрос, давайте представим вот что. Представьте перед собой чистый лист бумаги формата А4, на котором ничего нет вообще. Этот лист - это чистая форма. чистая она до того момента пока мы на ней что-то не нарисуем.

Взяли карандаш и нарисовали на нем или написали свои ФИО - это мы начали заполнять форму, и, таким же образом продолжаем ее заполнять. Вот и в платформе почти так же.

Форма - это представление того, как будет отображаться все, что вы поместите на форму, то есть какие изменения будете вносить на эту форму.

На форме можно помещать разнообразные элементы: поле ввода, поле вывода, кнопки, картинки, диаграммы и так далее.

В платформе 1С очень много всевозможных форм и со временем мы с ними познакомимся, но пока нам важны только две формы: "Форма элемента" и "Форма списка ".

На самом деле мы уже работали с этими формами, просто не обращали на них внимание, так как еще не знали о них ничего.

Давайте вспомним предыдущий урок, в котором мы создавали справочник и потом элементы в нем.

Откройте пользовательский режим и зайдите в справочник, который создали на прошлом занятии (Рисунок 1).

Давайте разбираться где это формы и как их отличить.

Нажмите на кнопку "Создать" и у вас откроется окно (Рисунок 2).

Посмотрите на рисунок 2, там есть маленькое окно, которое выделено красным прямоугольником. Это окно и есть Форма элемента. Почему? Потому что мы нажимаем на кнопку "Создать", а это значит мы даем команду платформе, что необходимо создать элемент, поэтому мы создаем элемент и от этого она называется формой элемента.

А где же Форма списка?

Закройте это окно и посмотрите на рисунок 3. Все, что находится в желтом прямоугольнике, это и есть форма списка. Форма списка появляется сразу, как только мы заходим в справочник. Как только нажали на справочник, так сразу же видим список всех элементов, от этого она и называется формой списка.

Как только мы создаем элемент в справочнике, так это сразу же Форма элемента.
Как только заходим в справочник и видим список, так это сразу Форма списка.

Хорошо, разобрались где они в пользовательском режиме, но как же они там появляются, если мы их не создавали в режиме разработчика, а только создали справочник. Как и где их найти в режиме разработчика, а самое главное - почему они сами появляются? Давайте разбираться!

Зайдем в режим разработчика и откроем наш справочник. Перейдем на вкладку "Формы" (Рисунок 4).

У справочника 5 форм, но мы пока работаем с двумя: форма элемента и форма списка.

Посмотрите на рисунок 4, здесь перечень всех возможных форм и все поля там пустые. Так откуда же формы? Это очень хороший и нужный вопрос! А ответ простой - платформа разработана таким образом, чтобы при создании справочника (объекта) мы могли сразу запустить и вести автоматизацию. Как только вы создаете какой-то объект, платформа автоматически сама добавляет к нему стандартную форму, от этого при запуске они у нас сразу и существуют!

Возникает тогда вопрос: "А зачем тогда нужна вкладка Формы, если она все сама делает?". Ответ тоже прост - платформа может делать только что-то простое, а если необходимо сделать что-то сложное, то необходимо создавать уже свою форму и работать с ней.

Здесь возникает еще один важный момент. Как только вы создаете свою форму, платформа понимает, что ее помощь уже не нужна и не создает форм, а воспринимает только ту форму, которую создали вы и указали ей.

Давайте начнем с простого и разберемся в том, почему нас может не устраивать стандартная форма?

Откройте в пользовательском режиме справочник и посмотрите на форму списка, она в виде таблички, где первый столбец - это Наименование, а второй Код (другими словами Код - это номер по порядку). Но в нашем понимании все должно быть наоборот, сначала номер, а потом перечисление. Вот и нашли причину! Нас это не устраивает. Если что-то не устраивает в отображении на стандартной форме, то необходимо создавать свою форму. Для этого переходим в режим разработчика, открываем справочник и переходим на вкладку "Формы" (Рисунок 5).

Дата публикации 04.10.2019

Использован релиз 3.0.73

Для группового изменения реквизитов документов или элементов справочников в программе необходимо выделить в списке эти документы / элементы справочника, открыть правой кнопкой мыши контекстное меню и выбрать команду "Изменить выделенные. ", в открывшейся форме отметить флажками реквизиты, которые нужно изменить, и указать их новое значение, выполнить изменение по кнопке "Изменить выделенные".

Рассмотрим механизм группового изменения реквизитов на примере изменения покупателя в документах "Счет на оплату" (реквизит "Контрагент"):

  1. Раздел: Продажи – Счета покупателям.
  2. Выделите в списке документы (рис. 1), у которых необходимо изменить значение реквизита, правой кнопкой мыши откройте контекстное меню и выберите команду "Изменить выделенные . ". Чтобы выделить несколько документов, нажмите и удерживайте на клавиатуре клавишу Shift (для выбора документов в одном диапазоне) или Ctrl (для выбора отдельных документов) и отмечайте мышью нужные документы.
  3. В открывшейся форме "Изменение выделенных элементов" на закладке "Реквизиты" (рис. 2) найдите реквизит, который подлежит изменению (в нашем примере "Контрагент"), и установите флажок в колонке .
  4. В колонке "Новое значение" (рис. 2) укажите новое значение реквизита. Если необходимо задать пустое значение, то нужно включить флажок в колонке , а колонку "Новое значение" оставить незаполненной. Одновременно можно менять несколько реквизитов.
  5. Обратите внимание, что все реквизиты следует менять с большой осторожностью, а некоторые вообще не стоит менять:
    • если изменить реквизиты табличной части документа / справочника (на закладках формы "Изменение выделенных элементов", отличных от закладки "Реквизиты"), то новое значение будет подставлено во все строки табличной части документа / справочника;
    • если изменить цифровой реквизит документа / справочника (в том числе из табличной части), то реквизиты, зависящие от измененного, не будут пересчитаны;
    • если изменить реквизит документа / справочника (в том числе из табличной части), который зависит от других реквизитов (например, договор зависит от контрагента и организации), то будет нарушена корректность данных и ссылочная целостность информационной базы.
  6. В списке реквизитов в форме "Изменение выделенных элементов" могут быть реквизиты, по умолчанию недоступные для изменения и отображающиеся серым цветом. Это "ключевые" реквизиты, которые могут повлиять на другие объекты (списки, документы, справочники и др.), поэтому они защищены от случайных изменений. При попытке ввода новых значений для этих реквизитов программа предлагает их разблокировать. Если это необходимо, подтвердите свой выбор по кнопке "Да".
  7. По кнопке "Изменить реквизиты" изменения будут сохранены, а проведенные документы будут перепроведены (в примере на рис. 1 в колонке "Контрагент" – первоначальное значение покупателя, на рис. 3 – значение после изменения).




Дополнительно в форме "Изменение выделенных элементов" можно (рис. 4):

  1. С помощью кнопки "Ранее измененные реквизиты" выбрать настройки группового изменения, которые применялись для данного списка ранее.
  2. С помощью кнопки "Дополнительные параметры" настроить определенные условия по изменению объектов:
    1. Флажок "Изменять в транзакции" включает обработку данных в транзакции. Это означает, что если в процессе сохранения не удалось сохранить один из объектов по каким-либо причинам (например, потому что объект редактируется в это же время другим пользователем), то будут отменены изменения во всех выбранных объектах. По умолчанию флажок "Изменять в транзакции" включен.
    2. Флажок "Прерывать по ошибке" включен по умолчанию. В этом случае если сохранение объекта по каким-либо причинам невозможно, программа выдаст предупреждение и предложит продолжить изменение оставшихся объектов либо прервать обработку для выяснения причин проблемы. Если флажок не включен (это возможно при снятом флажке "Изменять в транзакции") и при этом один из объектов не удалось сохранить, то такой проблемный объект будет пропущен, а обработка остальных данных будет продолжена.


    Смотрите также

    В этой статье я расскажу, как можно корректно изменить типовую конфигурацию 1С, чтобы потом было меньше проблем с обновлениями. Список рекомендаций открытый, и вы можете дополнить его своими соображениями в комментариях.

    Все примеры в этой статье сделаны на конфигурации «Управление нашей фирмой», у которой я включил возможность изменения всех объектов, оставив при этом её на поддержке. Определим некоторые условности: типовым я буду называть объект поставщика, который не был изменен. После того, как этот объект поменяли, он уже стал нетиповым.

    Порядок объектов 1C

    Первое, я не рекомендую изменять порядок объектов.

    К пример, был такой порядок:

    Порядок объектов 1С

    Порядок объектов 1С

    В этой конфигурации я ни чего в объектах не менял, а просто поменял местами два справочника, и оба этих справочника появятся в окне сравнения во время обновления, если установить фильтр «Показывать отличия основной конфигурации от старой конфигурации поставщика».

    Порядок объектов 1С

    Этот фильтр, по сути, показывает изменения, которые мы внесли в конфигурацию, и сдвинутые таким образом объекты будут нам мешать работать с остальными объектами.

    Снятие с поддержки и удаление

    Желательно, не снимать с поддержки объекты поставщика, и тем более удалять их. Потому что, если мы снимем с поддержки какой-то объект, например этот справочник.

    Снятие объекта 1С с поддержки

    То во время обновления, этот объект по умолчанию не будет обновлен, т.е. он не примет все те изменения, которые присутствуют в новом релизе поставщика. И в окне «Сравнить, объединить», которое появляется во время обновлений баз, у которых поддержка с возможностью изменения

    Снятие объекта 1С с поддержки

    Новые методы в общем модуле поставщика

    Следует воздержаться от изменения общих модулей поставщика. Если появилась необходимость в новой процедуре или функции, то лучше создать собственный общий модуль и написать в нём эту процедуру.

    Если мы создадим в общем модуле поставщика свою процедуру или функцию.

    Изменение общих модулей 1С

    То в случае обновления, когда поставщиком будет изменен этот общий модуль, нам каждый раз придется выполнять работы по сравнению, чтобы и обновления поставщика попали в общий модуль, и наши изменения сохранились.

    Изменение общих модулей 1С

    Если есть необходимость создать метод в каком-то общем модуле, то лучше создать «клон» этого модуля, и в нем написать нужную процедуру процедуру или функцию.

    Изменение общих модулей 1С

    Тогда во время обновления, не придётся выполнять работы по совмещению изменений поставщика и ваших изменений в общем модуле.

    Переименование объектов, процедур и функции 1С

    Не рекомендуется переименовывать объекты, процедуры и функции поставщика. Потому что, во время обновления придется контролировать, чтобы эти измененные методы не были затерты методами поставщика.

    Например, переименуем в общем модуле функцию, а также вызов этой функции в другом методе.

    Переименование объектов, процедур и функций 1С

    Во время выполнения обновления конфигурации, этот модуль, где мы переименовали метод, появится в окне «Обновление Основная конфигурация – Новая конфигурация поставщика» причем с установленным фильтром «Показывать только дважды измененные свойств».

    Переименование объектов, процедур и функций 1С

    Если мы посмотрим, что изменилось.

    Переименование объектов, процедур и функций 1С

    То увидим, что платформа пытается удалить метод, у которого мы поменяли название, а в место него записать типовой метод, и также изменить код в процедурах поставщика, где мы изменили название метода.

    Переименование объектов, процедур и функций 1С

    С одной стороны, ни чего страшного: все вернется, как было. Но, тут возможны нюансы: первое, если мы что-то доработали в нашем методе с измененным названием, то эти доработки пропадут; второе, если мы используем метод с измененным названием где-то, например, в нашем общем модуле то его вызов таким и останется, как мы написали, что приведет к ошибкам.

    Доработка методов модулей поставщика

    Если появилась необходимость выполнить доработки какого-то типового метода, то, по возможности, все доработки выносите в отдельную процедуру. Эту процедуру лучше написать в добавленном вами общем модуле.

    Например, в общем модуле ОбщегоНазначения нужно доработать процедуру «МестоположениеКомпонентыКорректно».

    Рекомендации по доработке общих модулей поставщика 1С

    Вместо того, чтобы написать весь код в этой процедуре, будет оптимально, если создадим в нашем общем модуле экспортную процедуру, в которой напишем этот код.

    Рекомендации по доработке общих модулей поставщика 1С

    И её уже вызовем в процедуре общего модуля поставщика.

    Рекомендации по доработке общих модулей поставщика 1С

    Копирование методов поставщика с последующей доработкой

    В некоторых случаях лучше создать новую процедуру или функцию, которая будет копией процедуры или функции поставщика. Если изначальная процедура поставщика располагалась в общем модуле, то можно создать свой общий модуль и в нем написать копию процедуры.

    Например, в этом случае, вместо процедуры «МакетСуществует» модуля поставщика.

    Копирование методов поставщика с последующей доработкой

    Можно создать копию этой процедуры в своем общем модуле

    Копирование методов поставщика с последующей доработкой

    Эту копию изменить как надо, а потом поменять вызов типовой процедуры.

    Копирование методов поставщика с последующей доработкой

    Этим способом нужно пользоваться очень аккуратно, потому что есть опасность не заметить приход важных обновлений в оригинал процедуры, которую скопировали.

    Изменение подсистем 1С: создать подчиненную

    Если вы создали какой-то объект, то его желательно нужно добавить в подсистему. Рекомендую воздержаться от изменения типовой подсистемы, и создать собственную подсистему, в состав которой добавлять новые объекты.

    Иногда такое не всегда приемлемо, потому что новый объект нужно включить в видимость какой-то подсистемы поставщика. Если добавить объект в саму подсистему поставщика.

    Изменение подсистем 1С

    То при обновлении, в том случае, когда подсистема поставщика была изменена, придется совмещать состав этой подсистемы. Чтобы и наши изменения сохранились, и новые изменения поставщика пришли.

    Изменение подсистем 1С

    Чтобы каждый раз при обновлении не тратить время на совмещение составом, лучше создать свою подсистему, которая будет подчинена подсистеме поставщика.

    Изменение подсистем 1С

    И в эту подсистему включить ваш новый объект.

    Изменение подсистем 1С

    Тогда вам не придется при обновлении каждый раз работать с составом типовой подсистемы.

    Рекомендации по изменению ролей в 1С

    Так же, как и в вопросе с подсистемами, я рекомендую воздержаться от изменения типовых ролей, в случае добавления вами каких-то объектов и необходимостью установки прав доступа на этот объект.

    Если вы создали новый объект, и стоит необходимость дать права доступа на этот объект, то изменив существующую роль, добавив в неё нужные права на этот объект.

    Рекомендации по изменению ролей

    Вам при обновлении придется каждый раз сравнивать состав ролей, если эта роль была изменена поставщиком в обновлении.

    Рекомендации по изменению ролей

    Поэтому, если это возможно, то лучше создать новую роль и добавить в неё новый объект, и тогда не придётся сравнивать составы ролей при обновлении.

    Рекомендации по изменению ролей

    Изменение типовых форм

    Рекомендуется, ограничить изменение внешнего вида формы, для этого лучше все новые элементы можно создать программно, особенно если их не много.

    Если изменения значительны, то стоит создать новую форму копию типовой с префиксом, и добавить её в основные формы объекта. Но этот вариант спорный, потому что если вы измените типовую форму то при обновлении вы увидите, что форма поменялась, а в случае своей формы, вы это не узнаете, и можете пропустить критичное изменение. Или в случае, когда создана своя форма, то при обновлении нужно будет каждый раз анализировать изменения типовой формы.

    Рекомендации по написанию своего кода

    Желательно весь код, который вы вносите в объекты поставщика (в модуль объекта, в модуль менеджера объекта, в модуль формы и т.д.) начинать и заканчивать префиксом, по которому будет легко найти этот код. К примеру, название организации, собственно ФИО и т.д., а также писать дату, причину изменения, описание изменения.

    Рекомендации по написанию кода

    На этом я закончу эту статью. Список рекомендаций открытый. Если у вас есть какие-то дополнения к полученной информации, то обязательно пишите о них в комментариях.

    Подробно и наглядно рекомендации по изменению типовых конфигураций 1С в этом видео:

    Статьи по теме обновлений 1С:

    Если по мимо задач по администрированию, перед вами стоят задачи по разработке в 1С, то рекомендую вам свою книгу «Программировать в 1С за 11 шагов», в которой подробно и основательно шаг за шагом даются основные знания по разработке в 1С.

    Программировать в 1С за 11 шагов

    1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
    2. Научитесь понимать архитектуру 1С;
    3. Станете писать код на языке 1С;
    4. Освоите основные приемы программирования;
    5. Закрепите полученные знания при помощи задачника.

    Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

    Основы разработки в 1С такси

    1. Очень доступный и понятный язык изложения
    2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
    3. Поймете идеологию управляемого приложения 1С
    4. Узнаете, как разрабатывать управляемое приложение;
    5. Научитесь разрабатывать управляемые формы 1С;
    6. Сможете работать с основными и нужными элементами управляемых форм
    7. Программирование под управляемым приложением станет понятным

    Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
    Только для читателей моего блога,
    промо-код на скидку в 300 рублей на весь комплект: blog


    Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
    .

    можно оплатить вручную:


    Поменять значения элементов местами
    Помогите пожалуйста решить задачку в turbo или free Paskal! Заранее спасибо))) Заполнить два.


    Поменять значения элементов местами
    Заполнить два одномерных массива одинаковой размерности случайными целыми числами в диапазоне от 0.


    Поменять местами значения элементов массива
    Задача 2: Даны целые массивы A, B и значения К и L (0<=K<=9, 0<=L<=9). Требуется .


    В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области [1+2+3] и элементов столбц
    В заданной квадратной матрице размера 2n*2n поменять местами значения элементов строк области и.

    Решение

    6elka1703, Самое простое - программно создать числовой реквизит, по кнопке записывать в него одно из значений (пусть сахар) Реквизит = Сахар, а потом Сахар = Соль, А Соль = Реквизит.
    Вместо Реквизита можно использовать ХранилищеЗначений, но мне кажется это дольше и сложнее (хотя в учебном задании, возможно, ждут именно такого ответа)

    polax, можете простой пример накидать если не сложно, для наглядности

    Добавлено через 9 минут
    polax, все разобрался спасибо

    Поменять местами значения элементов двумерного массива
    Составьте программу, меняющую местами значения элементов массива А(N,N) симметрично относительно.


    Поменять местами значения соседних элементов массива
    Поменять местами значения соседних элементов массива из 10 элементов, заполненного случайными.


    Значения первого и последнего элементов поменять местами
    Решить: Создать массив с именем А из 10-ти элементов, задав значения его элементов с помощью.


    Поменять местами значения двух элементов массива
    Дано одномерный массив, содержащий 10 элементов. поменять местами значение n-го i k-го элементов.

    Читайте также: