А. Андрей

43
Рейтинг

Amras
Андрей А.



  •   Регистрация: 26.11.2007 (16 лет назад)

  •   Был(а) на сайте: вчера в 08:11

Друзья
  • Дмитрий Макаров
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Сергей
  • Андрей Волин
Подписчики 6

Рейтинг 43

Новый контрагент с вводом паспортных данных для БИТ.Управление автосервисом 8. С-класс (на базе 1С:Бухгалтерия 8)

Инструменты и обработки Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 2.0 Автомобили, автосервисы Россия Windows Абонемент ($m) Внешняя обработка (ert,epf) Мастера заполнения

Новый контрагент с вводом паспортных данных для БИТ.Управление автосервисом 8. С-класс (на базе 1С:Бухгалтерия 8) Для чего делалась данная обработка? Все просто, функционал для ввода контрагентов в конфигурации "БИТ.Управление автосервисом 8. С-класс (на базе 1С:Бухгалтерия 8)" типовой, но БИТ предлагает в описании очень сложный процесс указания вода паспортных данных для контрагента, который является физическим лицом (в договорах комиссии данные будут браться из регистра сведений "Контактная информация").

1 стартмани

19.05.2014    11950    3    Amras    1       

1

Заполнение и расчет документа "Премии сотрудников организации"

Инструменты и обработки Бухгалтер Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 2.5 Россия Бухгалтерский учет Windows Абонемент ($m) Внешняя обработка (ert,epf) Зарплата Мастера заполнения

Обработка предназначена для заполнения табличной части документа "Премии сотрудников организации" по категории статистического учета (например: ИТР и рабочие).

1 стартмани

18.06.2013    10107    32    Amras    5       

4

Анализ штатного расписания

Отчеты и формы Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 2.5 Россия Управленческий учет Абонемент ($m) Внешняя обработка (ert,epf) Кадровый учет

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

1 стартмани

02.08.2012    15142    110    Amras    4       

7

Проверка реквизитов работников для годовых отчетов (СЗВ-6, 2-НДФЛ), паспортных данных (подготовка к формированию реестра на открытие карт в банк)

Отчеты и формы Бухгалтер Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 2.5 Россия Бухгалтерский учет Абонемент ($m) Внешняя обработка (ert,epf) Кадровый учет

Отчет объединяет в себе проверки всех реквизитов (ИНН, номер ПФР, соответствие адреса загруженному в 1С КЛАДР, паспортные данные), которые производятся при проведении документов СЗВ-6 и 2-НДФЛ. Некоторые проверки "выдернуты" из кода 1С и собраны в одном месте.

1 стартмани

13.07.2012    14370    126    Amras    9       

12

Комментарии

ПубликацииУниверсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке#97 10.03.20 14:11
(96)
Цитата
11.01.2019-17.06.2019

Если смотреть на сайте, то данный вопрос уже решался.

В ЗУП (например: 3.1.10), если придерживаться той-же схемы, то получится требуемый результат (11/01/2019 - 31/01/2019......01/06/2019 - 17/06/2019):

Код
ВЫБРАТЬ
   ДанныеПроизводственногоКалендаря.Дата КАК Дата,
   ГОД(ДанныеПроизводственногоКалендаря.Дата) * 100 + МЕСЯЦ(ДанныеПроизводственногоКалендаря.Дата) КАК НомерМесяца
ПОМЕСТИТЬ ВТ_ДатыКалендаря
ИЗ
   РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
   ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ПериодДействияНачало И &ПериодДействияКонец
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МИНИМУМ(ВТ_ДатыКалендаря.Дата) КАК ДатаНачала,
   МАКСИМУМ(ВТ_ДатыКалендаря.Дата) КАК ДатаОкончания
ИЗ
   ВТ_ДатыКалендаря КАК ВТ_ДатыКалендаря

СГРУППИРОВАТЬ ПО
   ВТ_ДатыКалендаря.НомерМесяца


И есть вариант (не проверял правда):

