1С справочник контрагентов

1С справочник контрагентов

Структура в 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С: Бухгалтерия 8.3» на примере справочника контрагентов. В нем хранятся сведения обо всех субъектах хозяйствования, с которыми собственная организация имеет деловые контакты.

Для перехода в режим работы со справочником контрагентов нужно в разделе Покупки и продажи выполнить команду Еще ? Контрагенты. Окно справочника, которое отобразится на экране, представлено на рис. 5.13.

Рис. 5.13. Справочник контрагентов

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

Возможность группировки контрагентов – довольно удобный механизм, поскольку позволяет разделить их по категориям (Поставщики, Покупатели, Заказчики, Подрядчики, Прочие и т. д.).

При заполнении справочника рекомендуется вначале сформировать список групп, а затем заполнять группы позициями (контрагентами).

Чтобы добавить в справочник группу контрагентов, нажмите кнопку Создать группу либо комбинацию клавиш Ctrl+F9. В результате на экране отобразится окно ввода и редактирования группы контрагентов, изображенное на рис. 5.14.

Рис. 5.14. Ввод группы контрагентов

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

В поле Комментарий при необходимости можно с клавиатуры ввести произвольный комментарий к создаваемой группе.

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

При необходимости впоследствии можно отредактировать параметры любой введенной ранее группы – для этого нужно выделить ее в списке щелчком мыши, выполнить команду Еще ? Изменить либо нажать клавишу F2, после чего в открывшемся окне (см. рис. 5.14) внести требуемые изменения.

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

Рис. 5.15. Режим добавления контрагента и корректировки данных о нем

В данном окне производится не только ввод новых, но и редактирование введенных ранее контрагентов. Для перехода в режим редактирования нужно в окне списка выделить контрагента щелчком мыши и выполнить команду Еще ? Изменить либо нажать клавишу F2.

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

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

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

Остальные параметры данного окна сгруппированы на вкладках: Общие, Адреса и телефоны и Дополнительная информация. Кроме этого, переход в режим ввода некоторых данных осуществляется с помощью ссылок, расположенных в верхней части окна – на рис. 5.15 это Лицензии поставщиков алкогольной продукции, Номенклатура поставщика и Счета расчетов с контрагентами (здесь можно перечислить счета бухгалтерского учета, на которых будут отражаться операции с данным контрагентом).

На вкладке Общие (она открыта на рис. 5.15) вводятся основные сведения о контрагенте.

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

В полях ИНН и КПП с клавиатуры вводится соответственно индивидуальный номер налогоплательщика и код причины постановки на учет.

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

На вкладке Адреса и телефоны (рис. 5.16) вводятся соответствующие контактные данные контрагента.

Рис. 5.16. Ввод сведений об адресах и телефонах контрагента

Поля Почтовый адрес, Фактический адрес и Юридический адрес заполняются по одним и тем же правилам. Это можно делать как с клавиатуры, так и в отдельном диалоговом окне, которое вызывается щелчком на ссылке Заполнить. Если фактический и почтовый адреса совпадают с юридическим, то нужно установить соответствующие флажки – это избавит от необходимости повторного ввода одних и тех же сведений.

Телефонный номер (городской и факс) контрагента, его электронный адрес и прочие контакты вводятся в соответствующих полях с клавиатуры.

На вкладке Дополнительная информация находится текстовое поле, в котором можно с клавиатуры ввести дополнительную информацию произвольного характера.

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

Для сохранения введенных данных о контрагенте нажмите в верхней части окна кнопку Записать и закрыть либо комбинацию клавиш Ctrl+Enter.

Оглавление книги

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

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

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

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

Поэтому в поле «наименование» лучше всего вводить краткое и понятное ключевое наименование контрагента, по которому легко найти этого контрагента в списке. А в поле «полное наименование» следует вводить полное наименование контрагента, которое будет фигурировать в документах.

Особенности и настройка справочника 1С Контрагенты

Особенностью учета расчетов с контрагентами в программах 1С является учет по договорам. Договор контрагента – это обязательный реквизит аналитического учета контрагентов по счетам 60, 62, 66, 67, 76.

Поэтому при вводе новой записи в справочник контрагенты нужно перейти на вкладку «Счета и договоры» и в табличной части «Договоры контрагентов» ввести договор контрагента. Если для учета расчетов с контрагентом не требуется детализация расчетов в разрезе договоров, достаточно для контрагента ввести один «основной договор» и использовать его во всех документах 1С.

При необходимости в табличной части «Банковские счета» вводятся банковские счета контрагента, которые будут использоваться в платежных документах.

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

На странице пробных уроков курса можно скачать видеоурок по настройке счетов учета расчетов справочника Контрагенты.

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

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

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

  • Добавить свою публикацию
  • для этого требуется регистрация

Кузнец Никула 11.02.2013 +5

