Корнев Николай

101
Рейтинг

kns77
Николай Корнев



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

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

Друзья
  • Анастасия Кирина
  • Игорь Х
  • Валентина Шевченко
  • Виталий Ангелов
  • Александр Кузиков
  • v r
  • Olga Retrova
Подписчики 24

Группы

Партнер IS-SP

Профессиональный разработчик

Партнер IS-WP

Рейтинг 101

Товарный отчет на фискальном регистраторе

Отчеты и формы Пользователь Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m) Расширение (cfe) Розничная торговля ККМ

Товарный отчет на фискальном регистраторе в режиме РМК. Аналог ZX отчетов, но в разрезе товарных позиций. Предназначена для кассира.

1 стартмани

09.12.2022    2155    1    kns77    2       

1

Комплект из 8 печатных форм для ЗУП

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

Комплект из 8 печатных форм для ЗУП: трудовые договоры, допсоглашения, договор о полной материальной ответственности, о неразглашении, согласие на обработку персональных данных. Все сделано на БСП.

1 стартмани

12.10.2021    2923    39    kns77    7       

1

Загрузка стажей в 1С из формата xml СЗВ-Стаж

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

Загружает стажи в указанный регистр через документ "Перенос данных", и они корректно встают в отчет СЗВ-стаж из xml файла ПФР. Требуется для сдачи отчета СЗВ-стаж после переноса данных из сторонних программ.

1 стартмани

01.06.2021    4472    17    kns77    3       

3

Комментарии

БУИнвентарная карточка ОС 6#7 19.04.24 22:20
Код
&ИзменениеИКонтроль("ПечатьОС6_2003")
Функция АСБК_ПечатьОС6_2003(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)

   ТабДок = Новый ТабличныйДокумент;
   ТабДок.АвтоМасштаб         = Истина;
   ТабДок.ОриентацияСтраницы   = ОриентацияСтраницы.Портрет;
   ТабДок.ПолеСнизу         = 0;
   ТабДок.КлючПараметровПечати   = "ПАРАМЕТРЫ_ПЕЧАТИ_ОсновныеСредства_ОС6";
   СисИнфо = Новый СистемнаяИнформация;
   Если ПустаяСтрока(СисИнфо.ИнформацияПрограммыПросмотра) Тогда 
      ТабДок.ПолеСверху          = 0;
   Иначе
      ТабДок.ПолеСверху          = 10;
   КонецЕсли;

   Макет = УправлениеПечатью.МакетПечатнойФормы("Справочник.ОсновныеСредства.ОС6");

   Шапка = Макет.ПолучитьОбласть("Шапка");
   ШапкаРазделов1и2  = Макет.ПолучитьОбласть("ШапкаРазделов1и2");
   ШапкаРаздела3     = Макет.ПолучитьОбласть("ШапкаРаздела3");
   СтрокиРаздела3    = Макет.ПолучитьОбласть("СтрокиРаздела3");
   ШапкаРаздела4     = Макет.ПолучитьОбласть("ШапкаРаздела4");
   СтрокаРаздела4    = Макет.ПолучитьОбласть("СтрокаРаздела4");
   ПодвалСтраницы1   = Макет.ПолучитьОбласть("ПодвалСтраницы1");
   ШапкаРазделов5и6  = Макет.ПолучитьОбласть("ШапкаРазделов5и6");
   СтрокаРазделов5и6 = Макет.ПолучитьОбласть("СтрокаРазделов5и6");
   ШапкаРаздела7_1   = Макет.ПолучитьОбласть("ШапкаРаздела7_1");
   ШапкаРаздела7_2   = Макет.ПолучитьОбласть("ШапкаРаздела7_2");
   ПодвалСтраницы2   = Макет.ПолучитьОбласть("ПодвалСтраницы2");

   // Карточка выводится на дату заданную в форме элемента, при печати из других мест используем рабочую дату пользователя.
   Если ПараметрыПечати.Свойство("ДатаСведений") Тогда
      ДатаСведений = ПараметрыПечати.ДатаСведений;
   Иначе
      ДатаСведений = ОбщегоНазначения.ТекущаяДатаПользователя();
   КонецЕсли;

   ТаблицаОбъектов = Новый ТаблицаЗначений;
   ТаблицаОбъектов.Колонки.Добавить("ОС", Новый ОписаниеТипов("СправочникСсылка.ОсновныеСредства"));
   ТаблицаОбъектов.Колонки.Добавить("Номер", ОбщегоНазначения.ОписаниеТипаЧисло(15, 2));
   НомерСтроки = 1;
   Для каждого ОС Из МассивОбъектов Цикл
      СтрокаТаблицы = ТаблицаОбъектов.Добавить();
      СтрокаТаблицы.ОС = ОС;
      СтрокаТаблицы.Номер = НомерСтроки;
      НомерСтроки = НомерСтроки + 1;
   КонецЦикла;

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТаблицаОбъектов", ТаблицаОбъектов);
   Запрос.УстановитьПараметр("ДатаСведений", ДатаСведений);
   Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
   Запрос.Текст = 
   "ВЫБРАТЬ
   |   ТаблицаОС.ОС КАК ОС,
   |   ТаблицаОС.Номер КАК Порядок
   |ПОМЕСТИТЬ ТаблицаОС
   |ИЗ
   |   &ТаблицаОбъектов КАК ТаблицаОС
   |
   |ИНДЕКСИРОВАТЬ ПО
   |   ОС
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   СведенияПоОрганизации.ОсновноеСредство КАК ОС,
   |   СведенияПоОрганизации.Организация КАК Организация
   |ПОМЕСТИТЬ СведенияПоОрганизации
   |ИЗ
   |   РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(&ДатаСведений, ОсновноеСредство В (&МассивОбъектов)) КАК СведенияПоОрганизации
   |
   |ИНДЕКСИРОВАТЬ ПО
   |   ОС
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ОсновныеСредства.Ссылка КАК Ссылка,
   |   ОсновныеСредства.ЕдиницаУчета КАК ЕдиницаУчета,
   |   ОсновныеСредства.Код КАК Код,
   |   ОсновныеСредства.Наименование КАК Наименование,
   |   ОсновныеСредства.АмортизационнаяГруппа КАК АмортизационнаяГруппа,
   |   ОсновныеСредства.ГруппаОС КАК ГруппаОС,
   |   ОсновныеСредства.ДатаВыпуска КАК ДатаВыпуска,
   |   ОсновныеСредства.ЗаводскойНомер КАК ЗаводскойНомер,
   |   ОсновныеСредства.Изготовитель КАК Изготовитель,
   |   ОсновныеСредства.КодПоОКОФ КАК КодПоОКОФСсылка,
   |   ОсновныеСредства.КодПоОКОФ.Код КАК КодПоОКОФ,
   |   ОсновныеСредства.НаименованиеПолное КАК НаименованиеПолное,
   |   ОсновныеСредства.НомерПаспорта КАК НомерПаспорта,
   |   ОсновныеСредства.ШифрПоЕНАОФ КАК ШифрПоЕНАОФ,
   |   ЕСТЬNULL(СведенияПоОрганизации.Организация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК Организация,
   |   ЕСТЬNULL(СведенияПоОрганизации.Организация.КодПоОКПО, """") КАК КодПоОКПО,
   |   ТаблицаОС.Порядок КАК Порядок
   |ИЗ
   |   ТаблицаОС КАК ТаблицаОС
   |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОсновныеСредства КАК ОсновныеСредства
   |      ПО ТаблицаОС.ОС = ОсновныеСредства.Ссылка
   |      ЛЕВОЕ СОЕДИНЕНИЕ СведенияПоОрганизации КАК СведенияПоОрганизации
   |      ПО ТаблицаОС.ОС = СведенияПоОрганизации.ОС
   |ГДЕ
   |   ОсновныеСредства.ЭтоГруппа = ЛОЖЬ
   |
   |УПОРЯДОЧИТЬ ПО
   |   Порядок";
   РезультатЗапрос = Запрос.Выполнить();

   Если РезультатЗапрос.Пустой() Тогда
      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Печатная форма № ОС-6 может быть сформирована только для элементов справочника.'"));
      Возврат Неопределено;
   КонецЕсли;

   ВыборкаОбъектов = РезультатЗапрос.Выбрать();

   ПервыйДокумент = Истина;

   Пока ВыборкаОбъектов.Следующий() Цикл

      ТекстСообщения = "";
      Если ВыборкаОбъектов.ЕдиницаУчета = Перечисления.ЕдиницыУчетаОС.ГрупповойОбъект Тогда
         ТекстШаблона = НСтр("ru = 'Печатная форма № ОС-6 не формируется для групповых объектов основных средств.'");
         ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстШаблона, Строка(ВыборкаОбъектов.Ссылка));
         ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ВыборкаОбъектов.Ссылка);
         Продолжить;
      КонецЕсли;

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

      Если НЕ ПервыйДокумент Тогда
         ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
      КонецЕсли;

      ПервыйДокумент = Ложь;
      // Запомним номер строки, с которой начали выводить текущий документ.
      НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;

      СчетУчетаСтоимостиБУ = ТекущиеСведенияОС.СчетУчета;
      СрокИспользования   = ТекущиеСведенияОС.СрокПолезногоИспользования;

      Отбор  = Новый Структура( "ОсновноеСредство", ВыборкаОбъектов.Ссылка);
      Подразделение  = ТекущиеСведенияОС.МестонахождениеНаименование;

      СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(ВыборкаОбъектов.Организация, ДатаСведений);

      Шапка.Параметры.Организация       = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм");
      Шапка.Параметры.КодПоОКПО         = ВыборкаОбъектов.КодПоОКПО;
      Шапка.Параметры.Подразделение     = Подразделение;
      Шапка.Параметры.НаименованиеОС     = ?(НЕ ЗначениеЗаполнено(ВыборкаОбъектов.НаименованиеПолное),
      ВыборкаОбъектов.Наименование, ВыборкаОбъектов.НаименованиеПолное);

      Шапка.Параметры.НомерДок          = ТекущиеСведенияОС.ИнвентарныйНомер;
      Шапка.Параметры.ДатаДок           = Формат(ДатаСведений,"ДФ=dd.MM.yyyy");
      Шапка.Параметры.МестоНахождениеОС = Подразделение;
      Шапка.Параметры.ИзготовительОС    = ВыборкаОбъектов.Изготовитель;
      Шапка.Параметры.КодПоОКОФ         = ВыборкаОбъектов.КодПоОКОФ;
      Шапка.Параметры.НомерГруппы       = ВыборкаОбъектов.АмортизационнаяГруппа;
      Шапка.Параметры.НомерПаспорта     = ВыборкаОбъектов.НомерПаспорта;
      Шапка.Параметры.ЗаводскойНомер    = ВыборкаОбъектов.ЗаводскойНомер;
      Шапка.Параметры.ИнвентарныйНомер  = ТекущиеСведенияОС.ИнвентарныйНомер;
      Шапка.Параметры.СубСчет           = Строка(СчетУчетаСтоимостиБУ);

      Запрос = Новый Запрос;
      Запрос.Текст = 
      "ВЫБРАТЬ
      |   СостоянияОСОрганизаций.Состояние,
      |   СостоянияОСОрганизаций.ДатаСостояния,
      |   СобытияОСОрганизаций.НазваниеДокумента,
      |   СобытияОСОрганизаций.НомерДокумента,
      |   СобытияОСОрганизаций.Событие,
      |   СостоянияОСОрганизаций.Регистратор
      |ИЗ
      |   РегистрСведений.СобытияОСОрганизаций КАК СобытияОСОрганизаций
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
      |      ПО СобытияОСОрганизаций.Период = СостоянияОСОрганизаций.ДатаСостояния
      |         И СобытияОСОрганизаций.Регистратор = СостоянияОСОрганизаций.Регистратор
      |ГДЕ
      |   СобытияОСОрганизаций.Организация = &Организация
      |   И СостоянияОСОрганизаций.Организация = &Организация
      |   И СобытияОСОрганизаций.ОсновноеСредство = &ОсновноеСредство
      |   И СостоянияОСОрганизаций.ОсновноеСредство = &ОсновноеСредство
      |
      |ОБЪЕДИНИТЬ ВСЕ
      |
      |ВЫБРАТЬ
      |   NULL,
      |   СобытияОСОрганизацийСрезПоследних.Период,
      |   СобытияОСОрганизацийСрезПоследних.НазваниеДокумента,
      |   СобытияОСОрганизацийСрезПоследних.НомерДокумента,
      |   СобытияОСОрганизацийСрезПоследних.Событие,
      |   СобытияОСОрганизацийСрезПоследних.Регистратор
      |ИЗ
      |   РегистрСведений.СобытияОСОрганизаций.СрезПоследних(
      |         &ДатаСведений,
      |         ОсновноеСредство = &ОсновноеСредство
      |            И Организация = &Организация
      |            И Событие.ВидСобытияОС В (&МодернизацияИКапРемонт)) КАК СобытияОСОрганизацийСрезПоследних";

      Запрос.УстановитьПараметр("Организация", ВыборкаОбъектов.Организация);
      Запрос.УстановитьПараметр("ОсновноеСредство", ВыборкаОбъектов.Ссылка);
      Запрос.УстановитьПараметр("ДатаСведений", ДатаСведений);

      ВидыСобытий = Новый СписокЗначений;
      ВидыСобытий.Добавить(Перечисления.ВидыСобытийОС.РаспределениеНДС);
      ВидыСобытий.Добавить(Перечисления.ВидыСобытийОС.Модернизация);
      ВидыСобытий.Добавить(Перечисления.ВидыСобытийОС.Достройка);
      ВидыСобытий.Добавить(Перечисления.ВидыСобытийОС.Дооборудование);
      ВидыСобытий.Добавить(Перечисления.ВидыСобытийОС.КапитальныйРемонт);

      Запрос.УстановитьПараметр("МодернизацияИКапРемонт", ВидыСобытий);
      Выборка = Запрос.Выполнить().Выбрать();

      ДатаПринятия     = '00010101';
      ДокументПринятия = "";

      ДатаВвода     = '00010101';
      ДокументВвода = "";
      ДокументВводаНомер = "";

      ДатаСписания       = '00010101';
      ДокументСписания   = "";
      РегистраторСписания = Неопределено;

      Пока Выборка.Следующий() Цикл
         Если Выборка.Состояние   = Перечисления.СостоянияОС.ПринятоКУчету Тогда
            ДатаПринятия        = Выборка.ДатаСостояния;
            ДокументПринятия    = Выборка.НазваниеДокумента;
         ИначеЕсли Выборка.Состояние = Перечисления.СостоянияОС.СнятоСУчета Тогда
            ДатаСписания        = Выборка.ДатаСостояния;
            ДокументСписания    = Выборка.НазваниеДокумента;
            РегистраторСписания = Выборка.Регистратор;
         Иначе
            ДатаПоследнейМодернизации     = Выборка.ДатаСостояния;
            ДокументПоследнейМодернизации = Выборка.НазваниеДокумента;
         КонецЕсли; 
      КонецЦикла;

      Шапка.Параметры.ДатаВвода    = ДатаПринятия;
      Шапка.Параметры.ДатаСписания = ДатаСписания;

      ТабДок.Вывести(Шапка);

      // Балансовая стоимость ОС на момент поступления и первоначально принятый срок полезного использования
      ШапкаРазделов1и2.Параметры.ПервоначальнаяСтоимость    = ТекущиеСведенияОС.ПервоначальнаяСтоимость;
      ШапкаРазделов1и2.Параметры.СрокПолезногоИспользования = СрокИспользования;

      ТабДок.Вывести(ШапкаРазделов1и2);
      ТабДок.Вывести(ШапкаРаздела3);
      ТабДок.Вывести(СтрокиРаздела3);

      // Сведения о приемке, внутренних перемещениях и выбытии   
      ТабДок.Вывести(ШапкаРаздела4);

      Запрос = Новый Запрос;
      Запрос.УстановитьПараметр("Период",           ДатаСведений);
      Запрос.УстановитьПараметр("Организация",      ВыборкаОбъектов.Организация);
      Запрос.УстановитьПараметр("ОсновноеСредство", ВыборкаОбъектов.Ссылка);
      Запрос.Текст =
      "ВЫБРАТЬ
      |   СобытияОСОрганизаций.НазваниеДокумента КАК НазваниеДокумента,
      |   СобытияОСОрганизаций.НомерДокумента КАК НомерДокумента,
      |   ВЫБОР
      |      КОГДА СобытияОСОрганизаций.Событие.ВидСобытияОС = ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ПринятиеКУчету)
      |         ТОГДА ЕСТЬNULL(СостоянияОСОрганизаций.ДатаСостояния, СобытияОСОрганизаций.Период)
      |      ИНАЧЕ СобытияОСОрганизаций.Период
      |   КОНЕЦ КАК Период,
      |   ВЫБОР
      |      КОГДА СобытияОСОрганизаций.Регистратор ССЫЛКА Документ.ПередачаОС
      |            И ВЫРАЗИТЬ(СобытияОСОрганизаций.Регистратор КАК Документ.ПередачаОС).ДокПодготовкаКПередачеОС <> ЗНАЧЕНИЕ(Документ.ПодготовкаКПередачеОС.ПустаяСсылка)
      |         ТОГДА ВЫРАЗИТЬ(СобытияОСОрганизаций.Регистратор КАК Документ.ПередачаОС).ДокПодготовкаКПередачеОС.Дата
      |      ИНАЧЕ СобытияОСОрганизаций.Период
      |   КОНЕЦ КАК ПериодОстатков,
      |   СобытияОСОрганизаций.Событие КАК Событие,
      |   СобытияОСОрганизаций.Событие.ВидСобытияОС КАК ВидСобытияОС,
      |   СобытияОСОрганизаций.Регистратор КАК Регистратор
      |ПОМЕСТИТЬ СобытияОС
      |ИЗ
      |   РегистрСведений.СобытияОСОрганизаций КАК СобытияОСОрганизаций
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
      |      ПО СобытияОСОрганизаций.ОсновноеСредство = СостоянияОСОрганизаций.ОсновноеСредство
      |         И СобытияОСОрганизаций.Организация = СостоянияОСОрганизаций.Организация
      |         И (СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ПринятоКУчету))
      |ГДЕ
      |   СобытияОСОрганизаций.ОсновноеСредство = &ОсновноеСредство
      |   И СобытияОСОрганизаций.Период < &Период
      |   И СобытияОСОрганизаций.Организация = &Организация
      |   И СобытияОСОрганизаций.Событие.ВидСобытияОС В (ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ПринятиеКУчету), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ПринятиеКУчетуСВводомВЭксплуатацию), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ВнутреннееПеремещение), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.Списание), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.Передача), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ПереводВМалоценноеОборудование))
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   МестонахождениеОСБухгалтерскийУчет.Период КАК Период,
      |   МестонахождениеОСБухгалтерскийУчет.МОЛ КАК МОЛ,
      |   МестонахождениеОСБухгалтерскийУчет.Местонахождение КАК Местонахождение
      |ПОМЕСТИТЬ МестонахождениеОСБухгалтерскийУчет
      |ИЗ
      |   РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
      |ГДЕ
      |   МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство = &ОсновноеСредство
      |   И МестонахождениеОСБухгалтерскийУчет.Организация = &Организация
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СобытияОС.Период КАК Период,
      |   МАКСИМУМ(МестонахождениеОСБухгалтерскийУчет.Период) КАК ПоследнийПериод
      |ПОМЕСТИТЬ МестонахождениеОСБухгалтерскийУчетСрезПоследнихПериодов
      |ИЗ
      |   СобытияОС КАК СобытияОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
      |      ПО СобытияОС.Период >= МестонахождениеОСБухгалтерскийУчет.Период
      |
      |СГРУППИРОВАТЬ ПО
      |   СобытияОС.Период
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   МестонахождениеОСБухгалтерскийУчетСрезПоследнихПериодов.Период КАК Период,
      |   МестонахождениеОСБухгалтерскийУчет.МОЛ КАК МОЛ,
      |   МестонахождениеОСБухгалтерскийУчет.Местонахождение КАК Местонахождение
      |ПОМЕСТИТЬ МестонахождениеОСБухгалтерскийУчетСрезПоследних
      |ИЗ
      |   МестонахождениеОСБухгалтерскийУчетСрезПоследнихПериодов КАК МестонахождениеОСБухгалтерскийУчетСрезПоследнихПериодов
      |      ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
      |      ПО МестонахождениеОСБухгалтерскийУчетСрезПоследнихПериодов.ПоследнийПериод = МестонахождениеОСБухгалтерскийУчет.Период
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СчетаБухгалтерскогоУчетаОС.Период КАК Период,
      |   СчетаБухгалтерскогоУчетаОС.СчетУчета КАК СчетУчета,
      |   СчетаБухгалтерскогоУчетаОС.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации
      |ПОМЕСТИТЬ СчетаБухгалтерскогоУчетаОС
      |ИЗ
      |   РегистрСведений.СчетаБухгалтерскогоУчетаОС КАК СчетаБухгалтерскогоУчетаОС
      |ГДЕ
      |   СчетаБухгалтерскогоУчетаОС.ОсновноеСредство = &ОсновноеСредство
      |   И СчетаБухгалтерскогоУчетаОС.Организация = &Организация
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СобытияОС.ПериодОстатков КАК ПериодОстатков,
      |   МАКСИМУМ(СчетаБухгалтерскогоУчетаОС.Период) КАК ПоследнийПериод
      |ПОМЕСТИТЬ СчетаБухгалтерскогоУчетаОССрезПоследнихПериодов
      |ИЗ
      |   СобытияОС КАК СобытияОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ СчетаБухгалтерскогоУчетаОС КАК СчетаБухгалтерскогоУчетаОС
      |      ПО СобытияОС.ПериодОстатков >= СчетаБухгалтерскогоУчетаОС.Период
      |
      |СГРУППИРОВАТЬ ПО
      |   СобытияОС.ПериодОстатков
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СчетаБухгалтерскогоУчетаОССрезПоследнихПериодов.ПериодОстатков КАК ПериодОстатков,
      |   СчетаБухгалтерскогоУчетаОС.СчетУчета КАК СчетУчета,
      |   СчетаБухгалтерскогоУчетаОС.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации
      |ПОМЕСТИТЬ СчетаБухгалтерскогоУчетаОССрезПоследних
      |ИЗ
      |   СчетаБухгалтерскогоУчетаОССрезПоследнихПериодов КАК СчетаБухгалтерскогоУчетаОССрезПоследнихПериодов
      |      ЛЕВОЕ СОЕДИНЕНИЕ СчетаБухгалтерскогоУчетаОС КАК СчетаБухгалтерскогоУчетаОС
      |      ПО СчетаБухгалтерскогоУчетаОССрезПоследнихПериодов.ПоследнийПериод = СчетаБухгалтерскогоУчетаОС.Период
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ХозрасчетныйОстаткиИОбороты.Период КАК Период,
      |   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
      |   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт
      |ПОМЕСТИТЬ ХозрасчетныйОстаткиИОбороты
      |ИЗ
      |   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
      |         ,
      |         &Период,
      |         Регистратор,
      |         ,
      |         Счет В
      |            (ВЫБРАТЬ РАЗЛИЧНЫЕ
      |               СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета
      |            ИЗ
      |               СчетаБухгалтерскогоУчетаОССрезПоследних
      |         
      |            ОБЪЕДИНИТЬ
      |         
      |            ВЫБРАТЬ РАЗЛИЧНЫЕ
      |               СчетаБухгалтерскогоУчетаОССрезПоследних.СчетНачисленияАмортизации
      |            ИЗ
      |               СчетаБухгалтерскогоУчетаОССрезПоследних),
      |         ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
      |         Организация = &Организация
      |            И Субконто1 = &ОсновноеСредство) КАК ХозрасчетныйОстаткиИОбороты
      |ГДЕ
      |   НЕ ХозрасчетныйОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СобытияОС.ПериодОстатков КАК ПериодОстатков,
      |   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
      |   МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.Период) КАК ПоследнийПериод
      |ПОМЕСТИТЬ ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов
      |ИЗ
      |   СобытияОС КАК СобытияОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты
      |      ПО СобытияОС.ПериодОстатков >= ХозрасчетныйОстаткиИОбороты.Период
      |
      |СГРУППИРОВАТЬ ПО
      |   СобытияОС.ПериодОстатков,
      |   ХозрасчетныйОстаткиИОбороты.Счет
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов.ПериодОстатков КАК ПериодОстатков,
      |   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
      |   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
      |   ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт
      |ПОМЕСТИТЬ ХозрасчетныйОстаткиИОборотыСрезПоследних
      |ИЗ
      |   ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов КАК ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов
      |      ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты
      |      ПО ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов.ПоследнийПериод = ХозрасчетныйОстаткиИОбороты.Период
      |         И ХозрасчетныйОстаткиИОборотыСрезПоследнихПериодов.Счет = ХозрасчетныйОстаткиИОбороты.Счет
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СобытияОС.НазваниеДокумента КАК НазваниеДокумента,
      |   СобытияОС.НомерДокумента КАК НомерДокумента,
      |   СобытияОС.Период КАК Период,
      |   СобытияОС.Событие КАК Событие,
      |   СобытияОС.Регистратор КАК Регистратор,
      |   МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ КАК МОЛ,
      |   МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Местонахождение,
      |   СтоимостьОС.СуммаОборотКт КАК СтоимостьОборот,
      |   АмортизацияОС.СуммаОборотДт КАК АмортизацияОборот,
      |   ВЫБОР
      |      КОГДА СобытияОС.ВидСобытияОС В (ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.Списание), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.Передача), ЗНАЧЕНИЕ(Перечисление.ВидыСобытийОС.ПереводВМалоценноеОборудование))
      |         ТОГДА ЕСТЬNULL(СтоимостьОС.СуммаОборотКт, 0) - ЕСТЬNULL(АмортизацияОС.СуммаОборотДт, 0)
      |      ИНАЧЕ ЕСТЬNULL(СтоимостьОС.СуммаКонечныйОстатокДт, 0) - ЕСТЬNULL(АмортизацияОС.СуммаКонечныйОстатокКт, 0)
      |   КОНЕЦ КАК ОстаточнаяСтоимость
      |ИЗ
      |   СобытияОС КАК СобытияОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОСБухгалтерскийУчетСрезПоследних КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних
      |      ПО СобытияОС.Период = МестонахождениеОСБухгалтерскийУчетСрезПоследних.Период
      |      ЛЕВОЕ СОЕДИНЕНИЕ СчетаБухгалтерскогоУчетаОССрезПоследних КАК СчетаБухгалтерскогоУчетаОССрезПоследних
      |      ПО СобытияОС.ПериодОстатков = СчетаБухгалтерскогоУчетаОССрезПоследних.ПериодОстатков
      |      ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОстаткиИОборотыСрезПоследних КАК СтоимостьОС
      |      ПО (СчетаБухгалтерскогоУчетаОССрезПоследних.ПериодОстатков = СтоимостьОС.ПериодОстатков)
      |         И (СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета = СтоимостьОС.Счет)
      |      ЛЕВОЕ СОЕДИНЕНИЕ ХозрасчетныйОстаткиИОборотыСрезПоследних КАК АмортизацияОС
      |      ПО (СчетаБухгалтерскогоУчетаОССрезПоследних.ПериодОстатков = АмортизацияОС.ПериодОстатков)
      |         И (СчетаБухгалтерскогоУчетаОССрезПоследних.СчетНачисленияАмортизации = АмортизацияОС.Счет)";
      ВыборкаЗаписей = Запрос.Выполнить().Выбрать();

      Пока ВыборкаЗаписей.Следующий() Цикл

         ТекущаяОперация = ВыборкаЗаписей.Событие;

         СтрокаРаздела4.Параметры.ДатаНомерДокумента = ВыборкаЗаписей.НазваниеДокумента + " № "+ВыборкаЗаписей.НомерДокумента+" от "+Формат(ВыборкаЗаписей.Период,"ДФ=dd.MM.yyyy");
         СтрокаРаздела4.Параметры.ВидОперации        = ТекущаяОперация;
         СтрокаРаздела4.Параметры.ФИОМОЛДвижения     = ВыборкаЗаписей.МОЛ;
         СтрокаРаздела4.Параметры.Подразделение      = ВыборкаЗаписей.Местонахождение;

         Если ВыборкаЗаписей.СтоимостьОборот = NULL И ВыборкаЗаписей.АмортизацияОборот = NULL Тогда // ввод начальных остатков

            СтрокаРаздела4.Параметры.ОстаточнаяСтоимость = ТекущиеСведенияОС.ПервоначальнаяСтоимость;

         Иначе

            СтрокаРаздела4.Параметры.ОстаточнаяСтоимость = ВыборкаЗаписей.ОстаточнаяСтоимость;

         КонецЕсли;

         ТабДок.Вывести(СтрокаРаздела4);

      КонецЦикла;

      ТабДок.Вывести(ПодвалСтраницы1);

      // модернизация ос и ремонт
      ТаблицаМодернизаций = Новый ТаблицаЗначений;
      ТаблицаМодернизаций.Колонки.Добавить("ВидОперации");
      ТаблицаМодернизаций.Колонки.Добавить("Название");
      ТаблицаМодернизаций.Колонки.Добавить("Дата");
      ТаблицаМодернизаций.Колонки.Добавить("Номер");
      ТаблицаМодернизаций.Колонки.Добавить("Сумма");

      ТаблицаРемонтов = Новый ТаблицаЗначений;
      ТаблицаРемонтов.Колонки.Добавить("ВидОперации");
      ТаблицаРемонтов.Колонки.Добавить("Название");
      ТаблицаРемонтов.Колонки.Добавить("Дата");
      ТаблицаРемонтов.Колонки.Добавить("Номер");
      ТаблицаРемонтов.Колонки.Добавить("Сумма");

      ТабДок.Вывести(ШапкаРазделов5и6);

      СписокМодернизаций = Новый Массив;
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.РаспределениеНДС);
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.Модернизация);
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.Достройка);
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.Реконструкция);
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.Дооборудование);
      СписокМодернизаций.Добавить(Перечисления.ВидыСобытийОС.ЧастичнаяЛиквидация);

      СписокРемонтов = Новый Массив;
      СписокРемонтов.Добавить(Перечисления.ВидыСобытийОС.СреднийРемонт);
      СписокРемонтов.Добавить(Перечисления.ВидыСобытийОС.ТекущийРемонт);
      СписокРемонтов.Добавить(Перечисления.ВидыСобытийОС.КапитальныйРемонт);

      Запрос = Новый Запрос;
      Запрос.УстановитьПараметр("Организация", ВыборкаОбъектов.Организация);
      Запрос.УстановитьПараметр("ОсновноеСредство", ВыборкаОбъектов.Ссылка);
      Запрос.УстановитьПараметр("УсловиеМодернизаций",СписокМодернизаций);
      Запрос.УстановитьПараметр("УсловиеРемонтов", СписокРемонтов);
      Запрос.УстановитьПараметр("ВидСобытияОС", Перечисления.ВидыСобытийОС.ПринятиеКУчету);

      Запрос.Текст = 
      "ВЫБРАТЬ
      |   ВЫБОР КОГДА СобытияОСОрганизаций.Событие.ВидСобытияОС В (&УсловиеМодернизаций) ТОГДА СобытияОСОрганизаций.СуммаЗатратБУ ИНАЧЕ 0 КОНЕЦ КАК СуммаЗатратБУМодернизаций,
      |   ВЫБОР КОГДА СобытияОСОрганизаций.Событие.ВидСобытияОС В (&УсловиеРемонтов) ТОГДА СобытияОСОрганизаций.СуммаЗатратБУ ИНАЧЕ 0 КОНЕЦ КАК СуммаЗатратБУРемонтов,
      |   СобытияОСОрганизаций.Регистратор КАК Регистратор,
      |   СобытияОСОрганизаций.Период КАК Период,
      |   СобытияОСОрганизаций.Событие КАК Операция,
      |   СобытияОСОрганизаций.НомерДокумента КАК НомерДокумента,
      |   ВЫРАЗИТЬ(СобытияОСОрганизаций.НазваниеДокумента КАК СТРОКА(200)) КАК НазваниеДокумента
      |ИЗ
      |   РегистрСведений.СобытияОСОрганизаций КАК СобытияОСОрганизаций
      |
      |ГДЕ
      |   СобытияОСОрганизаций.Организация = &Организация И
      |   СобытияОСОрганизаций.Событие.ВидСобытияОС <> &ВидСобытияОС И
      |   СобытияОСОрганизаций.ОсновноеСредство = &ОсновноеСредство
      |
      |УПОРЯДОЧИТЬ ПО
      |   Период,
      |   Регистратор";

      Результат = Запрос.Выполнить();

      СпособВыборки = ОбходРезультатаЗапроса.Прямой;
      ВыборкаРегистраторов = Результат.Выбрать(СпособВыборки);
      Пока ВыборкаРегистраторов.Следующий() Цикл

         СуммаМодернизаций = ?(ВыборкаРегистраторов.СуммаЗатратБУМодернизаций = NULL, 0, ВыборкаРегистраторов.СуммаЗатратБУМодернизаций);
         СуммаРемонтов = ?(ВыборкаРегистраторов.СуммаЗатратБУРемонтов = NULL, 0, ВыборкаРегистраторов.СуммаЗатратБУРемонтов);

         Если СуммаМодернизаций <> 0 Тогда
            СтрокаТаблицыМодернизаций = ТаблицаМодернизаций.Добавить();
            СтрокаТаблицыМодернизаций.ВидОперации = ВыборкаРегистраторов.Операция;
            СтрокаТаблицыМодернизаций.Название    = ВыборкаРегистраторов.НазваниеДокумента;
            СтрокаТаблицыМодернизаций.Номер       = ВыборкаРегистраторов.НомерДокумента;
            СтрокаТаблицыМодернизаций.Дата        = ВыборкаРегистраторов.Период;
            СтрокаТаблицыМодернизаций.Сумма       = СуммаМодернизаций;
         КонецЕсли;

         Если СуммаРемонтов <> 0 Тогда
            СтрокаТаблицыРемонтов = ТаблицаРемонтов.Добавить();
            СтрокаТаблицыРемонтов.ВидОперации      = ВыборкаРегистраторов.Операция;
            СтрокаТаблицыРемонтов.Название         = ВыборкаРегистраторов.НазваниеДокумента;
            СтрокаТаблицыРемонтов.Номер            = ВыборкаРегистраторов.НомерДокумента;
            СтрокаТаблицыРемонтов.Дата             = ВыборкаРегистраторов.Период;
            СтрокаТаблицыРемонтов.Сумма            = СуммаРемонтов;
         КонецЕсли;

      КонецЦикла;

      КоличествоСтрок = Макс(ТаблицаМодернизаций.Количество(),ТаблицаРемонтов.Количество(),1); 
      Для СчетСтрок = 1 По КоличествоСтрок Цикл
         Если СчетСтрок <= ТаблицаМодернизаций.Количество() Тогда
            СтрокаТаблицы = ТаблицаМодернизаций.Получить(СчетСтрок - 1);
            СтрокаРазделов5и6.Параметры.Модернизация          = СтрокаТаблицы.ВидОперации;
            СтрокаРазделов5и6.Параметры.ДокМодернизации       = СтрокаТаблицы.Название;
            СтрокаРазделов5и6.Параметры.ДокМодернизацииДата   = СтрокаТаблицы.Дата;
            СтрокаРазделов5и6.Параметры.ДокМодернизацииНомер  = СтрокаТаблицы.Номер;
            СтрокаРазделов5и6.Параметры.ЗатратыНаМодернизацию = СтрокаТаблицы.Сумма; 
         Иначе
            СтрокаРазделов5и6.Параметры.Модернизация          = "";
            СтрокаРазделов5и6.Параметры.ДокМодернизации       = "";
            СтрокаРазделов5и6.Параметры.ДокМодернизацииДата   = "";
            СтрокаРазделов5и6.Параметры.ДокМодернизацииНомер  = "";
            СтрокаРазделов5и6.Параметры.ЗатратыНаМодернизацию = ""; 
         КонецЕсли;

         Если СчетСтрок <= ТаблицаРемонтов.Количество() Тогда
            СтрокаТаблицыРемонтов = ТаблицаРемонтов.Получить(СчетСтрок - 1);
            СтрокаРазделов5и6.Параметры.Ремонт          = СтрокаТаблицыРемонтов.ВидОперации;
            СтрокаРазделов5и6.Параметры.ДокРемонта      = СтрокаТаблицыРемонтов.Название;
            СтрокаРазделов5и6.Параметры.ДокРемонтаДата  = СтрокаТаблицыРемонтов.Дата;
            СтрокаРазделов5и6.Параметры.ДокРемонтаНомер = СтрокаТаблицыРемонтов.Номер;
            СтрокаРазделов5и6.Параметры.ЗатратыНаРемонт = СтрокаТаблицыРемонтов.Сумма;
         Иначе
            СтрокаРазделов5и6.Параметры.Ремонт          = "";
            СтрокаРазделов5и6.Параметры.ДокРемонта      = "";
            СтрокаРазделов5и6.Параметры.ДокРемонтаДата  = "";
            СтрокаРазделов5и6.Параметры.ДокРемонтаНомер = "";
            СтрокаРазделов5и6.Параметры.ЗатратыНаРемонт = "";
         КонецЕсли;

         ТабДок.Вывести(СтрокаРазделов5и6);
      КонецЦикла;

      ТабДок.Вывести(ШапкаРаздела7_1);
      ТабДок.Вывести(ШапкаРаздела7_2);
      
      #Вставка
      СтруктураРуководители = ОтветственныеЛицаБП.ОтветственныеЛица(ВыборкаОбъектов.Организация,ТекущаяДата());
      ПодвалСтраницы2.Параметры.ФИООтветственного = СтруктураРуководители.РуководительПредставление; 
      ПодвалСтраницы2.Параметры.ДолжностьОтветственного = СтруктураРуководители.РуководительДолжностьПредставление; 
      #КонецВставки
      
      ТабДок.Вывести(ПодвалСтраницы2);


      // В табличном документе зададим имя области, в которую был 
      // выведен объект. Нужно для возможности печати покомплектно.
      УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДок, 
      НомерСтрокиНачало, ОбъектыПечати, ВыборкаОбъектов.Ссылка);

   КонецЦикла;

   Возврат ТабДок;

КонецФункции


Вот в расширение вытащить такое исправление в модуль менеджера справочника "Основные средства"
БУИнвентарная карточка ОС 6#6 19.04.24 16:33
Тоже задался щас придется по коду искать, щас найду отпишусь
ПубликацииРасчет заработной платы от обратного. ЗУП 3.1#7 02.02.24 12:06
(6) Сумма к выдаче у меня так называется, ее в показатели загнать надо будет
О жизниИдеальное место работы для ЗУПера... Какое оно?! Часть 2. Как оценить специалиста ЗУП#42 23.12.23 0:14
(38) Мне был дико после Паруса любой версии, в 1С получить неверный расчет НДФЛ. В Парусе добиться неверного расчета почти невозможно. Все потому что расчет можно сделать только в 1 месте а не в 7 доках как в 1С. И ндфл как там каучук. Как не накосячь программа все равно выровняет как должно быть.
О жизниИдеальное место работы для ЗУПера... Какое оно?! Часть 2. Как оценить специалиста ЗУП#41 23.12.23 0:10
Я когда переносил из ERP в ЗУП 2600 человек за 3 года зарплату - полностью чистил все регистры НДФЛ и заново программно заполнял. Чтобы в результате у меня было на 31.12.2016 все чисто. (они зп и ндфл всю выплатили перед новым годом и долгов за исключением нескольких человек не было). Хватило примерно на 6 месяцев. Где то в июле ЗУП начал опять пересчитывать 2013-2016 годы после очередного обновления. Опять уже пришлось программно править.
О жизниИдеальное место работы для ЗУПера... Какое оно?! Часть 2. Как оценить специалиста ЗУП#35 22.12.23 15:41
Согласен что зупер должен много зарабатывать, так как продукт препоганый

По функционалу вообще отстает от конкурентов лет на 30. Я не имею ввиду отчеты или возможности платформы, или всякие плюшки типа обменов сов сякими платформами кабинетами и тд. Тут все хорошо.
А именно ядро кода ЗУП.
Навскидку примеры.

1. Много раз обсоссаный НДФЛ. За 20 лет как с ним были проблемы так и есть. Ни одной не знаю организации чтобы он посчитался без проблем. При том есть идеальные примеры косяков. Все типовое. Нет ничего подозрительного. Все платится вовремя никаких пересчетов, база 40 человек. Главбух, она же расчетчик дотошная как не знаю кто. Проверяет все каждый месяц. Раз и в 1 месяце посадил 1 человека ндфл месяцем позже в регистры. Что к чему так и не понял. Воспроизвести не смог.

2. Формулы - такого примитива я не видел даже в 90х годах. В показатели шаг вправо влево не сделать. Шаблоны заполнения вообще ограниченны. Нельзя вытащить кроме ограниченного количество показателей из базы ничего, ни дней часов определенных, ни показателей других начислений, то есть совсем ничего. И даже в рамках существующих, в 1 документе работают в другом уже нет. Например данные по времени в доке премии не все работают, но оно же в зарплате работает

3. Общие функции в том числе в БСП - это вообще шиза. Никакой логики в названиях функций. При том нормально что в 1 релизе функция была, в другой херакс ее убрали или перенесли. Или как недавно наткнулся была экспортной перестала ей быть. И сидишь перебираешь доп.обработки и расширения, проверяешь не перестали ли они работать после обновы. Или ну очень часто в функции добавились параметры, при ом обязательные.

4. Всплывающие сообщения это вообще жесть. Особенно в последнее время по СФР. Сижу набираю текст в другом окне. Бах и всплыло сообщение. А так как набираю быстро, то в сообщении успел подтвердить что хочу получить сообщения 4500 штук. Которые я не могу подтвердить так как не имею ЭЦП, я программист, а не бухгалтер. А отказаться нельзя и принимать он будет часов 5, на каждом сообщении делать по 30-40 секундную паузу и ошибку что нет ЭЦП. Либо базу вырубить через панель задач, а у меня там в это время импорт шел.


Кривой и глючный продукт, на рынке были и есть намного более технологически совершенные и удобные, но к сожалению 1с маркетингом убила всех.

Это я сейчас без матов и корректно сказал. А то в прошлый раз на форуме после высказывания меня на 2 недели забанили тут.
DevВывод остатков в списке номенклатуры с отображением резерва и доступностью остатков. УТ 11#10 25.10.23 12:20
формы нет такой в номенклатуре, она в обработках, тупо скопировать ее в номенклатуру
ОбменОбмен между базами 1С 8.3. Доработка типового плана обмена (синхронизации) между конфигурациями 1С на примере обмена 1С: Зарплата и управление персоналом 3 и 1С: Бухгалтерия предприятия 3#39 11.10.23 9:43
Синхронизация как и многое в 1С сделано через 1 место, как обычно надо править правила, потом при обновлении их надо переносить, а всего то надо было сделать механизм более универсальный, чтобы в конвертации была возможность правила не править, а дополнять (с заменой штатных даже). Я точно править их не буду, я лучше сделаю обработку по расписанию которая догрузит нехватающие данные, считаю это более правильный способ.
ПубликацииСписок работавших в периоде сотрудников с кадровыми данными. ЗУП 3#9 21.09.23 11:44
Это до какой степени дошла деградация 1С, что приходится такие публикации делать, раньше можно было просто сделать запрос к регистру и получил актуальных сотрудников, сейчас же чтобы это сделать приходится такие жесткие костыли использовать. Отчет который ранее занимал полчаса времени сейчас занимает 2-3 часа. Отчет без единой строки кода, сейчас минимум 50 строк
DevЗамена пола у физического лица по ФИО#4 18.08.23 19:24
(3) Скачал сразу не ту, а потом уже жалко стал $m на повторную скачку