Код
&НаСервере
Функция РазбитьПериодНаПодпериоды(Знач ДатаНачала, Знач ДатаОкончания)
    
    ТаблицаЗначений = Новый ТаблицаЗначений;
    ТаблицаЗначений.Колонки.Добавить("ДатаНачала");
    ТаблицаЗначений.Колонки.Добавить("ДатаОкончания");
    
    ПервыйОбход = Истина;
    
    Если Отчет.УровеньДетализации = "День" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецДня(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецДня(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецДня(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоДня(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоДня(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецДня(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецДня(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    ИначеЕсли Отчет.УровеньДетализации = "Неделя" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецНедели(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецНедели(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецНедели(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоНедели(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоНедели(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецНедели(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецНедели(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;

        
    ИначеЕсли Отчет.УровеньДетализации = "Месяц" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецМесяца(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецМесяца(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецМесяца(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоМесяца(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоМесяца(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецМесяца(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецМесяца(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    ИначеЕсли Отчет.УровеньДетализации = "Квартал" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецКвартала(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецКвартала(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецКвартала(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоКвартала(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоКвартала(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецКвартала(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецКвартала(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    КонецЕсли;
        
    
    Возврат ТаблицаЗначений;
    
КонецФункции
DevКнопка ПОДБОР для документа Заявка на открытие лицевых счетов#8 20.12.19 9:41
Так попроще будет, а уж добавить команду (ПодобратьСотрудников) на форму, думаю, труда не составит. И при всем при этом используем исключительно типовые механизмы (протестировано на ЗУП КОРП 3.1.10.223), кроме получения ФизическогоЛица.

Код
&НаКлиенте
Процедура ПодобратьСотрудников(Команда)
   КадровыйУчетКлиент.ВыбратьСотрудниковРаботающихНаДатуПоПараметрамОткрытияФормыСписка(
      Элементы.ЛицевыеСчета,,,,,АдресСпискаПодобранныхСотрудников());
КонецПроцедуры
   
// Возвращает адрес во временном хранилище массива уже подобранных сотрудников.
//
&НаСервере
Функция АдресСпискаПодобранныхСотрудников()
   СписокСотрудников = Объект.Сотрудники.Выгрузить(,"ФизическоеЛицо").ВыгрузитьКолонку("ФизическоеЛицо");
   
   Возврат ПоместитьВоВременноеХранилище(СписокСотрудников, УникальныйИдентификатор);
КонецФункции

&НаКлиенте
Процедура ЛицевыеСчетаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   Для каждого ВыбранныйСотрудник Из ВыбранноеЗначение Цикл
      
      мФизЛицо = МГ_ПолучитьФизЛицо(ВыбранныйСотрудник);
      
      Если Объект.Сотрудники.НайтиСтроки(Новый Структура("ФизическоеЛицо", мФизЛицо)).Количество() = 0 Тогда
         НовыйСотрудник = Объект.Сотрудники.Добавить();
         НовыйСотрудник.ФизическоеЛицо = мФизЛицо;
         
         ЗаполнитьСтрокуНаСервере(НовыйСотрудник.НомерСтроки);
         
         Модифицированность = Истина;
      КонецЕсли;
   КонецЦикла; 
КонецПроцедуры

&НаСервере
Функция МГ_ПолучитьФизЛицо(Сотрудник)
   Возврат Сотрудник.ФизическоеЛицо;
КонецФункции
DevSOS помогите поправить код#7 07.09.18 10:48
(6) Конфигуратор открыт (как я понимаю).

Учитывая данные об ошибке "Форма.ФормаОтчета1" надо искать внешний отчет (или в разделе отчеты).

По шагам (пример как найти макет):
1. Открыть конфигуратор с правами администратора.
2. Найти документ (обработку, отчет) в списке (обычно слева открывается окно с деревом конфигурации).
3. В документе (обработке, отчете), если его развернуть, есть "Макеты". Найти необходимый Вам макет (также макет может быть внешним или общим, в этом случае в документе его не будет).
4. Открыть макет на редактирование. Откроется табличный документ: в нем найти колонку с наименованием цена, под ней (обычно строки с параметрами для заполнения создаются под шапкой) найти строку с параметрами (Вероятнее всего будет интересовать параметр под колонкой "Стоимость" или "Цена", не видя макет могу только предполагать).

Если макет внешний (управляемые формы): то его надо сохранить в папку (например на рабочий стол) как внешнюю печатную форму. УТ у меня под рукой нет, но в режиме предприятия надо найти раздел "Администрирование" в нем найти "Печатные формы, отчеты, обработки", "Дополнительные отчеты и обработки". Найти интересующую Вас печатную форму и нажать кнопку "Выгрузить в файл...". Полученный файл открыть в конфигураторе, далее шаг 4.

Если макет внешний (обычные формы): Вероятнее всего в УТ "Сервис" - "Дополнительные отчеты, обработки" - "Дополнительные внешние отчеты". Или меню "Операции" - Внешние обработки".

Если макет общий: В дереве конфигурации в разделе "Общие" найти "Общие макеты", в них выбрать (найти) нужный и снова шаг 4.
DevSOS помогите поправить код#5 07.09.18 10:24
(3) см. позиция.Параметры - в макете есть параметр для цены за единицу продукции (товара).

позиция.Параметры."ПараметрИзТаблицы" = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),отбор).Цена;

"ПараметрИзТаблицы" надо заменить на параметр из макета (без кавычек). Для просмотра имени параметра, в макете нажмите ПКМ (прав.кнопка мыши) на ячейке с ценой "Свойства" (см.скрин).

Прикрепленные файлы:

Screenshot_1.png
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#31 12.05.17 11:51
(30) Если верить поиску, то он есть на форуме "Форма № 1 для "Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.2.213)" http://infostart.ru/public/619035/
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#29 12.05.17 11:38
Но не вижу я ограничения по оплате тех же сверхурочных (обычно они платятся месяцем позже или если успеет приказ то в текущем месяце на момент выплаты зарплаты) в инструкции.

Выдержка из инструкции Формы № 1


Пункт 6.5 к примеру разрешает нам учитывать некоторые премии (например: "Запуск ТЭЦ" в январе-феврале), но начисленную в апреле (за месяца которые были ранее).

Все же вопрос с периодом несколько спорный в плане расчетов, которые надо включать в отчет.
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#28 12.05.17 11:02
(27) Я знаю что не должно, просто пример привел.

Пуункт 6.2 Формы № 1


Хотя стоит признать, что в данном случае попасть в март через "-1 месяц" рационально.
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#25 12.05.17 10:39
(18)
Цитата
ИЛИ (ДополнительныеНачисленияРаботниковОрганизаций.БазовыйПериодНачало = ДОБАВИТЬКДАТЕ(&КонДата,МЕСЯЦ,-1))

Предположим, что в апреле сотруднику платят сверхурочные за февраль, это выходит надо -2 месяца делать... Уж проще равняться на период регистрации документа, он хотя бы показывает месяц в котором произведены расчеты. Но у него тоже есть минусы, некоторые виды расчета не должны на него равняться (например: отпуска будущих периодов).
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#24 12.05.17 10:34
Если уж в отчете расшифровка делаем сортировку по полю "Сотрудник" то надо понимать что работать она не будет как положено.

Код
   |УПОРЯДОЧИТЬ ПО
   |   Графа2,
   |   Сотрудник
   |ИТОГИ
   |   СУММА(Результат),
   |   СУММА(Счетчик)
   |ПО
   |   ОБЩИЕ,
   |   Графа1
//*** Стоит добавить для полей типа ссылка
   |АВТОУПОРЯДОЧИВАНИЕ
//---
БУСведения о распределении численности работников по размерам заработной платы за 2017 год, Форма №1 (1С:ЗУП 2.5)#23 12.05.17 10:28
(21)
Цитата
(19) Условие добавьте

И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.ВидПремии = ЗНАЧЕНИЕ(Перечисление.ВидыПремии.Премия)

Премии бывают не только ежемесячные.