С Режим Конфигуратор

         

Транзакции


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



Транзакции


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

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

НачатьТранзакцию();

СпрСотр.ВыбратьЭлементы();

Пока СпрСотр.ПолучитьЭлемент()=1 Цикл

......СпрСотр.Удалить(0); //пометка на удаление

КонецЦикла;

ЗафиксироватьТранзакцию();



Учет НДС


68.1 (Расчеты по налогам и сборам.НДС)



19.3 (Налог на добавленную стоимость.Налог на добавленную стоимость по приобретенным материально-производственным запасам)



Удаление документа


ДокПрием.Удалить(0); //пометка на удаление

ДокПрием.Удалить(1); //непосредственное удаление

//можно проверить, помечен ли документ на удаление

//функция возвращает 1 - если помечен, 0 - если нет

Пометка = ДокПрием.ПометкаУдаления();



Удаление операций и проводок


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

Опер = СоздатьОбъект("Операция");

Если Опер.НайтиОперацию(ВыбрДокумент)=1 Тогда

....Опер.Удалить(1); //непосредственное удаление (по умолч.)

....Опер.Удалить(0); //пометка операции (документа) на удаление

КонецЕсли;

Методы ПометкаУдаления и СнятьПометкуУдаления работают так же, как для документов.

Метод УдалитьПроводку удаляет текущую проводку из операции.

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

Опер.ВключитьПроводки(0); //выключить проводки

Опер.ВключитьПроводки(1); //включить проводки



Удаление строк и колонок из таблицы значений


ТабЗнач.Очистить(); //очистить таблицу значений и удалить колонки

ТабЗнач.УдалитьСтроки(); //удаляет все строки (колонки сохраняются)

ТабЗнач.УдалитьСтроку(); //удаляет текущую строку

ТабЗнач.УдалитьСтроку(3); //удаляет 3-ю строку

ТабЗнач.УдалитьКолонку("Оклад"); //удаляет колонку Оклад

ТабЗнач.УдалитьКолонку(2); //удаляет 2-ю колонку

ВНИМАНИЕ

Часто требуется удалить строки, удовлетворяющие определенному условию.

Так как при удалении строки из таблицы значений следующая строка становится текущей,

то указанная ниже программа может удалить НЕ ВСЕ необходимые строки.

//ЭТА ПРОГРАММА НЕПРАВИЛЬНАЯ !!!

ТабЗнач.ВыбратьСтроки();

Пока ТабЗнач.ПолучитьСтроку()=1 Цикл

...Если <условие> Тогда

......ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей,

...КонецЕсли;

КонецЦикла;

В этом случае я рекомендую использовать следующий прием:

ТабЗнач.ВыбратьСтроки();

Пока ТабЗнач.ПолучитьСтроку()=1 Цикл

~начало:

...Если <условие> Тогда

......ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей

......Если ТабЗнач.НомерСтроки<>0 Тогда

........ Перейти ~начало;

......КонецЕсли;

...КонецЕсли;

КонецЦикла;

А вот еще один правильный алгоритм, предложенный Wlad:

ТабЗнач.выбратьстроки();

Пока ТабЗнач.ПолучитьСтроку()=1 Цикл

.......Пока (<условие>) и (ТабЗнач.НомерСтроки<>0) Цикл

..............ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей

.......КонецЦикла;

КонецЦикла;



Удаление записей в журнале расчетов


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

Можно также явно удалять записи методом журнала расчетов УдалитьЗапись().



Удаление значений из списка


СписокЗнач.УдалитьВсе(); //очистить список значений

//удаляет значения из указанной позиции

СписокЗнач.УдалитьЗначение(откуда, [сколько]);



Условие отбора


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

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "

|Сотр = Справочник.Сотрудники.ТекущийЭлемент;

|КодДолж = Справочник.Сотрудники.Должность.Код;

|Группировка Сотр упорядочить по Сотр.Наименование;

|Условие (КодДолж = 7);

|";

Запрос.Выполнить(ТекстЗапроса);

