Получился вот такой кусок кода
Процедура МаршрутПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока И Не Копирование Тогда
Стр = Элементы.Маршрут.ТекущиеДанные;
Если Стр.ПланВремяПрибытия = ‘00010101000000’ Тогда
Стр.ПланВремяПрибытия = НачалоДня(Объект.Дата);
КонецЕсли;
Если Стр.ФактВремяПрибытия = ‘00010101000000’ Тогда
Стр.ФактВремяПрибытия = НачалоДня(Объект.Дата);
КонецЕсли;
Если Стр.ПланВремяУбытия = ‘00010101000000’ Тогда
Стр.ПланВремяУбытия = НачалоДня(Объект.Дата);
КонецЕсли;
Если Стр.ФактВремяУбытия = ‘00010101000000’ Тогда
Стр.ФактВремяУбытия = НачалоДня(Объект.Дата);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Значение заполнения
Это свойство позволяет установить значение по-умолчанию для реквизита.
Например, решим такую задачу: в справочнике «Сотрудники» есть реквизит «Вид приема на работу», который принимает одно из 3-х значений: «Штатный», «Внутренний совместитель» и «Внешний совместитель»:Для новых сотрудников по-умолчанию нужно устанавливать вариант приема на работу — «Штатный». Для того чтобы решить эту задачу достаточно в конфигураторе перейти в свойства реквизита и выбрать значение по-умолчанию в свойстве «Значение заполнения»:
В результате при создании нового элемента справочника значение реквизита будет заполнено выбранным значением по-умолчанию:
Проверка заполнения
Это свойство реквизита, которое позволяет сделать реквизит обязательным для заполнения.
Например, решим такую задачу: в справочнике «Контрагенты» есть реквизит «УНП», который пользователь должен заполнить обязательно.При попытке сохранить контрагента с пустым «УНП» должна выдаваться ошибка.
Для решения такой задачи достаточно в конфигураторе в настройках реквизита «УНП» установить свойство «Проверка заполнения» в значение «Выдавать ошибку»:
В результате при попытке сохранения контрагента с пустым «УНП» пользователь получит сообщение об ошибке заполнения и сохранение выполняться не будет:
Связи параметров выбора
Это свойство позволяет установить связь между реквизитами одного объекта.
Пример задачи: в документе «Приходная накладная» есть реквизиты «Контрагент» (ссылка на справочник «Контрагенты») и «Договор» (ссылка на справочник «Договоры», который подчинен справочнику «Контрагенты»). При выборе договора пользователь должен видеть в списке только те договоры, которые принадлежат выбранному в этому же документе контрагенту. Договоры других контрагентов пользователь видеть не должен:Для решения этой задачи нужно в конфигураторе для реквизита «Договор» настроить свойство «Связи параметров выбора»: указать связь с реквизитом этого же документа — «Контрагент». Условие связи будет следующим: Контрагент из документа должен равен значению реквизита «Владелец» для справочника «Договоры»:
В результате при выборе договора в списке пользователь будет видеть только те договоры, для которых выполняется условие связи Владелец (из справочника договоры) = Контрагент (из документа «Приходная накладная):
Параметры выбора
Это свойство позволяет настроить фильтр списка, который открывается при выборе значения реквизита.
Пример задачи:
В справочнике «Номенклатура» хранится список всех товаров и услуг организации:
В документе «Расходная накладная» товары и услуги хранятся в разных табличных частях:
В заполнении табличной части «Товары» пользователь при выборе товара должен видеть списке только товары, а при заполнении табличной части «Услуги» — только услуги (без товаров). При этом в справочнике «Номенклатура» есть реквизит типа «Булево» — «Услуга», который позволяет однозначно определить тип номенклатуры:
Для решения этой задачи нужно в конфигураторе настроить свойство «Параметры выбора» реквизита «Номенклатура» для каждой табличной части:
Для реквизита «Номенклатура» табличной части «Товары» добавляем в настройки параметров выбора условие вида «Услуга = Ложь», для реквизита «Номенклатура» табличной части «Услуги» — условие вида «Услуга = Истина». В результате при выборе значения реквизита список будет отфильтрован согласно этому условию.
Таким образом, в этой статье мы познакомились с полезными свойствами реквизитов объектов 1С, которые позволяют быстро и просто решать часто возникающие на практике задачи без программирования, это свойства:
- Значение заполнения (настройка значения по-умолчанию)
- Проверка заполнения (обязательность заполнения реквизита)
- Связи параметров выбора (настройка связи между реквизитами одного объекта)
- Параметры выбора (настройка фильтра списка при выборе значения реквизита)
2019-05-01 13:39
Программирование
Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti
Для установки значения по умолчанию при добавлении строки в таблицу на форме можно использовать событие таблицы ПриНачалеРедактирования.
Предположим, что при добавлении строки в таблицу формы ТаблицаПредложений нужно заполнять реквизит таблицы ИдентификаторСтроки представлением уникального идентификатора. Пример кода процедуры обработки события ПриНачалеРедактирования:
&НаКлиенте Процедура ТаблицаПредложенийПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) //Получаем текущую строку таблицы ТекСтрока = Элемент.ТекущиеДанные; //Проверяем, что текущая строка определена и это новая строка таблицы Если ТекСтрока <> Неопределено И НоваяСтрока Тогда //Устанавливаем значение по умолчанию ТекСтрока.ИдентификаторСтроки = Строка(Новый УникальныйИдентификатор); КонецЕсли; КонецПроцедуры
Эту статью хорошо дополняют
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
1 |
|
Реквизит Количество по умолчанию28.07.2019, 14:07. Показов 1464. Ответов 16
Как при создании документа в 1с в тч реквизит количество было по умолчанию равный 1
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
28.07.2019, 14:07 |
16 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,159 Записей в блоге: 1 |
|
28.07.2019, 15:43 |
2 |
в процедуре перед записью посмотреть на ссылку. если пустая — значит это новый элемент и написать што колличество равно однёрке.
0 |
71 / 61 / 17 Регистрация: 12.11.2015 Сообщений: 593 |
|
29.07.2019, 08:58 |
3 |
в процедуре ПриОткрытии() проверку на Новый(). Если новый, то количество = 1.
0 |
198 / 158 / 45 Регистрация: 23.08.2014 Сообщений: 807 |
|
29.07.2019, 11:51 |
4 |
В конфигураторе можно для реквизита задать значение по умолчанию.
0 |
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
13.11.2019, 19:27 [ТС] |
5 |
может кто помочь как правильно написать код?
0 |
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
13.11.2019, 22:17 |
6 |
Можно без кода
В конфигураторе можно для реквизита задать значение по умолчанию.
0 |
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
14.11.2019, 04:22 [ТС] |
7 |
а для реквизита в табличной части нет
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,394 |
|
14.11.2019, 11:29 |
8 |
ЗахарКомардин, Непосредственно пр создании документа корректно никак не сделаешь, т.к. в ТЧ нет данных и неизвестно сколько в ней будет строк. Можно сделать в ПриИзменении основного ссылочного поля (например, Номенклатура) или ПриЗаписи и т.п.
0 |
ЗахарКомардин 0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
||||
17.11.2019, 10:51 [ТС] |
9 |
|||
создал вот так код но не работает подскажите пожалуйста что не так
0 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,159 Записей в блоге: 1 |
|
17.11.2019, 11:39 |
10 |
Объект.Количество = 1; я так понимаю, что вот здесь не так. у тебя ещё нет объекта, а ты в него что-то пишешь.
0 |
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
17.11.2019, 12:05 [ТС] |
11 |
а как нужно написать?
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,394 |
|
17.11.2019, 13:26 |
12 |
ЗахарКомардин, Из первого сообщения — у тебя НЕТ Объект.Количество, есть ТЧ со своим именем и в ней свойство (колонка) Количество.
0 |
ЗахарКомардин 0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
||||
17.11.2019, 19:07 [ТС] |
13 |
|||
Добавлено через 9 минут Добавлено через 1 час 14 минут
0 |
polax 1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,394 |
||||
17.11.2019, 21:44 |
14 |
|||
ЗахарКомардин, Да. Все тяжко.
0 |
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
18.11.2019, 04:47 [ТС] |
15 |
выдает ошибку Значение не является значением объектного типа (Количество)
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,394 |
|
18.11.2019, 08:52 |
16 |
ЗахарКомардин, Значит колонка называется как-то по другому, не Количество
0 |
0 / 0 / 0 Регистрация: 01.10.2018 Сообщений: 149 |
|
22.11.2019, 18:49 [ТС] |
17 |
получилось только при добавлении через стандартную кнопку добавить а у меня кнопка подбор как через нее сделать?
0 |
Содержание:
1. Установка значения по умолчанию в 1С
2. Автоматическое заполнение в 1С
1. Установка значения по умолчанию в 1С
Для удобства и оперативности в конфигурации 1С: Бухгалтерия 8 есть возможность указания значения реквизитов по умолчанию. Настроить значение по умолчанию в 1С 8 Бухгалтерия, редакция 3.0 можно у таких реквизитов как:
· Организация
· Подразделение
· Склад
· Статья движения денежных средств
· Статья затрат
Как задать значение по умолчанию? Для этого в разделе Главное – Настройки – Персональные настройки можно установить для пользователя основные организацию, подразделение и склад:
Персональные настройки в конфигурации 1С Бухгалтерия 8
Заполнение персональных настроек в конфигурации 1С Бухгалтерия 8
После установки этих значений при работе в 1С Бухгалтерия 8, эти реквизиты будут заполнены в новых документах автоматически, но при этом их можно будет поменять на иные, доступные пользователю значения.
Для каждого пользователя программы могут быть установлены свои свойства и значения по умолчанию. В процессе работы эти значения могут меняться или удаляться вовсе в зависимости от того, удобно ли это пользователю.
2. Автоматическое заполнение в 1С
Можно также настроить автоматическое заполнение статей движения денежных средств в 1С Бухгалтерия 8. Для автоматического заполнения в 1С Бухгалтерия в карточке статьи необходимо указать в каких операциях эта статья будет устанавливаться автоматически:
Настройка автоматического заполнения в конфигурации 1С Бухгалтерия 8
Если в настраиваемой статье движения денежных средств указывается документ, который ранее был указан в другой статье, произойдет автоматическое удаление этого документа из поля «Использовать по умолчанию в операциях» в карточке статьи, в которой он был указан ранее. То есть в расчет берется последнее действие, и оно аннулирует предыдущие, т.к. в одном документе по умолчанию может быть указана только одна статья учета движения денежных средств.
Можно также в справочнике статей движения денежных средств перейти на закладку Основные статьи и указать какие статьи по умолчанию будут устанавливаться в документах при том или ином виде операции:
Справочник Статьи движения денежных средств в конфигурации 1С Бухгалтерия 8
При попытке установить одну и ту же статью в разных видах операций конфигурация 1С Бухгалтерия 8 выдаст ошибку.
В статье затрат также есть возможность указать в каких документах будет стоять по умолчанию эта статья:
Настройка статей затрат в конфигурации 1С Бухгалтерия 8
Если в статье затрат указывается документ, который ранее был указан в другой статье, произойдет автоматическое удаление этого документа из поля «Использование по умолчанию» в карточке статьи, в которой он был указан ранее.
Специалист компании «Кодерлайн»
Наталья Януш
Занятие 4 121
на последующие проведенные документы, и, если это так, система способна перепровести необходимые документы.
Впроцессе работы пользователь может самостоятельно создавать новые документы – приходные и расходные накладные, счета и т. п.
Вбазе данных каждый документ представляет собой отдельную запись в основной таблице, хранящей информацию об этом виде документов (рис. 4.1).
Рис. 4.1. Стандартные реквизиты документа «Приходная накладная» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных
Каждый документ, как правило, содержит информацию, которая подробнее описывает этот документ. Например, каждый документ Приходная накладная может содержать информацию о поставщике товаров, складе, на который приходуется товар, и т. д.
Набор такой информации является одинаковым для всех документов одного вида, и для описания такого набора используются реквизиты объекта конфигурации Документ, являющиеся подчиненными
122 1С:Предприятие 8.3. Практическое пособие разработчика
объектами конфигурации. Большинство реквизитов разработчик создает самостоятельно, однако у каждого объекта конфигурации Документ по умолчанию существуют стандартные реквизиты. Два наиболее важных из них – это Дата и Номер. Поскольку тип данных Дата содержит дату и время с точностью до секунды, этот реквизит и определяет в основном положение документа на оси времени (рис. 4.2).
Рис. 4.2. Реквизит «Поставщик» документа «Приходная накладная» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных
Кроме этого, каждый документ содержит, как правило, некоторый набор информации, которая одинакова по своей структуре, но различна по количеству и предназначена для разных документов. Так, например, каждый документ Приходная накладная может содержать список приходуемых товаров.
Для описания подобной информации служат табличные части объекта конфигурации Документ. В этом случае в базе данных будут созданы дополнительные таблицы для хранения табличных частей, подчиненных конкретному документу (рис. 4.3).
Занятие 4 123
Рис. 4.3. Табличная часть «Список товаров» документа «Приходная накладная» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных
Формы документа
Для визуализации документа существует несколько основных форм, которые, как мы уже говорили, имеют несколько вариантов названий
(табл. 4.1).
Узнай больше!
О структуре объектов встроенного языка, предназначенных для работы с документами, можно прочитать в разделе «Краткий справочник разработчика. Документы» на стр. 910.
124 1С:Предприятие 8.3. Практическое пособие разработчика
Таблица 4.1. Основные формы документа
В контекстном меню |
В конструкторе форм |
На закладке формы |
и в палитре свойств |
||
Форма объекта |
Форма документа |
Документа |
Форма списка |
Форма списка документа |
Списка |
Форма выбора |
Форма выбора документа |
Выбора |
Теория: типы данных, типообразующие объекты конфигурации
Прежде чем мы приступим к практическому созданию документов, необходимо сделать отступление о том, какие типы данных могут использоваться в системе «1С:Предприятие».
На предыдущем занятии, когда мы создавали реквизиты справочников или табличных частей, мы всегда указывали тип значения, которое может принимать этот реквизит. Это были примитивные типы данных: Число, Строка, Дата и Булево. Примитивные типы данных изначально определены в системе, и их набор ограничен.
Наряду с такими изначально определенными в любой конфигурации типами могут существовать типы данных, определяемые только конкретной конфигурацией. То есть такие типы, которые не присутствуют в конфигурации постоянно, а появляются в результате того, что добавлены некоторые объекты конфигурации.
Например, после того как мы создали объект конфигурации Справочник Склады, сразу же появилось несколько новых типов данных, связанных с этим справочником. Среди них, например, СправочникСсылка.Склады. И если теперь мы укажем какому-либо реквизиту этот тип данных, то сможем хранить в нем ссылку на конкретный объект справочника Склады.
Объекты конфигурации, которые могут образовывать новые типы данных, называются типообразующими.
Например, после создания нового справочника Номенклатура становятся доступны следующие типы данных:
СправочникМенеджер.Номенклатура,СправочникСсылка.Номенклатура,СправочникОбъект.Номенклатура,СправочникВыборка.Номенклатура.
Занятие 4 125
Следует еще раз отметить, что эти типы данных не поддерживаются платформой изначально и существуют только в конкретном прикладном решении.
Это небольшое отступление было необходимо потому, что уже при создании первого документа мы столкнемся с использованием типов
данных СправочникСсылка.Склады и СправочникСсылка.Номенкла-
тура, которые появились в нашей конфигурации в результате создания объектов конфигурации Справочник Склады и Номенклатура.
Документ «Приходная накладная»
После того как мы познакомились с объектом конфигурации Документ, создадим несколько таких объектов, чтобы иметь возможность фиксировать события, происходящие в нашем ООО «На все руки мастер».
Одними из самых популярных услуг нашего предприятия является ремонт телевизоров и установка стиральных машин. И в том, и в другом случае требуются некоторые материалы, которые расходуются в процессе оказания этих услуг. Поэтому двумя важнейшими событиями в хозяйственной жизни нашей организации будут являться поступление материалов и оказание услуг.
Для отражения этих событий в базе данных мы создадим два документа: Приходная накладная и Оказание услуги.
Документ Приходная накладная будет фиксировать факт поступления в нашу организацию необходимых материалов, а документ Оказание услуги – фиксировать оказание услуг и расход материалов, которые используются при оказании этих услуг.
В режиме «Конфигуратор»
Добавление документа
Откроем конфигуратор и добавим новый объект конфигурации Документ. На закладке Основные зададим имя документа – ПриходнаяНакладная. На основании имени платформа автоматически заполнит его синоним.
Здесь же определим, как будет представлен документ в интерфейсе «1С:Предприятия». Представление объекта задавать не будем, вместо
126 1С:Предприятие 8.3. Практическое пособие разработчика
него будет использоваться Синоним объекта. Это нам вполне подходит, так как мы задали его имя в единственном числе.
Представление списка, наоборот, зададим во множественном числе как Приходные накладные (рис. 4.4).
Рис. 4.4. Установка основных свойств документа
Нажмем Далее и перейдем на закладку Подсистемы.
По логике нашей конфигурации список приходных накладных должен быть доступен в разделах Учет материалов и Бухгалтерия. Действительно, к первому разделу этот документ имеет прямое отношение, а для бухгалтерского анализа всегда может понадобиться список документов, отражающих поступление материалов.
Поэтому отметим в списке подсистем эти подсистемы (рис. 4.5).
Перейдем на закладку Данные и создадим реквизит документа с именем Склад. Для этого нажмем кнопку Добавить над списком реквизитов документа (рис. 4.6).
Занятие 4 127
Рис. 4.5. Определение списка подсистем, в которых будет отражаться документ
Рис. 4.6. Создание реквизита документа
128 1С:Предприятие 8.3. Практическое пособие разработчика
Реквизиты ссылочного типа
Выберем для реквизита ссылочный тип данных СправочникСсылка.Склады. Этот тип стал доступен в конфигурации после создания объекта конфигурации Спра-
вочник Склады (рис. 4.7).
Рис. 4.7. Свойства реквизита документа
Свойство «Значение заполнения» реквизита объекта конфигурации
Теперь покажем, как можно облегчить жизнь пользователя при приходовании материалов. Работа в автоматизируемой нами фирме построена таким образом, что, как правило, все поступающие товары приходуются на основной склад.
Поэтому в палитре свойств для созданного нами реквизита Склад документа найдем свойство Значение заполнения.
В качестве значения этого свойства выберем предопределенный элемент справочника Склады – Основной.
Таким образом, при создании нового документа склад будет сразу заполняться значением Основной, и пользователю не придется делать это вручную (рис. 4.8).
Занятие 4 129
После этого добавим в документ табличную часть с именем Материалы. Для этого нажмем кнопку Добавить табличную часть
над списком табличных частей документа (рис. 4.9).
Рис. 4.8. Выбор значения заполнения по умолчанию для реквизита «Склад»
Рис. 4.9. Создание новой табличной части документа
130 1С:Предприятие 8.3. Практическое пособие разработчика
Проверка заполнения табличной части
Кроме имени табличной части установим свойство Проверка заполнения в значение Выдавать ошибку. Тем самым мы задаем условие, что документ Приходная накладная обязательно должен содержать табличную часть, то есть список приходуемых материалов. Иначе будет выдано сообщение об ошибке, и документ не будет сохранен.
Создадим реквизиты табличной части Материалы. Для этого нажмем кнопку Добавить реквизит в разделе описания табличных частей документа (рис. 4.10):
Материал, тип СправочникСсылка.Номенклатура;
Количество, тип Число, длина 15, точность 3, неотрицательное;Цена, тип Число, длина 15, точность 2, неотрицательное;Сумма, тип Число, длина 15, точность 2, неотрицательное.
Для каждого реквизита табличной части также установим свойство
Проверка заполнения в значение Выдавать ошибку. Тем самым при записи документа будет проверяться на заполнение не только табличная часть в целом, но и ее отдельные реквизиты.
Рис. 4.10. Создание реквизитов табличной части документа
Соседние файлы в папке Учебники
- #
- #
- #
- #
- #
- #
Очень часто при создании различных документов отчетов требуется устанавливать для различных объектов значения по умолчанию. В первую очередь это требуется для ускорения заполнения документов и удобства пользователей. Например, если какой-то реквизит практически всегда должен иметь одно значение зачем его постоянно заполнять вручную. Установить значение по умолчанию можно разными способами, в сегодняшней статья рассмотрим реквизит с типом поле ввода, и посмотрим как для него можно установить какое либо значение по умолчанию. Все это делается достаточно просто, главное нужно знать где и как это делается.
Поле ввода как задать значение по умолчанию
И так для примера я сделал документ с одним реквизитом и типом поле ввода, допустим необходимо что-бы при создании документа данное поле заполнялось автоматически.
Сделать это можно двумя способами, первый, в свойствах реквизита нужно найти раздел «Представление» и пункт «Значение заполнения» вот в нем и необходимо указать значение которое будет подставляться по умолчанию.
В результате при создании нового документа сразу будет заполняться поле установленным значением.
В некоторых случаях первый вариант может не сработать, тогда необходимо открыть обработчик события «При Создании На Сервере».
И написать в нем вот такую строчку кода.
Объект.ПолеВвода = "0001"
Результат будет тот же самый.
Как видите все достаточно просто. Вообще ситуации могут быть разные поэтому если что-то не получается обязательно напишите об этом.