1С ввести на основании программно 1с: Программист 1C — 1С. Как выполнить ввод на основании программно?

1с 8 создать документ на основании программно. Конструктор ввода на основании

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

Наследование полей задается конфигурально, в конструкторе ввода на основании, для того объекта, который и будет вводиться на основании:

Конструктор ввода на основании подсказывает, какие поля могут наследоваться прямо (они отмечены зелеными галочками, и автоподставляются по кнопке Заполнить выражения ). Также в конструкторе можно прописать иные выражения заполнения:

По кнопке Ок, платформа создает программный код ввода на основании и размещает его в модуле объекта:

При необходимости код можно доработать вручную. Но важно понимать. что если потом к конструктору обратиться еще раз, то ручные изменения затрутся. Поэтому прямо в коде содержится предупреждение об этом. И также при попытке открыть конструктор после генерации программного кода платформа выдаст такое предупреждение (причем безотносительно того, редактировался ли на самом деле код или нет):

Вопрос 03.32 экзамена 1С:Профессионал по платформе. Для активности кнопки «Конструктор ввода на основании» в окне редактирования объекта конфигурации …

  1. Обязательно заполнение поля «Вводится на основании»
  2. Обязательно заполнение поля «Является основанием для»
  3. Обязательно заполнение полей «Является основанием для» и «Вводится на основании»

Правильный ответ первый:

Вопрос 04.09 экзамена 1С:Профессионал по платформе. Назовите инструмент визуального создания алгоритма заполнения объекта «на основании» и основное место его вызова?

  1. Конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Ввод на основании», кнопка «Конструктор ввода на основании»
  2. Конструктор ввода на основании.
    Основное место вызова через главное меню «Конструкторы» / «Ввод на основании…»
  3. Мастер ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Ввод на основании», кнопка «Мастер ввода на основании»
  4. Конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Данные», кнопка «Конструктор ввода на основании»

Правильный ответ первый, см. скриншоты выше.

Вопрос 04.10 экзамена 1С:Профессионал по платформе. Назовите основное назначение конструктора ввода документа «на основании»:

  1. Конструктор ввода на основании облегчает задачу разработки процедуры, с помощью которой будет формироваться новый объект при вводе «на основании»
  2. Конструктор ввода документа «на основании» в системе отсутствует
  3. Конструктор ввода на основании облегчает задачу формирования движений в регистрах учета «на основании» данных документа
  4. Конструктор ввода на основании облегчает задачу разработки структуры другого документа «на основании» структуры «документа-основания»

Правильный ответ первый.

Вопрос 04.11 экзамена 1С:Профессионал по платформе. Можно ли формулу заполнения поля «Состав.Цена» задать произвольным выражением?

  1. Да, можно, правильность написания формулы конструктор не проверяет
  2. Нет, нельзя, формулу можно заполнить только значениями, выделенными «галочками» в списке «Реквизиты объекта основания»
  3. Да, можно, но конструктор проверит правильность написания формул согласно списку «Реквизиты объекта основания»
  4. Нет, нельзя, формулу можно заполнить только значениями из списка «Реквизиты объекта основания»

Правильный ответ первый. Можно написать любую формулу, синтаксического контроля при этом нет.

Вопрос 04.12 экзамена 1С:Профессионал по платформе. Если процедура с именем «ОбработкаЗаполнения» уже определена в модуле документа, то возможно ли в этом случае использование конструктора ввода основании?

  1. Да, но при этом система попросит подтверждение на полное замещение уже существующей процедуры «ОбработкаЗаполнения» новой процедурой
  2. Нет, сначала надо вручную удалить «старую» обработку заполнения, а только потом вызывать конструктор
  3. Да, но система при этом, безусловно, удалит «старую» обработку заполнения
  4. Да, система закомментирует «старую» обработку заполнения и создаст «новую»

Правильный ответ первый, см. разбор выше.

Вопрос 04.13 экзамена 1С:Профессионал по платформе. Какое предназначение имеет выделение «галочками» элементов списка «Реквизиты объекта основания»?


  1. Эти реквизиты система предлагает в качестве формулы заполнения реквизита «Состав.Количество» по принципу совпадения типов реквизитов
  2. Эти реквизиты предлагаются для заполнения реквизитов «Состав.Количество», «Состав.Сумма» по принципу совпадения имен
  3. Эти реквизиты предлагаются для заполнения реквизита «Состав.Количество» по кнопке «Заполнить выражения»
  4. Эти реквизиты система впишет в качестве формул заполнения реквизитов «Состав.Количество», «Состав.Сумма» при нажатии кнопки «ОК»

Правильный ответ первый.

Укажем, что на основании насоса будет выводиться Акт приема в ремонт.

1. В справочнике Оборудование откроем вкладку Ввод на основании . Нажмем на кнопку Является основанием для .

Выбираем – Документ АктПриемаВРемонт (рис. 37а).

Рис. 37а. Ввод на основании. Выбор объекта