Пока Запрос.Группировка("Долж")=1 Цикл

............Сообщить(Запрос.Сотр);

КонецЦикла;



Установка даты выборки периодических реквизитов


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

СпрСотр.ИспользоватьДату(НекаяДата);

//тогда ниже уже нельзя использовать методы Установить и Получить

//доступ к периодическим реквизитам становится такой же, как к обычным реквизитам

Катег = СпрСотр.Категория;

СпрСотр.Оклад = 6000;



Установка и получение значений из подбора


КонтФормыПодбора.УстановитьЗначениеВПодборе(<ИмяРеквизита>,<Значение>)

<ИмяРеквизита> - строка с именем реквизита формы подбора значения;

<Значение> - значение реквизита.

КонтФормыПодбора.ПолучитьЗначениеИзПодбора(<Выражение>)

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



Установка текущего владельца


СпрДоговоры = СоздатьОбъект("Справочник.Договоры");

СпрДоговоры.ИспользоватьВладельца(ВыбрКонтрагент);

СпрДоговоры.ВыбратьЭлементы(); //открываем выборку по договорам выбранного контрагента

<...>



Установка текущей группы


СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.ИспользоватьРодителя(грпРаботающие); //теперь мы внутри группы Работающие

СпрСотр.ВыбратьЭлементы(); //открыть выборку элементов группы Работающие

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.ИспользоватьРодителя(грпРаботающие);

СпрСотр.Новый(); //создание нового элемента в группе Работающие



Ведомость


70 (Расчеты с персоналом по оплате труда)

50.1 (Касса.Касса организации)

Таким образом мы получили следующие синтетические счета:

10.2 - Материалы.Покупные полуфабрикаты и комплектующие изделия, конструкции и детали;

19.3 - Налог на добавленную стоимость.Налог на добавленную стоимость по приобретенным материально-производственным запасам;

20 - Основное производство;

40 - Выпуск продукции (работ, услуг);

50.1 - Касса.Касса организации;

60 - Расчеты с поставщиками и подрядчиками;

62 - Расчеты с покупателями и заказчиками;

68.1 - Расчеты по налогам и сборам.НДС;

70 - Расчеты с персоналом по оплате труда;

90.1 - Продажи.Выручка;

90.2 - Продажи.Себестоимость продаж;

90.3 - Продажи.Налог на добавленную стоимость;

90.9 - Продажи.Прибыль/убыток от продаж;

99 - Прибыли и убытки;

Итого одиннадцать счетов, ряд которых имеет субсчета.

2.17 Определение перечня субконто.

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

Счет 10 (Материалы). Нам надо знать, куда поступили комплектующие, что конкретно поступило, по какому документу (чтобы потом списывать из партий, пришедших первыми);

Счет 19 (Налог на добавленную стоимость). Аналитики нет;

Счет 20 (Основное производство). На что тратим деньги, господа!? – это первый разрез аналитики, что делаем и по какому распоряжению (наряду) – второй и третий;

Счет 40 (Выпуск продукции). Где будем хранить готовую продукцию, что будем хранить, по какому документу пришло на склад;

Счет 50 (Касса). Без аналитики;

Счет 60 (Расчеты с поставщиками и подрядчиками). Кому и за какую накладную платить;

Счет 62 (Расчеты с покупателями и заказчиками). С кого и за какую накладную деньги требовать;

Счет 68 (Расчеты по налогам и сборам). Аналитики нет;

Счет 70 (Расчеты с персоналом по оплате труда). Кому платить за работу то будем?

Счет 90 (Продажи). Что продали;

Счет 99 (Прибыли и убытки). Без аналитики;

Сведем все в столь любимую нами таблицу:



Вхождение вида расчета в группу


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

1-й вариант:

ВсегоНачислено = 0;

ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);

Пока ЖЗ.ПолучитьЗапись()=1 Цикл

....Если ЖЗ.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1 Тогда

..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;

....КонецЕсли;

КонецЦикла;

2-й вариант:

