" 1C"
1C
1C
1C
1C e mail c c ru URL http www c ru
Учебны& 545t1923f #1081;
uc c ru www c uc ru
1C
e-mail: [email protected].
обладает набором
свойств (их состав
часто объекты конфигурации являются
аналогами реально существующих
встроенным языком изначально, часть
появляется после добавления в конфигурацию объекта
объекты. Группа вспомогательных объектов
конфигурации, с помощью которых осуществляется
конфигурации, механизмов взаимодействия
пользователей
с учетными
данными.
Подчиненные объекты. К таким объектам относятся
Константы. Предназначены для хранения постоянных,
Справочники. Списки однородных элементов данных.
Используются для хранения нормативно-справочной
Служат
для отображения
списков
Перечисления. Списки значений, задаваемых на этапе
Планы видов расчета. Предназначены для описания
Обработки. Используются для выполнения различных
Регистры сведений. Служат для хранения информации,
состав которой
развернут по определенной комбинации
Регистры бухгалтерии. Используются для отражения в
бухгалтерском учете информации о хозяйственных
Реквизиты - дополнительная информация об объекте,
Реквизиты
табличных
частей -
состав табличной части
в пределах
табличной
части
Формы - используются для ввода, просмотра и
Макеты - табличные документы, предназначенные для
в Графы - графы журнала документов.
Примитивные типы (в их состав входят базовые типы
Типы данных, «появившиеся» после определения в
«Другие» типы, не относящиеся к примитивным и
Строка (строка фиксированной, или неограниченной
Null
настраиваемоеT системы. Язык является предметно-
процедуры-обработчики событий «ПриНачалеРаботыСистемы()>> и
"1С:Предприятие", то с помощью свойств «Клиент» и «Сервер», а
N
В данной конфигурации будут присутствовать элементы двух
|
|
подсистемы. Можно сказать, что они выступают как средство
управления «Панель» ().
В результате форма элемента должна принять вид близкий к
обСпр.Наименование="Одинаковое";
В форме списка определим свойства кнопки командной панели
управления (добавим в , автоматически созданную панель
Если ТекСтрока <> Неопределено Тогда
Форма=ТекСтрока.ПолучитьФорму("ФормаЭлемента"");
|
Реализуем возможность печати прайс-листа из формы списка
Макет = Справочники.Номенклатура.ПолучитьМакет("ПрайсЛист");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
Если Выборка.ЭтоГруппа=Истина Тогда ОбластьТабЧасти=Макет.ПолучитьОбласть("СтрокаГруппы"); ОбластьТабЧасти.Параметры,Код=Выборка.Код;
ОбластьТабЧасти=Макет.ПолучитьОбласть("Строка"); ОбластьТабЧасти.Параметры.Код=Выборка.Код; ОбластьТабЧасти.Параметры.Наименование=Выборка.Наименование; ОбластьТабЧасти.Параметры.РозничнаяЦена=Выборка.ЦенаПродажи;
Последним шагом будет помещение в диалог формы кнопки и
Подобны& 545t1923f #1077; печатные формы объектов можно создавать с помощью
«Запретить» (проведение документов будем рассматривать позже).
Если СтрокаТЧ.ЕдИзмерения.Базовая <>
СтрокаТЧ.Номенклатура.ОснЕдиницаИзмерения.Базовая Тогда Предупреждение("Базовые единицы не сходятся!!!"); СтрокаТЧ.ЕдИзмерения=0;
СуммаДокумента=Товары.Итог("Сумма");
Указанные процедуры необходимо привязать к соответствующим
подобны& 545t1923f #1093; перечней в системе существует объект «перечисление».
При вызове конструктора печатной формы начальные установки
связать его с надписью в диалоге и в процедуру "ПриЗаписи()"
СуммаПрописью=ЧислоПрописью(СуммаДокумента""рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
|
|
ФормаСР=РегистрыСведений.Валюты.ПолучитьФормуСписка(,ЭтаФорма,"Док"+Номер);
Отбор=Новый Структура("Валюта",Валюта);
происходить не будет. Но подобны& 545t1923f #1081; результат определяется в случае необходимости подобны& 545t1923f #1081; недостаток можно довольно просто
: -
|
|
Требуется определение процедуры «Печать()>> из модуля формы
Позиция тип «СправочникСсылка.Номенклатура»
элементы справочника, заполняя их реквизиты из других объектов элемент справочника на основании выбранного экземпляра документа
После этого для определения процедуры «ОбработкаЗаполнения()>>
Если ТипЗнч(Основание)=Тип("СправочникСсылка.ФизическиеЛица") Тогда Сотрудник = Основание.Ссылка;
КонецЕсли; КонецПроцедуры
|
модель (доступ идет через свойства, методы
Табличная модель (конфигурация представляется набором
«Обычное поле» (содержащее какое-либо значение, либо
Null
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||
Выбрать [Различные] [Первые <Количество>] <Список полей выборки>
[Из <Список источников>]
[Где <Условие отбора>]
[Сгруппировать По <Поля группировки>]
[Имеющие <Условия отбора>]
Of]<Список таблиц верхнего уровня>]]
табличной части «ТЧСсылка», тип
которая выполняется при нажатии на кнопку
Запрос.УстановитьПараметр("ТЧ", ТЧ.ВыгрузитьКолонку("ТЧСсылка"));
Запрос.УстановитьПараметр("НачПериода",НачПериода);
Запрос.УстановитьПараметр("КонПериода",КонПериода);
Запрос.УстановитьПараметр("ЗначениеСсылка",ЗначениеСсылка);
Запрос.УстановитьПараметр("ЗначениеЧисло",ЗначениеЧисло);
Запрос.УстановитьПараметр("ЗначениеБулево",ЗначениеБулево);
Запрос.УстановитьПараметр("ЗначениеСтрока",ЗначениеСтрока);
Исходя из назначения констант, таблица «Константы» всегда
N.
N только первые N записей.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Null
|
|
сотрудников и данных о том, в каких организациях они работали.
документа «Приходная». Сравните с таблицей, представленной
Напишите текст
запроса, позволяющий
получить данные из
*
. .
С>жд-ш(Количество), С>>лша(Сумма) как Сумма
Сумма(Сумма)> 1000
Посмотрите результат выполнения запроса и сравните его с
Посмотрите результат, если вместо ключевого слова «Иерархия»
В случае, если итоги используются совместно с группировкой, и для итогов не указан список агрегатных фyнкций, он будет автоматически
Cумма(Koличecтвo), Cумма(Cyммa)
Количество>10 Тогда "Больше 10"
Количество<=10 Тогда "Меньше или равно 10"
Сумма(Количество)>100 Тогда "Больше 10"
Сумма(Количество)<=100 Тогда "Меньше или равно 10"
- - -
Номенклатура,Ссылка как Док,Сумма(Количество),"Приход" как Вид
Null
запрос. К примеру, это могут быть значения условий,
Где Номенклатура=&Номен
Напишите текст запросов, позволяющих просматривать
РегистрСведений. Валюты.СрезПоследних(&НачПериода)
* Из РегистрСведений. Валюты.СрезПервых(&НачПериода)
Из РегистрНакопления.ОстаткиНоменклатуры.Остатки(&НачПериода)
(выбираются периоды, по
получать остаток выбранной номенклатурной позиции на
позиция, остаток на начало периода, приход, расход, остаток на
3. Напишите текст запроса, который при выполнении выдаст
Таблица предназначена для получения записей принадлежности
таблица предназначена для получения границ
открывать как в режиме конфигуратора, так и в пользовательском
Макет = ПолучитьМакет("Закупки");
"ВЫБРАТЬ
ПриходнаяТовары.Номенклатура КАК Номенклатура,
СУММА(ПриходнаяТовары.Количество) КАК Количество,
СУММА(ПриходнаяТовары.Сумма) КАК Сумма,
Приходная.Контрагент КАК Контрагент,
Приходная.Контрагент.Представление
Документ.Приходная.Товары КАК ПриходнаяТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Приходная КАК Приходная
ПО ПриходнаяТовары.Ссылка = Приходная.Ссылка
ПриходнаяТовары.Номенклатура,
Приходная.Контрагент
ОБЩИЕ";
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы=Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги"); ОбластьДетали = Макет.ПолучитьОбласть(" Детали");
// Общий итог
информация:
какой
покупатель,
какие товары,
в каком
количестве и
Необходимо
добавить
отчет должен предоставлять информацию по всем
в
нем помимо сумм продажи
фигурирует себестоимость и
прибыль. Себестоимость единицы товара берется из
реквизита
|
|
ЭлементыФормы.ОбходРезультата.СписокВыбора.Добавить
(ОбходРезультатаЗапроса.Прямой,
"Прямой");
ЭлементыФормы.ОбходРезультата.СписокВыбора.Добавить
(ОбходРезультатаЗапроса.ПоГруппировкам,
"По
группировкам");
ЭлементыФормы.ОбходРезультата.СписокВыбора.Добавить
(ОбходРезультатаЗапросаДоГруппировкамСИерархией,
"По
иерархии");
Макет = ПолучитьМакет("ПродолжениеМакет");
Секция
=
Макет.ПолучитьОбласть("Шапка");
_______ Секция.Параметры.ПериодС
=
Формат(КонПериода,
"ДЛФ=Р");
Секция.Параметры.ПериодПо = Формат(КонПериода, "ДЛФ=В");
Секция = Макет.ПолучитьОбласть("Позиция");
Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ
(Где Ссылка.Дата Между &НачПериода И &КонПериода
I";
Запрос.УстановитьПараметр("'НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
можно получить данные, которые не «запрашивались явно» при
Макет = ПолучитьМакет("ПродолжениеМакет");
Секция = Макет.ПолучитьОбласть("Шапка");
Секция = Макет.ПолучитьОбласть("Позиция");
СекцияП = Макет.ПолучитьОбласть("Поставщик");
Текст-Запроса = "ВЫБРАТЬ
Пока ВыборкаОсновная.Следующий() Цикл
КонецЦикла;
процедуры, исполняемой при нажатии на кнопку
"ВЫБРАТЬ
Ссылка.КонтактноеЛицо КАК Контакт,
Номенклатура КАК Номенклатура,
Количество,
Документ.Расходная.Товары
|Где
ссылка.Дата
Между
&НачПериода
И &КонПериода
Номенклатура,
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметрС'КонПериода", КонецДня(КонПериода));
на осях
СводнаяТаблица.Колонки,Добавить("Покупатель");
СводнаяТаблица. Строки. Добавить("Номенклатура");
СводнаяТаблица. Данные.Добавить("Количество");
СводнаяТаблица. Данные.Добавить("Сумма");
?(КонПериода='0001 -01 -01',
НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода,Период; НастройкаПериода.Редактировать(); НачПериода = НастройкаПериода.ПолучитьДатуНачала(); КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
ТипДиаграммы.Круговая, "Круговая");
ТипДиаграммы.КруговаяОбъемная, "Круговая объемная");
ТипДиаграммы.Гистограмма, "Гистограмма");
ТипДиаграммы.ГистограммаОбъемная, "Гистограмма объемная");
ТипДиаграммы.ГистограммаСНакоплением, "Гистограмма с накоплением");
ТипДиаграммы.ГистограммаСНакоплениемОбъемная, "Гистограмма с накопл. объемная");
ТекстЗапроса = "ВЫБРАТЬ
|ИЗ РегистрНакопления.Продажи.Обороты(&ПериодС, &ПериодПо") (УПОРЯДОЧИТЬ ПО Номенклатура.Наименование |
I";
Запрос.УстановитьПараметр("ПериодС", НачПериода); Запрос.УстановитьПараметрС'ПериодПо", КонПериода);
эфДиаграмма.Точки[0].Текст = "Сумма";
|
|
ДиалогОткрытияФайла=Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла=""; Фильтр="Все(*,*)|*,*"; ДиалогОткрытияФайла.Фильтр=Фильтр; ДиалогОткрытияФайла.МножественныйВыбор=Ложь; ДиалогОткрытияФайла.Заголовок="Выберите файлы";
рекомендуемый размер таких картинок 16x16 точек. Если картинку размер не должен превышать 14x14 точек. Если же картинку планируется использовать в кнопке выбора поля редактирования, ее размер не должен превышать 9x9 точек.
Установить соответствия объектов
Установить режимы объединения конфигураций (для всей
порядок подчиненных объектов (для всей
И в контекстном меню выбрать пункт «Показать различия в
«Конфигурация конфигураций
|
|
cf cfu
загрузки конфигурации из файла, когда файлом является файл
производит допуск к работе (в документе должны быть отметки о
Создадим регистр бухгалтерии «Основной». В свойство «план счетов» выберем созданный предварительно план счетов «Основной». Регистр будет с поддержкой корреспонденции. После этого определяем состав реквизитов (в соответствии с рисунком). Реквизит «Сумма» является балансовым, «Количество» не является балансовым и связан с признаком учета «Количественный».
Для Каждого ТекСтрокаТовары Из Товары Цикл
// регистр Основной
Движение = Движения.Основной.Добавить();
Движение.СчетДт = ПланыСчетов.Основной.товары;
Движение.СчетКт = ПланыСчетов.Основной.поставщики;
Движение.Период = Дата;
Движение.Регистратор = Ссылка;
Движение.Сумма = ТекСтрокаТовары.Сумма;
Движение.КоличествоДт = ТекСтрокаТовары.Количество;
КонецЦикла;
Далее определим как предопределенные два вида расчета: «Оклад» и «Штраф». При определении флажки на закладках «Базовые», «Вытесняющие» и «Ведущие» не отмечаем. При определении вида расчета «Премия», необходимо отметить «Оклад» на закладках «Базовые» и «Ведущие» и требуется отметить флаг «Период действия является базовым периодом».
Регистр расчета - это объект конфигурации, который позволяет организовать учет результатов вычислений, осуществляемых с некоторой периодичностью, тесно связанных друг с другом по некоторым правилам и взаимно влияющих друг на друга в пределах определенного периода
Для Каждого ТекСтрокаСписок Из Список Цикл
Движение = Движения.Результаты.Добавить();
Движение.Регистратор = Ссылка;
Движение.ПериодРегистрации = ПериодРегистрации;
Движение.ПериодДействияНачало=НачалоМесяца(ПериодРегистрации);
Движение.ПериодДействияОкончание=КонецМесяца(ПериодРегистрации);
Движение.ВидРасчета = ТекСтрокаСписок.ВидРасчета;
Движение.Сотрудник = ТекСтрокаСписок.Сотрудник;
Движение.Сумма = ТекСтрокаСписок.Величина;
КонецЦикла;
Движения.Результаты.Записать();
РРМен=РегистрыРасчета.Результаты;
Отбор= Новый Структура("Регистратор",Ссылка);
Ресурсы= Новый Массив(1);
Ресурсы[0]="Результаты.Результат";
Измерения= Новый Структура("Сотрудник","Результаты.Сотрудник");
ДанныеБазы=РРМен.ПолучитьБазу(Отбор,Ресурсы,Измерения);
Отработано=РРМен.ПолучитьДанныеГрафика(
Норма=РРМен.ПолучитьДанныеГрафика(
ОтработаноПоБазе=РРМен.ПолучитьДанныеГрафика(
Индекс=Движения.Результаты.Индекс(Движение);
Если Движение.ВидРасчета=ПланыВидовРасчета.ВидыРасчета.Оклад Тогда
ИначеЕсли
Движение.Результат=Движение.Сумма*ДанныеБазы[Индекс].Результат/100;
Движение.Результат=Движение.Сумма;
КонецЕсли
КонецЦикла;
РегистрБухгалтерии.<Имя> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< > |
|
< > |
|
<Измерение>Кт |
|
<Ресурс> |
|
<Ресурс>Дт |
|
<Ресурс>Кт |
|
<Реквизит> |
|
РегистрБухгалтерии.<Имя>.Субконто |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Напишите текст запроса, который при выполнении выдаст данные по счету дебета, счету кредита ,сумме, используемых субконто.
РегистрБухгалтерии.<Имя>.ДвиженияССубконто( <Начало периода>, <Конец периода>, <Условие>) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< > |
|
< > |
|
|
|
< > |
|
< > |
|
<Измерение> |
|
<Измерение>Дт |
|
<Измерение>Кт |
|
<Ресурс> |
|
<Ресурс>Дт |
|
<Ресурс>Кт |
|
<Реквизит> |
|
уже намного проще, так как учебная конфигурация, полученная Вами
|