На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Этот раздел предназначен для заполнения/проверки/рехтования/* содержимого будущего FAQ и не более того.
Все вопросы касательно 1С следует задавать здесь: 1С: Проблемы и решения
Модераторы: evGenius
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> вопросы -ответы №3, format complete, осталось проверить и расфасовать
    Документация 1с 8.х
    ExpandedWrap disabled
      // Добавить новый вид характеристик.
      Если ВидМенеджеры.Пустая() Тогда
          ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СоздатьЭлемент();
          ВидМенеджеры.Наименование = "Менеджеры";
          ВидМенеджеры.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
          ВидМенеджеры.Записать();
      КонецЕсли;
       
      // Получить нужный счет.
      Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
      Если (Не Счет.Пустая()) И (Счет.ВидыСубконто.Найти(ВидМенеджеры) = Неопределено) Тогда
       
              // Добавить новый вид субконто к счету.
              ОбъектСчета = Счет.ПолучитьОбъект();
              НовыйВидСубконто = ОбъектСчета.ВидыСубконто.Добавить();
              НовыйВидСубконто.ВидСубконто = ВидМенеджеры;
              НовыйВидСубконто.ТолькоОбороты = Истина;
              НовыйВидСубконто.Суммовой = Истина;
              
              ОбъектСчета.Записать();
      КонецЕсли;
    Сообщение отредактировано: Artega -
    Коллеги, Евгений Гилев и Насипов Фарит проводят новый тренинг по разработке на мобильной платформе 1С.
    Кому интересно – подробности здесь: http://kursy-po-1c.ru/mobile-apps
    http://kursy-po-1c.ru/mobile-apps.
      Как из регистра бухгалтерии "Хозрасчетный" получить обороты только по валютным счетам?
      ExpandedWrap disabled
        ВЫБРАТЬ
            ХозрасчетныйОбороты.Организация КАК Организация,
            ХозрасчетныйОбороты.Счет КАК Счет,
            ХозрасчетныйОбороты.Валюта,
            ХозрасчетныйОбороты.СуммаОборотДт,
            ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт,
            ХозрасчетныйОбороты.СуммаОборотКт,
            ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт
        ИЗ
            РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон, , Счет.Валютный, , , , ) КАК ХозрасчетныйОбороты
        УПОРЯДОЧИТЬ ПО
            Организация,
            ХозрасчетныйОбороты.Счет.Код
        Как выбрать в регистре бухгалтерии "Хозрасчетный" обороты по "60-ым" счетам, исключив внутренние обороты между ними?
        ExpandedWrap disabled
          ВЫБРАТЬ
              ХозрасчетныйОбороты.Счет,
              ХозрасчетныйОбороты.СуммаОборотДт,
              ХозрасчетныйОбороты.СуммаОборотКт
          ИЗ
              РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон , , Счет В ИЕРАРХИИ (&Счет), , , НЕ(КорСчет В ИЕРАРХИИ (&Счет)), ) КАК ХозрасчетныйОбороты
          УПОРЯДОЧИТЬ ПО
              ХозрасчетныйОбороты.Счет.Код
          Как реализовать метод "красного сторно" для регистра бухгалтерии?
          ExpandedWrap disabled
            Процедура ОбработкаПроведения(Отказ, Режим)
             
                    СторнируемыеДвижения = РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(СторнируемыйДокумент);
                    
                    Пока СторнируемыеДвижения.Следующий() Цикл
                           Проводка = Движения.Хозрасчетный.Добавить();
                           Проводка.Период = Дата;
                           Проводка.СчетДт = СторнируемыеДвижения.СчетДт;
                           Проводка.СчетКт = СторнируемыеДвижения.СчетКт;
             
                           Для каждого Субконто Из СторнируемыеДвижения.СубконтоДт Цикл
                                   Проводка.СубконтоДт[Субконто.Ключ] = Субконто.Значение;
                           КонецЦикла;
             
                           Для каждого Субконто Из СторнируемыеДвижения.СубконтоКт Цикл
                                   Проводка.СубконтоКт[Субконто.Ключ] = Субконто.Значение;
                           КонецЦикла;
             
                           Проводка.ВалютаДт = СторнируемыеДвижения.ВалютаДт;
                           Проводка.ВалютаКт = СторнируемыеДвижения.ВалютаКт;
                           Проводка.ВалютнаяСуммаДт = - СторнируемыеДвижения.ВалютнаяСуммаДт;
                           Проводка.ВалютнаяСуммаКт = - СторнируемыеДвижения.ВалютнаяСуммаКт;
                           Проводка.КоличествоДт = - СторнируемыеДвижения.КоличествоДт;
                           Проводка.КоличествоКт = - СторнируемыеДвижения.КоличествоКт;
                           Проводка.НомерЖурнала = СторнируемыеДвижения.НомерЖурнала;
                           Проводка.Организация = СторнируемыеДвижения.Организация;
                           Проводка.Содержание = СторнируемыеДвижения.Содержание;
                           Проводка.Сумма = - СторнируемыеДвижения.Сумма;
                    КонецЦикла;
             
                    Движения.Хозрасчетный.Записать();
             
            КонецПроцедуры
            Сложные периодические расчеты
            Как получить сумму начисления по конкретному виду расчета указанному сотруднику в указанном периоде?
            ExpandedWrap disabled
              Запрос = Новый Запрос;
              Запрос.Текст = "ВЫБРАТЬ
              |    БУОсновныеНачисления.Результат
              |ИЗ
              |    РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления
              |ГДЕ
              |    БУОсновныеНачисления.ПериодРегистрации = &Период
              |    И
              |    БУОсновныеНачисления.ФизЛицо = &ФизЛицо
              |    И
              |    БУОсновныеНачисления.ВидРасчета = &ВидРасчета";
               
              Запрос.УстановитьПараметр("Период", НачалоМесяца(Период1));
              Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета);
              Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо);
              Как получить сумму всех начислений указанному сотруднику в указанном периоде?
              ExpandedWrap disabled
                ВЫБРАТЬ
                |       БУОсновныеНачисления.Организация КАК Организация,
                |       ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.Организация),
                |       БУОсновныеНачисления.ВидРасчета,
                |       ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ВидРасчета),
                |       БУОсновныеНачисления.Результат КАК Результат,
                |       ""Основные"" КАК ВариантНачислений
                |ИЗ
                |       РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления
                |ГДЕ
                |       БУОсновныеНачисления.ПериодРегистрации = &НужныйПериод И БУОсновныеНачисления.ФизЛицо = &ФизЛицо
                |
                |ОБЪЕДИНИТЬ ВСЕ
                |
                |ВЫБРАТЬ
                |       БУДополнительныеНачисления.Организация,
                |       ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.Организация),
                |       БУДополнительныеНачисления.ВидРасчета,
                |       ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.ВидРасчета),
                |       БУДополнительныеНачисления.Результат,
                |       ""Дополнительные""
                |ИЗ
                |       РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления
                |ГДЕ
                |       БУДополнительныеНачисления.ПериодРегистрации = &НужныйПериод И БУДополнительныеНачисления.ФизЛицо = &ФизЛицо
                |ИТОГИ СУММА(Результат)
                |ПО ОБЩИЕ, Организация, ВариантНачислений";
                Как получить таблицу перерасчетов по перерасчетам нескольких регистров?
                ExpandedWrap disabled
                  ВЫБРАТЬ
                      ПерерасчетОсновных.ФизЛицо КАК Работник,
                      ПерерасчетОсновных.ВидРасчета,
                      ПерерасчетОсновных.ОбъектПерерасчета КАК Документ
                  ИЗ
                      РегистрРасчета.ОсновныеНачисленияРаботниковОрганизации.ПерерасчетОсновныхНачислений КАК ПерерасчетОсновных
                   
                  ОБЪЕДИНИТЬ ВСЕ
                   
                  ВЫБРАТЬ
                      ПерерасчетДополнительных.ФизЛицо,
                      ПерерасчетДополнительных.ВидРасчета,
                      ПерерасчетДополнительных.ОбъектПерерасчета
                  ИЗ
                      РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизации.ПерерасчетДополнительныхНачислений КАК ПерерасчетДополнительных
                  Как для документа "НачислениеЗарплатыРаботникам" определить номера строк записей полностью вытесненных видов расчета?
                  ExpandedWrap disabled
                    ВЫБРАТЬ РАЗРЕШЕННЫЕ
                        УправленческиеНачисления.НомерСтроки КАК НомерСтроки
                    ИЗ
                        РегистрРасчета.УправленческиеНачисления КАК УправленческиеНачисления
                        ЛЕВОЕ СОЕДИНЕНИЕ
                            РегистрРасчета.УправленческиеНачисления.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК УправленческиеНачисленияФактическийПериодДействия
                        ПО
                            УправленческиеНачисления.НомерСтроки = УправленческиеНачисленияФактическийПериодДействия.НомерСтроки
                            И
                            УправленческиеНачисления.Регистратор = УправленческиеНачисленияФактическийПериодДействия.Регистратор
                    ГДЕ
                        УправленческиеНачисления.Регистратор = &парамСсылка
                        И
                        ((УправленческиеНачисленияФактическийПериодДействия.Регистратор) ЕСТЬ NULL)
                    Как сформировать расчетный листок сотрудника?
                    ExpandedWrap disabled
                      "ВЫБРАТЬ
                      |    ВложенныйЗапрос.ФизЛицо,
                      |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ФизЛицо),
                      |    ВложенныйЗапрос.ФизЛицоПредставление КАК ФизЛицоПредставление1,
                      |    ВложенныйЗапрос.ВидРасчета,
                      |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ВидРасчета),
                      |    ВложенныйЗапрос.ВидРасчетаПредставление КАК ВидРасчетаПредставление1,
                      |    ВложенныйЗапрос.Результат КАК Результат,
                      |    ВложенныйЗапрос.ТипРасчета КАК ТипРасчета
                      |ИЗ
                      |    (ВЫБРАТЬ
                      |        БУОсновныеНачисления.ФизЛицо КАК ФизЛицо,
                      |        ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ФизЛицо) КАК ФизЛицоПредставление,
                      |        БУОсновныеНачисления.ВидРасчета КАК ВидРасчета,
                      |        ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ВидРасчета) КАК ВидРасчетаПредставление,
                      |        БУОсновныеНачисления.Результат КАК Результат,
                      |        ""Начисления"" КАК ТипРасчета
                      |    ИЗ
                      |        РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления
                      |    ГДЕ
                      |        БУОсновныеНачисления.ФизЛицо = &ФизЛицо И БУОсновныеНачисления.ПериодРегистрации = &НужныйПериод
                      |
                      |    ОБЪЕДИНИТЬ ВСЕ
                      |
                      |    ВЫБРАТЬ
                      |        УдержанияРаботниковОрганизаций.ФизЛицо,
                      |        ПРЕДСТАВЛЕНИЕ(УдержанияРаботниковОрганизаций.ФизЛицо),
                      |        УдержанияРаботниковОрганизаций.ВидРасчета,
                      |        ПРЕДСТАВЛЕНИЕ(УдержанияРаботниковОрганизаций.ВидРасчета),
                      |        -УдержанияРаботниковОрганизаций.Результат,
                      |        ""Удержания""
                      |    ИЗ
                      |        РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизаций
                      |    ГДЕ
                      |        УдержанияРаботниковОрганизаций.ФизЛицо = &ФизЛицо И УдержанияРаботниковОрганизаций.ПериодРегистрации = &НужныйПериод) КАК ВложенныйЗапрос
                      |ИТОГИ СУММА(Результат)
                      |ПО ОБЩИЕ, ТипРасчета";
                      Как организовать сторнирование уже произведенных расчетов прошлых периодов?
                      ExpandedWrap disabled
                        ТаблицаСторноЗаписей = Движения.ОсновныеНачисленияРаботниковОрганизации.ПолучитьДополнение();
                         
                        Для каждого СтрокаСторно Из ТаблицаСторноЗаписей Цикл
                         
                            // Добавить сторно-записи в набор записей регистра.
                            // Новая запись движений.
                            Движение = Движения.ОсновныеНачисленияРаботниковОрганизации.Добавить();
                         
                            // Заполнить свойства.
                            Движение.ПериодРегистрации = Строка.ПериодРегистрацииСторно;
                            Движение.ПериодДействияНачало = Строка.ПериодДействияНачалоСторно;
                            Движение.ПериодДействияКонец = Строка.ПериодДействияКонецСторно;
                            Движение.БазовыйПериодНачало = Строка.БазовыйПериодНачало;
                            Движение.БазовыйПериодКонец = Строка.БазовыйПериодКонец;
                            Движение.ВидРасчета = Строка.ВидРасчета;
                            Движение.Сторно = Истина;
                         
                            // Заполнить измерения.
                            Движение.ФизЛицо = Строка.ФизЛицо;
                            Движение.Приказ = Строка.Приказ;
                            Движение.Организация = Строка.Организация;
                         
                            // Ресурсы не заполнять, потому что здесь не происходит расчет,
                            // только подготовка новой записи
                         
                            // Заполнить реквизиты.
                            Движение.ГрафикРаботы = Строка.ГрафикРаботы;
                            Движение.Размер = Строка.Размер;
                            Движение.ВидУчетаВремени = Строка.ВидУчетаВремени;
                            Движение.ПодразделениеОрганизации = Строка.ПодразделениеОрганизации;
                            Движение.ПериодРасчетаСреднегоЗаработкаНачало = Строка.ПериодРасчетаСреднегоЗаработкаНачало;
                            Движение.ПериодРасчетаСреднегоЗаработкаОкончание = Строка.ПериодРасчетаСреднегоЗаработкаОкончание;
                        КонецЦикла;
                         
                        Движения.ОсновныеНачисленияРаботниковОрганизации.Записать();
                        Бизнес-процессы
                        Как определить бизнес процесс, в котором количество последовательных этапов определяется индивидуально на момент старта экземпляра процесса?
                        ExpandedWrap disabled
                          Процедура ПередВыполнением(Отказ)
                                  Если Исполнитель.Пустая() Тогда
                                         Исполнитель = ПараметрыСеанса.ТекущийИсполнитель;
                                  КонецЕсли;
                                  ДатаВыполнения=ТекущаяДата();
                          КонецПроцедуры
                           
                          ПолучитьФорму("Маршрут").Открыть();
                          СтандартнаяОбработка = Ложь;
                           
                          Если ТочкиМаршрута.Количество() = 0 Тогда
                                  Сообщить("Не определен маршрут!!!");
                                  Отказ = Истина;
                          КонецЕсли;
                           
                          Результат = ПолучитьТочкуМаршрута().Пустая();
                           
                          Функция ПолучитьТочкуМаршрута()
                                  Запрос=Новый Запрос;
                                  Запрос.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1
                                  |       НаМаршрутеТочкиМаршрута.НомерСтроки КАК НомерСтроки,
                                  |       НаМаршрутеТочкиМаршрута.Склад
                                  |ИЗ
                                  |       БизнесПроцесс.НаМаршруте.ТочкиМаршрута КАК НаМаршрутеТочкиМаршрута
                                  |ГДЕ
                                  |       (НаМаршрутеТочкиМаршрута.Склад НЕ В
                                  |                                     (ВЫБРАТЬ РАЗЛИЧНЫЕ
                                  |                                             ЭтапПути.Склад
                                  |                                     ИЗ
                                  |                                             Задача.ЭтапПути КАК ЭтапПути
                                  |                                     ГДЕ
                                  |                                             ЭтапПути.БизнесПроцесс = &БизнесПроцесс ))
                             |    И
                                  |       (Ссылка = &БизнесПроцесс)
                                  |УПОРЯДОЧИТЬ ПО
                                  | НомерСтроки";
                           
                                  Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
                           
                                  Выборка = Запрос.Выполнить().Выбрать();
                           
                                  Если Выборка.Следующий() Тогда
                                         Возврат (Выборка.Склад);
                                  
                                  Иначе
                                         Возврат(Справочники.Склады.ПустаяСсылка());
                                  КонецЕсли;
                           
                          КонецФункции
                           
                          ФормируемыеЗадачи[0].Склад = ПолучитьТочкуМаршрута();
                           
                          ПолучитьФорму("ПутевойЛист").Открыть();
                          СтандартнаяОбработка = Ложь;
                           
                          Если ПоказанияСпидометраКонечные = 0 ИЛИ Ссылка.РасходТоплива = 0 Тогда
                                  Сообщить("Не введены данные по путевому листу!");
                                  Отказ = Истина;
                          КонецЕсли;
                          Как при работе с бизнес процессами отказаться от стандартного способа формирования задачи и сформировать ее программно?
                          ExpandedWrap disabled
                            Для Каждого Рецензент Из НаСогласование Цикл
                                    НоваяЗадача = Задачи.ЭтапПути.СоздатьЗадачу();
                                    НоваяЗадача.БизнесПроцесс = Ссылка;
                                    НоваяЗадача.Пользователь = Рецензент.Рецензент;
                                    НоваяЗадача.Наименование = "Согласование со специалистом";
                                    НоваяЗадача.ТочкаМаршрута = БизнесПроцессы.НаПараллельноеСогласование.ТочкиМаршрута.Согласование;
                                    НоваяЗадача.Дата = ТекущаяДата();
                                    НоваяЗадача.Записать();
                                    
                                    ФормируемыеЗадачи.Добавить(НоваяЗадача);
                            КонецЦикла;
                             
                            СтандартнаяОбработка = Ложь;
                            Прочие прикладные объекты
                            Как, не открывая форму внешней обработки, выполнить ее процедуру для определенного объекта?
                            ExpandedWrap disabled
                              Обработка = ВнешниеОбработки.Создать(ИмяФайла);
                               
                              Обработка.Печать(Ссылка);
                              Как быстро получить информацию, по всем объектам, находящимся в компетенции конкретного менеджера (элемент справочника "Пользователи") по продажам?
                              1.
                              ExpandedWrap disabled
                                МассивСсылок = КритерииОтбора.КомпетенцияМенеджераПродаж.Найти(Менеджер);
                                Для Каждого Ссылка из МассивСсылок Цикл
                                        Сообщить(Ссылка);
                                КонецЦикла;

                              2.
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                        КомпетенцияМенеджераПродаж.Ссылка
                                ИЗ
                                        КритерийОтбора.КомпетенцияМенеджераПродаж(&Менеджер) КАК КомпетенцияМенеджераПродаж
                                Формы и элементы управления
                                Работа с формами
                                Как открыть форму документа?
                                ExpandedWrap disabled
                                  ФормаДокумента = СсылкаНаДокумент.ПолучитьФорму();
                                  ФормаДокумента.Открыть();
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1472 ]   [ 15 queries used ]   [ Generated: 13.12.19, 02:08 GMT ]