![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.164.170] |
![]() |
|
Страницы: (4) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Документация 1с 8.х
![]() ![]() // Добавить новый вид характеристик. Если ВидМенеджеры.Пустая() Тогда ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СоздатьЭлемент(); ВидМенеджеры.Наименование = "Менеджеры"; ВидМенеджеры.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи"); ВидМенеджеры.Записать(); КонецЕсли; // Получить нужный счет. Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); Если (Не Счет.Пустая()) И (Счет.ВидыСубконто.Найти(ВидМенеджеры) = Неопределено) Тогда // Добавить новый вид субконто к счету. ОбъектСчета = Счет.ПолучитьОбъект(); НовыйВидСубконто = ОбъектСчета.ВидыСубконто.Добавить(); НовыйВидСубконто.ВидСубконто = ВидМенеджеры; НовыйВидСубконто.ТолькоОбороты = Истина; НовыйВидСубконто.Суммовой = Истина; ОбъектСчета.Записать(); КонецЕсли; |
Сообщ.
#2
,
|
|
|
Как из регистра бухгалтерии "Хозрасчетный" получить обороты только по валютным счетам?
![]() ![]() ВЫБРАТЬ ХозрасчетныйОбороты.Организация КАК Организация, ХозрасчетныйОбороты.Счет КАК Счет, ХозрасчетныйОбороты.Валюта, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт, ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон, , Счет.Валютный, , , , ) КАК ХозрасчетныйОбороты УПОРЯДОЧИТЬ ПО Организация, ХозрасчетныйОбороты.Счет.Код |
Сообщ.
#3
,
|
|
|
Как выбрать в регистре бухгалтерии "Хозрасчетный" обороты по "60-ым" счетам, исключив внутренние обороты между ними?
![]() ![]() ВЫБРАТЬ ХозрасчетныйОбороты.Счет, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон , , Счет В ИЕРАРХИИ (&Счет), , , НЕ(КорСчет В ИЕРАРХИИ (&Счет)), ) КАК ХозрасчетныйОбороты УПОРЯДОЧИТЬ ПО ХозрасчетныйОбороты.Счет.Код |
Сообщ.
#4
,
|
|
|
Как реализовать метод "красного сторно" для регистра бухгалтерии?
![]() ![]() Процедура ОбработкаПроведения(Отказ, Режим) СторнируемыеДвижения = РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(СторнируемыйДокумент); Пока СторнируемыеДвижения.Следующий() Цикл Проводка = Движения.Хозрасчетный.Добавить(); Проводка.Период = Дата; Проводка.СчетДт = СторнируемыеДвижения.СчетДт; Проводка.СчетКт = СторнируемыеДвижения.СчетКт; Для каждого Субконто Из СторнируемыеДвижения.СубконтоДт Цикл Проводка.СубконтоДт[Субконто.Ключ] = Субконто.Значение; КонецЦикла; Для каждого Субконто Из СторнируемыеДвижения.СубконтоКт Цикл Проводка.СубконтоКт[Субконто.Ключ] = Субконто.Значение; КонецЦикла; Проводка.ВалютаДт = СторнируемыеДвижения.ВалютаДт; Проводка.ВалютаКт = СторнируемыеДвижения.ВалютаКт; Проводка.ВалютнаяСуммаДт = - СторнируемыеДвижения.ВалютнаяСуммаДт; Проводка.ВалютнаяСуммаКт = - СторнируемыеДвижения.ВалютнаяСуммаКт; Проводка.КоличествоДт = - СторнируемыеДвижения.КоличествоДт; Проводка.КоличествоКт = - СторнируемыеДвижения.КоличествоКт; Проводка.НомерЖурнала = СторнируемыеДвижения.НомерЖурнала; Проводка.Организация = СторнируемыеДвижения.Организация; Проводка.Содержание = СторнируемыеДвижения.Содержание; Проводка.Сумма = - СторнируемыеДвижения.Сумма; КонецЦикла; Движения.Хозрасчетный.Записать(); КонецПроцедуры |
Сообщ.
#5
,
|
|
|
Сложные периодические расчеты
Как получить сумму начисления по конкретному виду расчета указанному сотруднику в указанном периоде? ![]() ![]() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | БУОсновныеНачисления.Результат |ИЗ | РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления |ГДЕ | БУОсновныеНачисления.ПериодРегистрации = &Период | И | БУОсновныеНачисления.ФизЛицо = &ФизЛицо | И | БУОсновныеНачисления.ВидРасчета = &ВидРасчета"; Запрос.УстановитьПараметр("Период", НачалоМесяца(Период1)); Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета); Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо); |
Сообщ.
#6
,
|
|
|
Как получить сумму всех начислений указанному сотруднику в указанном периоде?
![]() ![]() ВЫБРАТЬ | БУОсновныеНачисления.Организация КАК Организация, | ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.Организация), | БУОсновныеНачисления.ВидРасчета, | ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ВидРасчета), | БУОсновныеНачисления.Результат КАК Результат, | ""Основные"" КАК ВариантНачислений |ИЗ | РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления |ГДЕ | БУОсновныеНачисления.ПериодРегистрации = &НужныйПериод И БУОсновныеНачисления.ФизЛицо = &ФизЛицо | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | БУДополнительныеНачисления.Организация, | ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.Организация), | БУДополнительныеНачисления.ВидРасчета, | ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.ВидРасчета), | БУДополнительныеНачисления.Результат, | ""Дополнительные"" |ИЗ | РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления |ГДЕ | БУДополнительныеНачисления.ПериодРегистрации = &НужныйПериод И БУДополнительныеНачисления.ФизЛицо = &ФизЛицо |ИТОГИ СУММА(Результат) |ПО ОБЩИЕ, Организация, ВариантНачислений"; |
Сообщ.
#7
,
|
|
|
Как получить таблицу перерасчетов по перерасчетам нескольких регистров?
![]() ![]() ВЫБРАТЬ ПерерасчетОсновных.ФизЛицо КАК Работник, ПерерасчетОсновных.ВидРасчета, ПерерасчетОсновных.ОбъектПерерасчета КАК Документ ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизации.ПерерасчетОсновныхНачислений КАК ПерерасчетОсновных ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПерерасчетДополнительных.ФизЛицо, ПерерасчетДополнительных.ВидРасчета, ПерерасчетДополнительных.ОбъектПерерасчета ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизации.ПерерасчетДополнительныхНачислений КАК ПерерасчетДополнительных |
Сообщ.
#8
,
|
|
|
Как для документа "НачислениеЗарплатыРаботникам" определить номера строк записей полностью вытесненных видов расчета?
![]() ![]() ВЫБРАТЬ РАЗРЕШЕННЫЕ УправленческиеНачисления.НомерСтроки КАК НомерСтроки ИЗ РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК УправленческиеНачисленияФактическийПериодДействия ПО УправленческиеНачисления.НомерСтроки = УправленческиеНачисленияФактическийПериодДействия.НомерСтроки И УправленческиеНачисления.Регистратор = УправленческиеНачисленияФактическийПериодДействия.Регистратор ГДЕ УправленческиеНачисления.Регистратор = &парамСсылка И ((УправленческиеНачисленияФактическийПериодДействия.Регистратор) ЕСТЬ NULL) |
Сообщ.
#9
,
|
|
|
Как сформировать расчетный листок сотрудника?
![]() ![]() "ВЫБРАТЬ | ВложенныйЗапрос.ФизЛицо, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ФизЛицо), | ВложенныйЗапрос.ФизЛицоПредставление КАК ФизЛицоПредставление1, | ВложенныйЗапрос.ВидРасчета, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ВидРасчета), | ВложенныйЗапрос.ВидРасчетаПредставление КАК ВидРасчетаПредставление1, | ВложенныйЗапрос.Результат КАК Результат, | ВложенныйЗапрос.ТипРасчета КАК ТипРасчета |ИЗ | (ВЫБРАТЬ | БУОсновныеНачисления.ФизЛицо КАК ФизЛицо, | ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ФизЛицо) КАК ФизЛицоПредставление, | БУОсновныеНачисления.ВидРасчета КАК ВидРасчета, | ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ВидРасчета) КАК ВидРасчетаПредставление, | БУОсновныеНачисления.Результат КАК Результат, | ""Начисления"" КАК ТипРасчета | ИЗ | РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления | ГДЕ | БУОсновныеНачисления.ФизЛицо = &ФизЛицо И БУОсновныеНачисления.ПериодРегистрации = &НужныйПериод | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | УдержанияРаботниковОрганизаций.ФизЛицо, | ПРЕДСТАВЛЕНИЕ(УдержанияРаботниковОрганизаций.ФизЛицо), | УдержанияРаботниковОрганизаций.ВидРасчета, | ПРЕДСТАВЛЕНИЕ(УдержанияРаботниковОрганизаций.ВидРасчета), | -УдержанияРаботниковОрганизаций.Результат, | ""Удержания"" | ИЗ | РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизаций | ГДЕ | УдержанияРаботниковОрганизаций.ФизЛицо = &ФизЛицо И УдержанияРаботниковОрганизаций.ПериодРегистрации = &НужныйПериод) КАК ВложенныйЗапрос |ИТОГИ СУММА(Результат) |ПО ОБЩИЕ, ТипРасчета"; |
Сообщ.
#10
,
|
|
|
Как организовать сторнирование уже произведенных расчетов прошлых периодов?
![]() ![]() ТаблицаСторноЗаписей = Движения.ОсновныеНачисленияРаботниковОрганизации.ПолучитьДополнение(); Для каждого СтрокаСторно Из ТаблицаСторноЗаписей Цикл // Добавить сторно-записи в набор записей регистра. // Новая запись движений. Движение = Движения.ОсновныеНачисленияРаботниковОрганизации.Добавить(); // Заполнить свойства. Движение.ПериодРегистрации = Строка.ПериодРегистрацииСторно; Движение.ПериодДействияНачало = Строка.ПериодДействияНачалоСторно; Движение.ПериодДействияКонец = Строка.ПериодДействияКонецСторно; Движение.БазовыйПериодНачало = Строка.БазовыйПериодНачало; Движение.БазовыйПериодКонец = Строка.БазовыйПериодКонец; Движение.ВидРасчета = Строка.ВидРасчета; Движение.Сторно = Истина; // Заполнить измерения. Движение.ФизЛицо = Строка.ФизЛицо; Движение.Приказ = Строка.Приказ; Движение.Организация = Строка.Организация; // Ресурсы не заполнять, потому что здесь не происходит расчет, // только подготовка новой записи // Заполнить реквизиты. Движение.ГрафикРаботы = Строка.ГрафикРаботы; Движение.Размер = Строка.Размер; Движение.ВидУчетаВремени = Строка.ВидУчетаВремени; Движение.ПодразделениеОрганизации = Строка.ПодразделениеОрганизации; Движение.ПериодРасчетаСреднегоЗаработкаНачало = Строка.ПериодРасчетаСреднегоЗаработкаНачало; Движение.ПериодРасчетаСреднегоЗаработкаОкончание = Строка.ПериодРасчетаСреднегоЗаработкаОкончание; КонецЦикла; Движения.ОсновныеНачисленияРаботниковОрганизации.Записать(); |
Сообщ.
#11
,
|
|
|
Бизнес-процессы
Как определить бизнес процесс, в котором количество последовательных этапов определяется индивидуально на момент старта экземпляра процесса? ![]() ![]() Процедура ПередВыполнением(Отказ) Если Исполнитель.Пустая() Тогда Исполнитель = ПараметрыСеанса.ТекущийИсполнитель; КонецЕсли; ДатаВыполнения=ТекущаяДата(); КонецПроцедуры ПолучитьФорму("Маршрут").Открыть(); СтандартнаяОбработка = Ложь; Если ТочкиМаршрута.Количество() = 0 Тогда Сообщить("Не определен маршрут!!!"); Отказ = Истина; КонецЕсли; Результат = ПолучитьТочкуМаршрута().Пустая(); Функция ПолучитьТочкуМаршрута() Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1 | НаМаршрутеТочкиМаршрута.НомерСтроки КАК НомерСтроки, | НаМаршрутеТочкиМаршрута.Склад |ИЗ | БизнесПроцесс.НаМаршруте.ТочкиМаршрута КАК НаМаршрутеТочкиМаршрута |ГДЕ | (НаМаршрутеТочкиМаршрута.Склад НЕ В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ЭтапПути.Склад | ИЗ | Задача.ЭтапПути КАК ЭтапПути | ГДЕ | ЭтапПути.БизнесПроцесс = &БизнесПроцесс )) | И | (Ссылка = &БизнесПроцесс) |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат (Выборка.Склад); Иначе Возврат(Справочники.Склады.ПустаяСсылка()); КонецЕсли; КонецФункции ФормируемыеЗадачи[0].Склад = ПолучитьТочкуМаршрута(); ПолучитьФорму("ПутевойЛист").Открыть(); СтандартнаяОбработка = Ложь; Если ПоказанияСпидометраКонечные = 0 ИЛИ Ссылка.РасходТоплива = 0 Тогда Сообщить("Не введены данные по путевому листу!"); Отказ = Истина; КонецЕсли; |
Сообщ.
#12
,
|
|
|
Как при работе с бизнес процессами отказаться от стандартного способа формирования задачи и сформировать ее программно?
![]() ![]() Для Каждого Рецензент Из НаСогласование Цикл НоваяЗадача = Задачи.ЭтапПути.СоздатьЗадачу(); НоваяЗадача.БизнесПроцесс = Ссылка; НоваяЗадача.Пользователь = Рецензент.Рецензент; НоваяЗадача.Наименование = "Согласование со специалистом"; НоваяЗадача.ТочкаМаршрута = БизнесПроцессы.НаПараллельноеСогласование.ТочкиМаршрута.Согласование; НоваяЗадача.Дата = ТекущаяДата(); НоваяЗадача.Записать(); ФормируемыеЗадачи.Добавить(НоваяЗадача); КонецЦикла; СтандартнаяОбработка = Ложь; |
Сообщ.
#13
,
|
|
|
Прочие прикладные объекты
Как, не открывая форму внешней обработки, выполнить ее процедуру для определенного объекта? ![]() ![]() Обработка = ВнешниеОбработки.Создать(ИмяФайла); Обработка.Печать(Ссылка); |
Сообщ.
#14
,
|
|
|
Как быстро получить информацию, по всем объектам, находящимся в компетенции конкретного менеджера (элемент справочника "Пользователи") по продажам?
1. ![]() ![]() МассивСсылок = КритерииОтбора.КомпетенцияМенеджераПродаж.Найти(Менеджер); Для Каждого Ссылка из МассивСсылок Цикл Сообщить(Ссылка); КонецЦикла; 2. ![]() ![]() ВЫБРАТЬ КомпетенцияМенеджераПродаж.Ссылка ИЗ КритерийОтбора.КомпетенцияМенеджераПродаж(&Менеджер) КАК КомпетенцияМенеджераПродаж |
Сообщ.
#15
,
|
|
|
Формы и элементы управления
Работа с формами Как открыть форму документа? ![]() ![]() ФормаДокумента = СсылкаНаДокумент.ПолучитьФорму(); ФормаДокумента.Открыть(); |