К Сергей

11
Рейтинг

yghmd
Сергей К



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

  •   Был(а) на сайте: 17.04.2024

Подписчики 3

Группы

Участник Meetup

Рейтинг 11

Изменение пользователю роли из расширений (универсальная)

Инструменты и обработки Системный администратор Управление правами Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Роли и права

Обработка для установки прав из расширений. Помогает обойти ошибку поставки 1С Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.68.61).

1 стартмани

15.03.2019    4813    2    yghmd    0       

0

Групповое закрытие начислений (кадровый перевод списком) ЗУП 3.1

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

Обработка помогает закрыть действующие начисления по оплате труда у группы людей автоматическим созданием документа кадровый перевод списком. Тестировалась на конфигурации Зарплата и управление персоналом, редакция 3.1 (3.1.6.6), 1С:Предприятие 8.3 (8.3.11.2924)

1 стартмани

24.08.2018    5614    39    yghmd    8       

2

Групповая печать конвертов Бухгалтерия 3.0

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

Внешняя обработка для Бухгалтерии 3.0. Групповая печать конвертов из справочника контрагенты, с подбором контактной информации.

2 стартмани

24.09.2014    12988    43    yghmd    12       

7

Комментарии

DevГрупповое закрытие начислений (кадровый перевод списком) ЗУП 3.1#8 13.03.21 18:50
обработка создавалась как разовая для 3.1.6.6 и не буду ее поддерживать для других версий
вы можете самостоятельно доработать ее под любую версию
DevГрупповое закрытие начислений (кадровый перевод списком) ЗУП 3.1#6 12.03.21 8:12
(5) не могу проверить на этой версии
DevНумерованный список "как в Word" в макете.#19 24.01.20 9:34
Исправил ошибки и добавил проверку нумерованного списка в процедуре

Код
Процедура ВыровнятьАбзацыБезПервогоСлова(ВыводимаяОбласть)
   
   ТабличныйДокумент = Новый ТабличныйДокумент;
   ТабличныйДокумент.Вывести(ВыводимаяОбласть);
   
   Для НомерСтроки = 1 По ТабличныйДокумент.ВысотаТаблицы Цикл
      
      ПроверочнаяОбласть = ТабличныйДокумент.Область(НомерСтроки, 1);
      ПроверяемыйТекст = ПроверочнаяОбласть.Текст;
      
      ШаблонСписка = "^\t(\d+\.)|(- )|((а|б|в|г|д|е)\))";
      РегулярноеВыражение = свойОбщегоНазначенияКлиентСервер.РегулярныеВыраженияИнициализация(ШаблонСписка, Истина, Истина);
      РезультатПроверки = свойОбщегоНазначенияКлиентСервер.РегулярныеВыраженияВыполнить(РегулярноеВыражение, ПроверяемыйТекст);
      
      Если РезультатПроверки.Количество() = 0 Тогда
         Продолжить;
      КонецЕсли;
      
      СловаТеста = СтрРазделить(ПроверяемыйТекст, " ");
      Если СловаТеста.Количество() = 1 Тогда
         Продолжить;
      КонецЕсли;
      ВыводимыеСлова = Новый Массив;
      ВыводимыеСлова.Добавить(СловаТеста[0]);
      
      ПомещающийсяТекст = СтрСоединить(ВыводимыеСлова, " ");
      ПроверочнаяОбласть.Текст = ПомещающийсяТекст;
      Надпись = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
      Надпись.Расположить(ПроверочнаяОбласть);
      ВысотаОднойСтроки = Надпись.Высота;
      
      Для Инд = 1 По СловаТеста.ВГраница() Цикл
         ВыводимыеСлова.Добавить(СловаТеста[Инд]);
         ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
         Надпись.Расположить(ПроверочнаяОбласть);
         Если Надпись.Высота > ВысотаОднойСтроки Тогда
            Прервать;
         КонецЕсли;
         ПомещающийсяТекст = ПроверочнаяОбласть.Текст;
      КонецЦикла;
      
      Если Инд > СловаТеста.ВГраница() Тогда
         Продолжить;
      КонецЕсли;
      
      ВыводимыеСлова.Удалить(Инд);
      ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
      Надпись.Расположить(ПроверочнаяОбласть);
      
      ИндексМеняемогоСлова = 0;
      КоличествоВыводимыхСлов = ВыводимыеСлова.Количество();
      Пока Надпись.Высота <= ВысотаОднойСтроки Цикл
         // начинаем со второго слова и последнее не меняем
         Если ИндексМеняемогоСлова+2 < КоличествоВыводимыхСлов Тогда
            ИндексМеняемогоСлова = ИндексМеняемогоСлова + 1;
         Иначе
            ИндексМеняемогоСлова = 1;
         КонецЕсли;
         
         ВыводимыеСлова[ИндексМеняемогоСлова] = ВыводимыеСлова[ИндексМеняемогоСлова] + " ";
         ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
         Надпись.Расположить(ПроверочнаяОбласть);
         
      КонецЦикла;
      
      ВыводимыеСлова[ИндексМеняемогоСлова] = Лев(ВыводимыеСлова[ИндексМеняемогоСлова], СтрДлина(ВыводимыеСлова[ИндексМеняемогоСлова])-1);
      
      Для Инд = 0 По ВыводимыеСлова.ВГраница() Цикл
         СловаТеста[Инд] = ВыводимыеСлова[Инд];
      КонецЦикла;
      
      ВыводимаяОбласть.Область(НомерСтроки, 1).Текст = СтрСоединить(СловаТеста, " ");
   
   КонецЦикла;
   