2. На основании АктПриемаВРемонт будет вводится АктВыдачиИзРемонта.

Выполните данные действия для документа (открыть документ АктПриемаВРемонт – Вкладка Ввод на основании – Является основанием для АктВыдачиИзРемонта) (рис. 37б).

Рис. 37б. Ввод на основании. Выбор объекта для Акта приема в ремонт

Для документа АктПриемаВРемонт откроем его Модуль (нажатием правой кнопкой мыши открываем контекстное меню документа АктПриемаВРемонт – выбираем Открыть модуль объекта) (рис. 38).

Рис. 38. Контекстное меню Документа

Создадим (рис. 39). В модуле появилась новая запись (рис. 40а).

Рис. 39. Обработчик событий Обработка заполнения

Рис. 40а. Модуль документа Акт приема в ремонт

По условию задачи Акт приема в ремонт вводится на основании насоса , поэтому в параметры ДанныеЗаполнения будет передана ссылка на этот самый насос

.

Реквизиту документа АктПриемаВРемонт Оборудование присвоим значение ДанныеЗаполнения. Для это вводим в процедуру

Оборудование = ДанныеЗаполнения;

Рис. 40б. Модуль документа Акт приема в ремонт

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

Для этого аналогично откроем Модуль объекта документа . Создадим обработчик событий Обработка заполнения .

Данный документ вводится на основании Акта приема в ремонт . Потому в данных заполнения будет ссылка на АктПриемаВРемонт. Значит

    в реквизит Клиент необходимо подставить ДанныеЗаполнения.Клиент,

    в реквизит Оборудование – ДанныеЗаполнения.Оборудования

    в реквизит Склад – ДанныеЗаполнения. Склад (рис. 40в).

Рис. 40в. Модуль документа Акт выдачи из ремонта

5. Также для справочника Склады укажем, что справочник будет использовать свойство Быстрый выбор . Это значит, что теперь Склад будет выбираться не из отдельной формы, открывающейся в отдельном окне, а из маленького списка, который выпадает прямо из поля ввода (открыть Свойства справочника Склады – отметить свойство Быстрый выбор) (рис. 41).

Рис. 41. Фрагмент Свойства справочника. Быстрый выбор

ВВОД ДАННЫХ В БД

1. Насосный завод принес еще один насос в ремонт. Запишем его в справочник – КМ 0-32-180/2-5, с/н7744.

Обратите внимание, что в командной панели появилась кнопка

Создать на основании .

Создадим на основании Акт приема в ремонт.

Оборудование, необходимое, уже подставилось (рис. 42). Клиент – Насосный завод. Склад – Основной склад (появился маленький список). Дата- 12.11.2011 г. Провести. Закрыть.

Рис. 42. Ввод Акта приема в ремонт

Отметим недостатки в разработанной конфигурации :

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

    Список ссылок, представленный слева, выглядит не очень красиво (рис. 43).

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

Рис. 43. Список ссылок меню системы

Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.

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

Рассмотрим простой пример. Допустим, в прикладном решении существует документ Поступление товара , который фиксирует факт появления в организации некоторых позиций номенклатуры:

После того, как номенклатура получена от поставщика, следует оформить документ Оплата товаров и услуг , в котором указать поставщика и сумму, которую ему необходимо перечислить за поставленный товар:

В такой ситуации механизм ввода на основании позволяет сформировать документ Оплата товаров и услуг автоматически, используя информацию, которая хранится в документе Поступление товара .

Это выполняется буквально одним нажатием мыши:

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

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

Бухгалтерии предприятия 8 – Учет без забот

Опубликовано 21.07.2016 08:29
Автор: Administrator
Просмотров: 57843

Далеко не всегда работа новой организации начинается сразу в базе 1С: Бухгалтерии предприятия 8, достаточно часто бывают такие случаи, когда на данный программный продукт переходят уже в период активной работы. При такой ситуации возникает необходимость ввода в базу начальных остатков на определенную дату. Остатки можно внести вручную или загрузить из программ предыдущих версий (например, 1С: Предприятия 7.7). В этой статье мы рассмотрим ручной ввод начальных остатков по счетам учета основных средств: счет 01 и счет 02.  

 Вводится информация об остатках с помощью «Помощника ввода остатков». Открываем закладку «Главное», раздел «Начальные остатки» — «Помощник ввода остатков».

 

 

В первую очередь нужно указать дату, на которую мы будем вводить остатки.

 


 

Далее устанавливаем курсор и дважды щёлкаем на нужный счет, либо нажимаем на кнопку «Ввести остатки по счету».

 

 

Заполняем поле «Подразделение» и нажимаем кнопку «Добавить»

 

 