ВсегоНачислено = 0;

ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);

Пока ЖЗ.ПолучитьЗапись()=1 Цикл

....Если ГруппаРасчетов.ВсеНачисления.СодержитВидРасчета(ЖЗ.ВидРасч)=1 Тогда

..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;

....КонецЕсли;

КонецЦикла;



Виды конструктуров


Конструкторы объектов метаданных — вспомогательные инструменты, облегчающие создание объектов метаданных системы 1С:Предприятие.

Конфигуратор включает конструкторы:

справочника;

· документа;

· журнала документов;

· отчета;

· вида субконто;

· журнала расчетов.

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

Назначение Конструктора макета отчета — автоматическое создание шаблона печатной формы объекта метаданных.

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

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

Конструктор ввода на основании предназначен для создания процедуры ввода на основании в модуле формы документа.

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

Конструктор формирования операции упрощает оформление в модуле документа бухгалтерского учета бухгалтерской операции генерируемой этим документом.

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



Виды предопределенных процедур


В системе 1С существуют следующие виды предопределенных процедур:



Виды расчета


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

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

Приоритет

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

Для организации последовательности выполнения расчетов служит понятие их приоритета. Этот параметр может принимать значение от 0 до 999 и действует следующим образом: чем меньше приоритет расчета, тем раньше он выполняется. Это отражается в последовательности расположения записей журнала расчетов — записи с видами расчетов меньшего приоритета располагаются перед записями с видами расчетов большего приоритета.

Вытесняющие расчеты

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

Очевидно, что в этом случае выполняется условие взаимоисключения перечисленных видов расчета — нельзя, например, одновременно и болеть и работать, т. е. получать и оклад, и деньги по больничному листу. Такие расчеты взаимно исключают друг друга во времени и система должна гарантировать, что ввод одного из них приведет к исключению другого. (Как выяснилось из реальной жизни можно заболеть во время отпуска ;-)



Виды субконто


Для ведения аналитического учета в 1С используется термин "субконто". Субконто в системе 1С:Предприятие называется объект аналитического учета. Термином «субконто» могут быть обозначены любые объекты аналитического учета: основные средства, нематериальные активы, материалы, организации, подотчетные лица, договоры, бюджеты. Видом субконто, в свою очередь, называется множество однотипных объектов аналитического учета. Например, вид субконто "Контрагенты" типа Справочник.Контрагенты, субконто - "Магазин Красная Заря".

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

Пример, вывести все виды субконто, прикрепленные к заданному счету:

Счета = СоздатьОбъект("Счет.Основной");

Счета.НайтиПоКоду("10.1");

Для Ном = 1 По Счета.КоличествоСубконто() Цикл

.... Сообщить("Вид субконто " + Счета.ВидСубконто(Ном));

КонецЦикла;



Владелец


Перебор элементов справочника принадлежащих элементу другого справочника.

Один справочник подчинен другому справочнику, например спр. НалоговыеЛьготы подчинен спр. Сотрудники.



В Конфигураторе можно задать для


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

Если вы производите непосредственное удаление


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

в 1С часто называется


Иерархический справочник - это также многоуровневый
справочник, или справочник с группами.

Группа справочника в 1С часто называется "родитель".

В Конфигураторе можно задать для


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

Эти методы можно применять, если


Эти методы можно применять, если ранее не применялся метод ИспользоватьДату

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


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

Форма.ВыбрСотрудник.ВыборГруппы(0); //отключить возможность выбора группы



Временный расчет регистров


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

РегТовары = СоздатьОбъект("Регистр.Товары");

РегДоходы = СоздатьОбъект("Регистр.Доходы");

//установка флага временного расчета для регистров

РегТовары.ВременныйРасчет(1);

РегДоходы.ВременныйРасчет(1);

1. Метод РассчитатьРегистрыНа

Рассчитать все регистры с установленным флагом временного расчета на начало события.

(на начало даты или на момент до проведения документа)

2. Метод РассчитатьРегистрыПо