КонецПроцедуры
DevНумерованный список &quot;как в Word&quot; в макете.#18 23.01.20 16:48
(17) можно после
Код
ПроверяемыйТекст = ПроверочнаяОбласть.Текст;
вставить проверку на нумерованный список, у меня проверяется выше
DevНумерованный список &quot;как в Word&quot; в макете.#17 23.01.20 16:42
Суть решения в том, чтобы программно сделать выравнивание первой строки абзаца с нумерованным списком

Код
Процедура ВыровнятьАбзацыБезПервогоСлова(ВыводимаяОбласть)
   
   ТабличныйДокумент = Новый ТабличныйДокумент;
   ТабличныйДокумент.Вывести(ВыводимаяОбласть);
   
   Для НомерСтроки = 1 По ТабличныйДокумент.ВысотаТаблицы Цикл
      
      ПроверочнаяОбласть = ТабличныйДокумент.Область(НомерСтроки, 1);
      ПроверяемыйТекст = ПроверочнаяОбласть.Текст;
      
      СловаТеста = СтрРазделить(ПроверяемыйТекст, " ");
      Если СловаТеста.Количество() = 1 Тогда
         Продолжить;
      КонецЕсли;
      ВыводимыеСлова = Новый Массив;
      ВыводимыеСлова.Добавить(СловаТеста[0]);
      
      ПомещающийсяТекст = СтрСоединить(ВыводимыеСлова, " ");
      ПроверочнаяОбласть.Текст = ПомещающийсяТекст;
      Надпись = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
      Надпись.Расположить(ПроверочнаяОбласть);
      ВысотаОднойСтроки = Надпись.Высота;
      
      Для Инд = 1 По СловаТеста.ВГраница() Цикл
         ВыводимыеСлова.Добавить(СловаТеста[Инд]);
         ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
         Надпись.Расположить(ПроверочнаяОбласть);
         Если Надпись.Высота > ВысотаОднойСтроки Тогда
            Прервать;
         КонецЕсли;
         ПомещающийсяТекст = ПроверочнаяОбласть.Текст;
      КонецЦикла;
      
      Если Инд > СловаТеста.ВГраница() Тогда
         Продолжить;
      КонецЕсли;
      
      ВыводимыеСлова.Удалить(Инд);
      Надпись.Расположить(ПроверочнаяОбласть);
      ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
      Надпись.Расположить(ПроверочнаяОбласть);
      
      ИндексМеняемогоСлова = 1;
      ИндексПрошлогоСлова = 1;
      КоличествоВыводимыхСлов = ВыводимыеСлова.Количество();
      Пока Надпись.Высота <= ВысотаОднойСтроки Цикл
         ВыводимыеСлова[ИндексМеняемогоСлова] = ВыводимыеСлова[ИндексМеняемогоСлова] + " ";
         ПроверочнаяОбласть.Текст = СтрСоединить(ВыводимыеСлова, " ");
         Надпись.Расположить(ПроверочнаяОбласть);
         ИндексПрошлогоСлова = ИндексМеняемогоСлова;
         ИндексМеняемогоСлова = ИндексМеняемогоСлова + 1;
         Если ИндексМеняемогоСлова+1 >= КоличествоВыводимыхСлов Тогда
            ИндексМеняемогоСлова = 1;
         КонецЕсли;
      КонецЦикла;
      
      ВыводимыеСлова[ИндексМеняемогоСлова] = Прав(ВыводимыеСлова[ИндексМеняемогоСлова], СтрДлина(ВыводимыеСлова[ИндексМеняемогоСлова])-1);
      
      Для Инд = 0 По ВыводимыеСлова.ВГраница() Цикл
         СловаТеста[Инд] = ВыводимыеСлова[Инд];
      КонецЦикла;
      
      ВыводимаяОбласть.Область(НомерСтроки, 1).Текст = СтрСоединить(СловаТеста, " ");
   
   КонецЦикла;
   
КонецПроцедуры


з.ы. Может не все исключения обрабатываются, но на моем примере работает :)
DevНумерованный список &quot;как в Word&quot; в макете.#16 23.01.20 14:11
Жаль что нет решения
AdminЗависли фоновые задания (8.3.15.1830)#9 21.01.20 9:25
Все не мой случай :) Но вы обсуждайте
AdminЗависли фоновые задания (8.3.15.1830)#3 20.01.20 10:12
у меня помогло полное удаление всех фоновых заданий через консоль и потом стали запускать новые.
жестко перестали все запускаться фоновые и даже вручную. так как расчет ЗП тоже на том же сервере и он делается через фоновое задание, то не делался даже он
AdminЗависли фоновые задания (8.3.15.1830)#1 20.01.20 9:36
1С:Предприятие 8.3 (8.3.15.1830) - Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.74.76), серверный вариант на MS SQL.
Конфигурация думаю не так критично для ответа, в вот платформа думаю может быть виновата.

Ситуация вышла, что зависло фоновое задание рассылки отчетов по электронной почте (возможно какое-то другое). Вообщем зависли все фоновые задания и перестали запускаться новые. Не знаю даже где искать :(