. Алексей

12
Рейтинг

milanSpb
Алексей .



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

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

Друзья
  • Дмитрий Малышев
Подписчики 1

Рейтинг 12


Комментарии

БУВыгрузка ведомости перечисления в банк-клиент РосБанк, новый формат. ЗУП 3#1 15.08.23 15:52
Привет.
В процедуре Печать() можно немного поменять код и тогда при сохранение будет формироваться нужное для банка название файла

Код
   ИмяДляБанка = ОбщегоНазначения.ОбщийМодуль("Справочники.Организации").ОрганизацияПоУмолчанию().ИНН + "_" + ФОРМАТ(ТекущаяДата(), "ДФ=ддММгггг") + "_MP"; 
   ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати);
      УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
         КоллекцияПечатныхФорм,             //   Коллекция из входящего параметра
         "БанкКлиентРосбанкExcel",         //   Должен соответствовать идентификатору команды
         "Банк-клиент (Росбанк)",      //   Синоним
         ТабличныйДокумент,,,ИмяДляБанка);               //   Табличный документ для вывода
DevЗУП 3.1 Не формируется внешний отчет. "Макет "" не существует. Операция прервана"#18 03.10.22 17:51
(17)
И продолжение....
подставляем макет из внешнего отчета
Все описанное делалось для варианта отчета "СписокДляСверкиСВоенкоматом"
все остальные можно сделать по аналогии.

Код
Процедура ВывестиМакетСписокДляСверкиСВоенкоматом(ДокументРезультат, РезультатКомпоновки, ДатаОтчета)
   
............
   
   //Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом2021");
   //Если ДатаОтчета < '20170801' Тогда
   //   Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом");
   //ИначеЕсли ДатаОтчета < '20220108' Тогда 
   //   Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом2017");
   //КонецЕсли;
   
   Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом2021");
   Если ДатаОтчета < '20170801' Тогда
      Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом");
   ИначеЕсли ДатаОтчета < '20220108' Тогда 
      Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом2017");
   КонецЕсли;

...............................

КонецПроцедуры
DevЗУП 3.1 Не формируется внешний отчет. &quot;Макет &quot;&quot; не существует. Операция прервана&quot;#17 03.10.22 15:08
Перед компоновкой вставляем пользовательский параметр с указанием нужного макета.

Код
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
..............

ИначеЕсли КлючВарианта = "СписокДляСверкиСВоенкоматом" Тогда

...........


[B]ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("МакетПечатнойФормы", ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом"));[/B]

РезультатКомпоновки = ЗарплатаКадрыОтчеты.РезультатКомпоновкиМакетаПечатнойФормы(ЭтотОбъект, ДанныеРасшифровки, НастройкиОтчета);
........
DevХранилище системных настроек "Внутренний кэш 1С" (обычная и управляемая форма) 8.2-8.3#32 28.07.21 15:32
(29)
"Внимание! Имя пользователя должно совпадать с именем пользователя ИБ! Иначе кнопка "Получить настройки пользователя" будет работать не корректно и часть функционала не сработает. Но если переименовывать пользователей проблематично просто используйте только кнопку "Получить настройки всех пользователей"!"

Это означает, что в справочнике "Пользователи" Имя Пользователя и Имя для входа в базу должны быть одинаковыми, а по умолчанию 1С их сокращает. (31) Функция для обхода данной проблемы.
DevХранилище системных настроек "Внутренний кэш 1С" (обычная и управляемая форма) 8.2-8.3#31 28.07.21 12:58
Огромное спасибо за обработку помогла разобраться с Хранилищем. Для себя немного усовершенствовал.

Вот небольшая функция которая помогает обойти требование "Имя пользователя должно совпадать с именем пользователя ИБ!"

Код
&НаСервереБезКонтекста 
Функция ПолучитьИмяПользователя(Пользователь)
    Если ТипЗнч(Пользователь) = Тип("СправочникСсылка.Пользователи") Тогда
        ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
        Для каждого ТекущееЗначение Из ПользователиИБ Цикл
            
            Если ТекущееЗначение.ПолноеИмя = Строка(Пользователь) Тогда
                
                Возврат(ТекущееЗначение.Имя);   
                
            КонецЕсли;    
            
        КонецЦикла;    
    Иначе
        Возврат Пользователь;
    КонецЕсли;    
    
КонецФункции // ПолучитьИмяПользователя()

.......................................................................
ОбъектВЗначении.ПолучитьНастройкиПользователяНаСервере(Таблица, ПолучитьИмяПользователя(Пользователь));
.......................................................................

HighLoadСоздание недостающих индексов в MSSQL#19 22.10.18 13:20
Большое спасибо.
Сделал две база на одной Добавил индексы один и тоже запрос производительность +10 с с Индексами 13 с , без 23.
БУПечатные формы УПД ("Универсальный передаточный документ") и Счета-Фактуры для ЛЮБЫХ версий УТ 10.3 (Управление торговлей ред.10.3) (с изменениями 2017 года)#26 17.10.17 19:31
Добрый вечер.
Счет фактура стала как родная.)

а УПД выдает ошибку

"Ошибка при вызове метода контекста (Выполнить): {(8, 2)}: Поле не найдено "КППКонтрагента"
<<?>>КППКонтрагента КАК КППКонтрагента"

"Управление торговлей", редакция 10.3 (10.3.20.2)
не могу понять где этот реквизит должен быть
БУУПД (Универсальный передаточный документ) и Счет-фактура 2017 1137 в том числе с приказом 625 (с 01.07.17) или 981 (с 01.10.17)#7 30.06.17 14:19
Добрый день УТ 10.3.20.2 при печати Счет фактуры
Поле объекта не обнаружено (НаАванс)
БУЖурнал учета работников, выбывающих в служебные командировки#7 10.02.15 17:04
(6) Ariko-sv, Укажите на каком релизе вы запускали эту обработку и я вам отвечу в чем проблема