Рассчитать все регистры с установленным флагом временного расчета на конец события.

(на конец даты или на момент после проведения документа)



Время документа


Кроме даты, позиция документа обозначается временем. С ним можно поступать так:

Часы = 0;

Минуты = 0;

Секунды = 0;

Док.ПолучитьВремя(Часы, Минуты, Секунды); // Прочтем время

Если Часы > 21 Тогда

Предупреждение("Хватит работать по ночам!

|Документ будет помещен в конец дня");

Док.АвтоВремяКонецДня(); // документ запишется на 10 сек позже последнего

ИначеЕсли Часы < 8 Тогда

Предупреждение("Никто не оценит!

|Документ будет записан в начало дня");

Док.АвтоВремяНачалоДня();// документ запишется на 10 сек раньше первого

ИначеЕсли Вопрос("Записать документ с текущим временем?", 4) = 7 Тогда // ответ "Нет"

ВвестиЧисло(ЧасУст, "Укажите час, с которым будет записан данный документ",2,0);

Док.УстановитьВремя(ЧасУст, Минуты, Секунды); // запишется с этим временем

Иначе

Док.АвтоВремяТекущее(); // документ запишется с текущим временем

КонецЕсли;



Встроенный язык


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



Ввод записей в журнал расчетов


Записи в журнал расчетов обычно вводятся при проведении документов.

ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");

ЖЗ.УстановитьРеквизит("Рассчитана",1);

ЖЗ.ВвестиРасчет(ВыбрСотрудник, ВидРасчета.Премия, НачалоМесяца, КонецМесяца, ПремияСотруднику);

или

ЖЗ.ЗаписатьРасчет(ВыбрСотрудник, ВидРасчета.Премия, НачалоМесяца, КонецМесяца, ПремияСотруднику);

Отличие метода ЗаписатьРасчет заключается в том, что ввод вытесняющих расчетов приводит к вытеснению только тех расчетов, которые имеют меньший приоритет, а не меньший либо равный, как в случае с методом ВвестиРасчет. Это приводит, в частности, к тому, что за счет применения этого метода расчет не вытесняет «сам себя».

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



Выгрузка и загрузка списка значений


//выгрузка в другой список значений или таблицу значений

Синтаксис: Выгрузить(<Знач>,<НачПоз>,<Колич>)

СписокЗнач.Выгрузить(НовыйСписок,1,10); //выгрузить первые 10 значений

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

стр = СписокЗнач.ВСтрокуСРазделителями(); //возвращает строку: 10,12,"Иванов","Петров"

//загрузка списка значений из строки с разделителями

//обратите внимание на двойные кавычки для строковых значений

СписокЗнач.ИзСтрокиСРазделителями("10,12,""Иванов"",""Петров""");



Выгрузка таблицы значений


Синтаксис: Выгрузить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>)

//выгрузить 10 сотрудников с наибольшими окладами в новую таблицу значений

ТабЗнач.Сортировать("Оклад-");

ТабЗнач.Выгрузить(НоваяТабЗнач,1,10,"Сотрудник,Оклад");



Вывод секций


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

Таб.ВывестиСекцию("Шапка");

Пока ...

........Таб.ВывестиСекцию("Сотр");

КонецЦикла;

Таб.ВывестиСекцию("Подвал");



Загрузка измененной конфигурации


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

Объединение конфигураций

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

Язык 1С очень похож на Бейсик. В 1С все ключевые слова можно писать по-русски.



Заказ


Экранная форма документа выглядит следующим образом:

При проведении документа производятся движения в регистре Заказы:

Процедура ОбработкаПроведения()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Регистр.Заказы.Товар = Товар;

Регистр.Заказы.Клиент = Клиент;

Регистр.Заказы.ДатаДоставки = ДатаДоставки;

Регистр.Заказы.Заказ = ТекущийДокумент();

Регистр.Заказы.Цена = Цена;

Регистр.Заказы.Количество = Количество;

Регистр.Заказы.Сумма = Сумма;

Регистр.Заказы.ДвижениеПриходВыполнить();

КонецЦикла;

КонецПроцедуры



Запись движений в оборотный регистр


(только при проведении документа)

1. Метод Движение

Пример: Регистр.Товары.Движение (ПоступившийТовар, ТекСклад, КолвоПоНакладной, СуммаПоНакладной)

2. Метод ДвижениеВыполнить

Пример:

Регистр.Товары.Товар = ПоступившийТовар;

Регистр.Товары.Склад = ТекСклад;

Регистр.Товары.Количество = КолвоПоНакладной;

Регистр.Товары.Стоимость = СуммаПоНакладной;

Регистр.Товары.ДвижениеВыполнить();

Примечание: Если сумма или количество в движении будет отрицательным, то это движение будет расходом, иначе приходом.



Запись движений в регистр остатков


(только при проведении документа)р.Доходы.ДвижениеПриход(Покупатель,КупленныйТовар,СуммаПокупки)

Методы ДвижениеПриходВыполнить и ДвижениеРасходВыполнить

Пример:

Регистр.Доходы.Клиент = Покупатель;

Регистр.Доходы.Товар = КупленныйТовар;

Регистр.Доходы.Доход = СуммаПокупки;

Регистр.Доходы.ДвижениеПриходВыполнить();



Запись в файл DBF


Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF

//определяем структуру файла

//Синтаксис: ДобавитьПоле(<Название>,<Тип>,<Длина>,<Точность>)

Файл.ДобавитьПоле("NAME","S",50,0);

Файл.ДобавитьПоле("PRICE","N",10,2);

Файл.СоздатьФайл("catalog.dbf"); //создаем файл физически

СпрТовары.ВыбратьЭлементы();

Пока СпрТовары.ПолучитьЭлемент()=1 Цикл

.......Файл.Добавить();

.......Файл.NAME = СпрТовары.Наименование;

.......Файл.УстановитьЗначениеПоля("PRICE",СпрТовары.Цена) //так тоже можно;

.......Файл.Записать();

КонецЦикла;

Файл.ЗакрытьФайл(); //не забывайте пожалуйста



Запрос к регистру


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

ТекстЗапроса = "

|Период С ДатаНач По ДатаКон;

|Товар = Регистр.Доходы.Товар;

|Клиент = Регистр.Доходы.Клиент;

|Доход = Регистр.Доходы.Доход;

|Условие (Товар = ТекТовар);

|Группировка Клиент;

|Функция ПриходПоКлиенту = Приход(Доход);

|";



Запрос к справочнику


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



Запрос к справочнику


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



Журнал "Чат"


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

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



Журнал "Письма"


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



Журналы документов


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

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

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

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

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

У журнала документов есть экранная форма, где можно настраивать отображаемые колонки. Можно создавать дополнительные колонки, которые будут отображать информацию из документов. Например, в журнале ПриказыКадровые удобно сразу видеть, к какому сотруднику относится каждый документ, для этого создается Графа журнала Сотрудник



Журналы расчетов


Журнал расчетов предназначен для хранения данных сложных периодических расчетов, поддерживаемых компонентой «Расчет», и их предыстории. Основным свойством журнала расчетов является его принадлежность тому или иному справочнику системы. Такой справочник называется справочником объектов расчета. Фактически, справочник определяет вид объектов, по которым ведется расчет. Например, это может быть: журнал расчетов зарплаты, причем списком объектов расчета будет выступать справочник сотрудников; журнал расчетов дивидендов, тогда списком объектов расчета будет выступать справочник акционеров; журнал расчетов амортизации — списком объектов расчета будет выступать справочник основных средств. В процессе конфигурирования настраивается неограниченное число журналов расчета, каждый из которых будет решать ту или иную задачу предметной области.

Непременными атрибутами каждой записи журнала расчетов являются: объект, для которого данный расчет проведен (обычно сотрудник); вид расчета, по которому данный расчет проведен; дата начала и дата окончания действия данного расчета и результат расчета.

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