В открывшемся окне вводим наименование основного средства и информацию о нём.
На закладке «Начальные остатки» указываем:
— Первоначальную стоимость нашего основного средства по бухгалтерскому и налоговому учету
— Стоимость основного средства на момент ввода остатков. В этом разделе вводим первоначальную или текущую (восстановительную) стоимость ОС на дату ввода остатков. Если у Вас не было переоценки, то она будет равна первоначальной стоимости, как в нашем случае. Эта же сумма будет введена как остаток по дебету счёта 01.
— Накопленную амортизацию. Вводим общую сумму амортизации на момент ввода остатков. Эта сумма будет введена в качестве остатка по кредиту счёта 02.
— Параметры амортизации. В этом поле указываем способ отражения расходов по амортизации.



 

Далее заполняем вкладку «Бухгалтерский учёт». Указываем способ поступления основного средства, материально-ответственное лицо и порядок учета. Затем выбираем способ начисления амортизации, в поле «Срок полезного использования в месяцах» указываем общий срок использования (не оставшийся). Ставим галочку «Начислять амортизацию».
К заполнению всех этих параметров нужно отнестись очень внимательно, так как они влияют на дальнейшее автоматическое начисление амортизации при закрытии месяца.

 

 

Следующая закладка «Налоговый учет». Здесь указываем примерно те же данные, только для налогового учёта.

 

 

На закладке «События» заполняем дату принятия к учету основного средства, событие, название документа, по которому ОС принято. Если была проведена модернизация, то указываем необходимую информацию о ней.

 

 

Записываем и закрываем. При проведении у нас формируются проводки по Дт счёта 01.01 и Кт счёта 02.01.

 

 

При вводе остатков все проводки у нас корреспондируют со вспомогательным счетом 000. Он специально введен в программу для ввода остатков и в других случаях не используется. По дебету счета 01.01 у нас отражается первоначальная стоимость ОС, по кредиту счета 02.01 – накопленная амортизация на дату ввода остатков.
После ввода остатков по всем остальным счетам вспомогательный счет 000 должен закрыться, т.к. общий дебетовый оборот должен быть равен кредитовому. Если на счете 000 после ввода всех остатков остается сальдо, это значит, что была допущена ошибка, и на сумму этого сальдо не будет сходиться баланс. Необходимо обязательно сразу же разобраться с такой ситуацией и откорректировать остатки таким образом, чтобы счет 000 был закрыт, так как обороты по нему допускаются только на дату ввода начальных остатков. В будущем никаких движений по данному счету в программе быть не должно.

Понравилась статья? Подпишитесь на рассылку новых материалов 

Добавить комментарий

xcode — можно ли программно НАЖАТЬ ВВОД в быстром режиме?

Задавать вопрос

спросил

Изменено 2 года, 8 месяцев назад

Просмотрено 167 раз

Я делаю игру для набора текста в Swift. но есть некоторые проблемы. в первую очередь это мой код.

 если позволить input = textField. text{
 //비교를 위한 글자 분해한 배열
            пусть whatYouHaveToWrite = Text.init().textArray[a]
            пусть whatYouAlreadyWrite = ввод
            пусть attr = NSMutableAttributedString (строка: viewLabel.text!)
            для i в 0... Массив (whatYouHaveToWrite).count-1{
                    //한글자 맞았는지 인식하는 것
                если я <= Массив(чтоВыАлредиЗаписываете).count-1{
                    if Array(String(whatYouAlreadyWrite))[i] == Array(whatYouHaveToWrite)[i]{
                        attr.addAttribute(.foregroundColor, значение: UIColor.systemBlue, диапазон: NSRange(location:i,length:1))
                        ВХОДИТЬ()
                    }
                    //한글자 틀렸는지 인식하는 것
                    если я>0 {
                        if Array(String(whatYouAlreadyWrite))[i-1] != Array(whatYouHaveToWrite)[i-1]{
                            attr.addAttribute (.foregroundColor, значение: UIColor.systemRed, диапазон: NSRange (местоположение: i-1, длина: 1))
                        }
                    }
                } иначе { перерыв }
            }
}
 

например, когда вы набираете «사랑» процесс такой. «ㅅ» -> «사» -> «살» -> «사랑» и если я наберу «사», как вы можете видеть в моем коде, цвет «사» изменится на синий. но проблема в том, что вы набираете «살», чтобы напечатать «사랑». Поэтому, когда я набираю «사» Я хочу НАЖАТЬ ВВОД программно в «if Array(String(whatYouAlreadyWrite))[i] == Array(whatYouHaveToWrite)[I]» а есть какой-нибудь метод, который вызывает нажатие ввода программно?

  • свифт
  • xcode
  • if-statement
  • введите

Если, нажимая ввод, вы хотите только убрать клавиатуру, вы можете использовать textField.resignFirstResponder() .

И вы можете использовать методы делегата textField для отслеживания каждого символа, введенного пользователем: textField(_:shouldChangeCharactersIn:replacementString:).

0

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

: Элемент Label — HTML: Язык гипертекстовой разметки

HTML-элемент представляет заголовок для элемента в пользовательском интерфейсе.

Связывание с элементом управления формы, таким как или