Структура и соответствие являются своего рода таблицей, имеющей две колонки: ключ и значение. В колонке «Ключ» хранится индексируемый элемент, по которому производится поиск. Сам элемент поиска находится в поле «Значение». Какой механизм лучше использовать с точки зрения быстродействия поиска? Проведем серию экспериментов.

Создадим справочник Товары и наполним его 20 000 элементами. Далее с помощью нехитрой процедуры запишем данные всех этих элементов в структуру и соответствие. В первом эксперименте в ключ будем записывать ссылку для соответствия и наименование для структуруы. Во втором замере в качестве ключа будем использовать наименивание для обоих классов. В третьем для ключа структуры выбрано наименоваине, для соответствия — числовое поле.

1 опыт 2 опыт 3 опыт
Соответствие Ссылка Строка Число
Структура Строка Строка Строка

Ниже приведен листинг процедуры для поиска значения по ключу для соответствия и структуры.

Процедура ПоискЗначенияПоКлючу(ДляСоответствия, Ключ) Если ДляСоответствия Тогда Возврат ИскомоеСоответствие; Иначе ЗначениеПоиска = Неопределено; ИскомаяСтруктура.Свойство(Ключ,ЗначениеПоиска); Возврат ЗначениеПоиска; КонецПроцедуры

Для первого опыта получены следующие результаты:

Как мы видим, с достаточно большим отрывом выигрывает соответствие. Время поиска для структуры показано примерно в 1/4 раза медленнее.

После второго эксперимента ситуация кардинально изменилась:

Время поиска для соответствия с параметром типа «Строка» в ключе проигрывает структуре практически в два раза.

В ходе третьего эксперимента лидерство вновь захватило соответствие.

Более чем в шесть раз соответствие справилось с этим заданием быстрее.

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

В языке программирования 1С, есть несколько коллекций (множеств) значений. Каждые из них имеют свои возможности и предназначение, хотя иногда имеют одинаковые методы (например Количество()).

Структура — один из основных видов коллекций, по сути, это массив именованных значений.

Какие особенности имеет структура

  • Имя (Ключ) значения всегда строка, которое не может начинаться на цифру и содержать некоторые символы (пробел,%,?,>,< и другие);
  • ключ не может быть пустым;
  • значение может быть произвольного типа, в том числе «Неопределенно» или же Структура(вложенная);
  • ключ уникален во всей структуре;
  • регистр ключа имеет значение («Ключ» не равно «ключ»);
  • структура может быть пустой(не содержать значений);
  • значения могут быть инициализированы при создании, либо заполнены поочередно;
  • является универсальным транспортным значением для всех платформ 1с и видов исполнения (не мутабельное);
  • возможно использование в системной процедуре ЗаполнитьЗначения();
  • тип «Структура» не хранится в базе данных (это рабочее, промежуточное значение или свойство объекта);
  • ключ нельзя изменить (переименовать);
  • скоростью обращения к значению обычно пренебрегают при небольших коллекциях, но структура не является индексированной таблицей (скорость опредяеляется скоростью памяти, перебора значений до искомого).

Приемы работы со структурой

//Создание структуры:
Структура = Новый Структура;
Структура = Новый Структура(«Ключ1,Ключ2″,»Значение1»,2);

//Обращение к значению структуры
Значение1 = Структура.Ключ1;
Значение2 = Структура;

//Добавление значения
Структура.Вставить(«Ключ3», Дата(1,1,1));

//Удаление одного значения
Структура.Удалить(«Ключ2»);

//Удаление всех значений
Структура.Очистить();

//Перебор значений
Для каждого ЭлементСтруктуры из Структура Цикл
Сообщить(ЭлементСтруктуры.Ключ);
Сообщить(ЭлементСтруктуры.Значение);
КонецЦикла;

ЗаполнитьЗначенияСвойств(СтруктураПриемник,Структура);

//Проверка наличия значения с определенным ключом в структуре

Если Структура.Свойство(«Ключ») = Ложь Тогда //Используется как функция

Структура.Вставить(«Ключ»,»Теперь ключ есть»);

Значение = Неопределено;

Структура.Свойство(«Ключ»,Значение); //Используется как процедура

Сообщить(Значение); //Значение стало «Теперь ключ есть»

КонецЕсли;

У структуры есть объект-потомок — «ФиксированнаяСтруктура», ее значения нельзя поменять: вставить, удалить, остальные методы у них одинаковы, поэтому она и называется фиксированной.

Фиксированную структуру можно инициализировать при создании на основании структуры.

Структура = Новый Структура(«ИмяЗначения»,0);
Фикс = Новый ФиксированнаяСтруктура(Структура);
Сообщить(Фикс.ИмяЗначения);

Кодак продает фотопленку, но рекламируют они не фотопленку. Они рекламируют память.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *