arefaste/1C_Forums huggingface dataset:
Клиенты обновились на платформу 8.3.18.1334, после этого при попытке запустить предприятие появляется ошибка BSOD
Установили еще и на другом компе, ошибка появилась и там
Причем BSOD начал появляться и при попытке распечатать документы word
Удаление и переустановка платформы 8.3.17 не помогает

Есть у кого идеи как можно оперативно вылечиться?
---
через сmd команда: wusa /uninstall /kb:5000802 или KB5000808 или KB5000822 смотря какая версия Windows
---
обновились на платформу 8.3.18.1334
Скорее всего, проблема не в обновлении платформы, а в автоматическом обновлении Windows 10.

У нашего клиента при запуске любой программы 1С на платформе 8.3.17.1851 появлялся синий экран экрана (BSOD): с ошибокй
APC_INDEX_MISMATCH for win32kfull.sys и компьютер перезагружался.

Также при попытке распечатать любой документ из любой программы Блокнот или Word приводила к синему экрану и перезагрузке Windows.

Таким образом, выяснилось, что проблема не с 1С,а вызвана несовместимостью драйверов принтеров с последними обновлениями Windows 10. Конечно очень странно что при запуске 1С программа 1С вылетает, причем тут принтеры, однако это факт, видимо 1С при запуске обращается к драйверам принтеров, но зачем мы ведь еще ничего не отправляли на печать, более того даже окна 1С не увидели???

В интернете, в сообщениях о сбоях фигурируют принтеры Kyocera, Ricoh, Zebra и другие.

В нашем случае оказалось невозможно откатить обновления системы Windows 10 назад и удалить обновления.
Мы просто временно удалили принтер Kyocera из системы Windows 10 и бинго, 1С стала нормально запускаться!!!

Проблема с 1С исчезла, однако появилась проблема как теперь печатать документы. Но это уже не наша проблема ;-) а системного администратора.
---
Откатить последние апдейты Windows. Вылечилась подобная проблема.
---
Как откатить по пунктам можно? Не в курсе просто
---
Обновления KB5000802 и KB5000808
---
Панель управления-Программы-Программы и компоненты-Установленные обновления .Удаляем какие в (5) написали
---
Или просто через точку восстановления?
---
через сmd команда: wusa /uninstall /kb:5000802 или KB5000808 или KB5000822 смотря какая версия Windows
Добрый день. Подскажите пожалуйста как узнать самый большой код строки в ТЧ? Например в ТЧ есть две строки, первая строка с кодом строки 3 и вторая строка с кодом строки 1.
---
Если код строки это реквизит табличной части то отсортируйте по убыванию и возьмите из первой строки. Только не забудте добавить проверку на количество строк что бы не получить ошибку когда табличная часть пустая.
---
Сортировка по коду строки, и получить (первую или последнюю строку (зависит от порядка сортировки ))
---
Сортировка по коду строки, и получить (первую или последнюю строку (зависит от порядка сортировки ))
---
Можно тупо перебором строк)

```1c
    МаксимальныйКод = 0;
    Для Каждого Строка Из <ИмяТаблицы> Цикл
    МаксимальныйКод = Макс(МаксимальныйКод, Строка.<ИмяКолонкиСКодомСтроки>);
    КонецЦикла;
```
---
Вот еще один вариант.

```1c
    //Получить максимальное значение в колонке КодСтроки табличной части документа
    Если ИмяТабличнойЧасти.Количество() = 0 Тогда
    МаксимальноеЗначение = Неопределено;
    Иначе
    ТЧ = ИмяТабличнойЧасти.Выгрузить().Сортировать("КодСтроки УБЫВ");
    МаксимальноеЗначение = ТЧ[0].КодСтроки;
    КонецЕсли;
```
---
Если код строки это реквизит табличной части то отсортируйте по убыванию и возьмите из первой строки. Только не забудте добавить проверку на количество строк что бы не получить ошибку когда табличная часть пустая.
Конфигурация УПП сильно переписанная, есть полностью снятые с поддержки объекты и модули
Версия основной конфигурации 1.3.140.2 выше версии конфигурации поставщика 1.3.130.2

Что именно делал что могло к такому привести, обновлялись из .cf?
И как правильнее дальше делать обновления, начинать с 1.3.131.1 или как-то про другому?
---
Это произошло из-за того, что вместо обновления делали сравнение-объединение. Лечится обновлением через меню "поддержка"
---
Ну только наверное сначала нужно обновить конфигурацию поставщика до релиза 1.3.140.2 снимая галочки. А затем уже далее через обновлением через поддержку
---
Это произошло из-за того, что вместо обновления делали сравнение-объединение. Лечится обновлением через меню "поддержка"
---
Ну только наверное сначала нужно обновить конфигурацию поставщика до релиза 1.3.140.2 снимая галочки. А затем уже далее через обновлением через поддержку
---
Только, по-моему, это в один заход всё делается, не в два..
---
На вроде как на каждое обновление необходимо будет обновлять конфигурацию поставщика.
---
Это да. Для порядка так бы надо делать.
Добавил отбор по сумме в быстрые настройки отчета. Как сделать чтобы прямо на форме отчета пользователь мог выбирать тип сравнения (Больше, меньше и т.д.). Сейчас можно только число вводить, а тип сравнения пишется в скобках Сумма (больше). и менять тип можно только через расширенные настройки
---
потратил не мало времени на это...
в типовую форму отчета - никак.
---
В настройка сразу поставить по умолчанию Больше, меньше.
---
Можете скриншот прислать? Не пойму где
---
Отчет самописный? если да то в конфигураторе открыть отчет и найти данную настройку и заменить вид сравнения равно на больше (меньше)
---
Да, самописный, нет в списке возможности выбрать больше меньше
---
поменяй вид сравнения на любой другой. Сохрани отчет, запусти. Должно все работать.
---
Не выходит, пробовал...
---
отчет случайно через доп. отчеты не подключен?
---
Я просто его создал как внешний отчет, открываю в предприятии так же через Файл
---
Я к тому, что если внешний отчет подключен к базе через дополнительные отчеты и обработки, то всегда будет использоваться схема, которая загружена в базу, даже если открывать через файл.
---
потратил не мало времени на это...
в типовую форму отчета - никак.
---
Понял, спасибо
---
(6) вы сути вопроса не поняли.
ТС хочет выбирать вид сравнения не открывая настройки, т.е. в пользовательских настройках.
---
у всех работает, а мы не поняли.
Понятно что на форме.
---
в типовой ФормаОтчета на управляемых формах?
не верю. покажите скрин.
---
Точно, перепутал со списком у документов. Там по умолчанию при добавлении отборов вид сравнение не выходи если стоит равно.
Можно просто вывести КомпоновщикНастроекНастройкиОтбор на форму и там будет все что надо.
---
1 минута и готова. Достаточно добавить форму для отчета
---
Это не типовая форма. Это просто форма отчета. Я-то все это знаю.
В типовой достаточно указать в настройках формы "Группа пользовательских настроек: КомпоновщикНастроекПользовательскиеНастройки"
и закоментить

```1c
    &НаСервере
    Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)
    Если Не РежимВариантаОтчета() Тогда
    Возврат;
    КонецЕсли;

    //СтандартнаяОбработка = Ложь;
    //
    //ПараметрыОбновления = Новый Структура("ИмяСобытия", "ПриОбновленииСоставаПользовательскихНастроекНаСервере");
    // ОбновитьЭлементыФормыНастроекНаСервере(ПараметрыОбновления);
    КонецПроцедуры
```

Я говорил, что в ТИПОВОЙ форме отчета просто настройками СКД это не делается.
---
Если хотите форму отчета доработать, то смотрите в 18
Можно через расширение сделать.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
Добрый день! Подскажите пожалуйста, как правильно реализовать задачу в БП 3.0: пользователь выбирает период в отчете, а расчет данных производится за каждый месяц из этого периода. В результате должны получиться сводные данные. Группировка по месяцам не нужна. Сейчас создан набор данных с запросом в СКД, данные из регистра бухгалтерии.
---
Возьмите оборотную таблицу с периодичностью месяц и на её основании стройте расчеты.
---
Возьмите оборотную таблицу с периодичностью месяц и на её основании стройте расчеты.
---
Спасибо! вылетело из головы про ПЕРИОДИЧНОСТЬ. Всё получилось.
Добрый день!
Помогите разобраться.

Управление торговлей, редакция 11 (11.4.13.123)

Справочник: Номенклатура

На форме отключаю видимость "СтраницаКарточкаНоменклатуры", остаётся "СтраницаРеквизитыНоменклатуры" со всеми элементами(в конфигураторе), но в пользовательском режиме только элементы "ГруппаШапка".
Почему?
---
Проверьте отладкой что происходит при создании на сервере, при чтении на сервере и при открытии, думаю станет понятно куда скрывается страница.
---
Проверьте отладкой что происходит при создании на сервере, при чтении на сервере и при открытии, думаю станет понятно куда скрывается страница.
---
Спасибо!
(2) при создании на сервере - там и нашёл.
Добрый день, подскажите как правильно прописать в правилах обмена для QR кода что бы вместо Номер лицевого счета плательщика выводился КодУслуги "0999991151" при его обработке сбер онлайн ?
---
Всё правильно прописано, нюанс в том, что бы приложение сбера знало что QR код изменён следует сделать загрузку в сбер онлайн.
---
Посмотреть апи сбера и исходить из него
---
Всё правильно прописано, нюанс в том, что бы приложение сбера знало что QR код изменён следует сделать загрузку в сбер онлайн.
Добрый день!
В нетиповом документе не могу добиться отображения картинки в поле HTML документа в клиент-серверном варианте.
В файловом варианте всё работает.
Этот же HTML код посылаю на почту и там картинка отображается, но на форме не работает
Кто-нибудь сталкивался с этим?
---
А, ну у вас тогда обратная ситуация получилась. На сервере все ок, а на клиенте - плохо. Когда открываете страничку, у вас путь C:/Users/USR1CV8/AppData/Local/Temp/ШаблонHTML/Шаблон%20письма­­.files/image002.jpg на клиентском компьютере недоступен, поэтому картинку не видно. Отправляете с сервера - там все ок.
---
Не отображается, потому что формируете на сервере, а пути к картинке используете клиентские.

Я обычно картинку преобразовываю в двоичные данные, а затем двоичные данные преобразовываю в base64 командой base64строка и передаю строкой на сервер.

А в тексте страницы пишу
<img src=""data:image/jpg;base64,"+ТекстBase64+ """ />

Как вариант - на клиенте поместить двоичные данные картинки в хранилище и передать адрес на сервер, а там из хранилища получить двоичные данные, записать во временный файл и путь подставить в текст
---
Я передал все файлы с клиента на сервер. Фотка лежит в папке C:/Users/USR1CV8/AppData/Local/Temp/ШаблонHTML/Шаблон%20письма­.files/image002.jpg. Интересно то, что этот же HTML файл отправляю на почту на сервере и всё отлично отображает в письме.
---
Кажется я понял, в чем дело. Возможно Поле HTML документа исполняет код на клиенте и ищет файлы соответственно на клиенте. А почту я отправляю исключительно на сервере, поэтому и подхватывает картинку.
---
А, ну у вас тогда обратная ситуация получилась. На сервере все ок, а на клиенте - плохо. Когда открываете страничку, у вас путь C:/Users/USR1CV8/AppData/Local/Temp/ШаблонHTML/Шаблон%20письма­­.files/image002.jpg на клиентском компьютере недоступен, поэтому картинку не видно. Отправляете с сервера - там все ок.
---
ага, точно)
---
Опередили меня на пару секунд :-)
---
Как вариант - можно попробовать Base64 использовать, чтобы сильно не заморачиваться.Страница будет одинаково выглядеть и на клиенте и на сервере. Либо заморочиться и генерить отдельно страницу для клиента и для сервере. либо 3й вариант - отправлять с клиента
Конфигурация УНФ. Вроде простая ситуация....
1. Получаю должность так:

```1c
    &НаСервере
    Функция ПолучитьДанныеОтвОрг(Ответственный, Дата)

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Подписи.Должность КАК Должность
    |ИЗ
    | Справочник.Подписи КАК Подписи
    |ГДЕ
    | Подписи.ДатаНазначения < &Дата
    | И Подписи.ФизическоеЛицо = &ФизическоеЛицо
    | И Подписи.ПравоОтозвано = ЛОЖЬ";

    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("ФизическоеЛицо", Ответственный);
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    Возврат Выборка;

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

2. Потом в другой функции перебираю:

```1c
    //.....
    ДанныеОтвОрг = ПолучитьДанныеОтвОрг ( ВыборкаИзЗапроса.Ответственный, ВыборкаИзЗапроса.ДоговорДатаДоговора);
    Пока ДанныеОтвОрг.Следующий() Цикл
    ДолжОтвОрг = ДанныеОтвОрг.Должность;
    КонецЦикла;
    //........
```

Результат - пусто. Ошибок нет. Проверил запрос в консоли - Должность показывается.
....и почему-то отладчик на строке "Пока ДанныеОтвОрг.Следующий() Цикл" показывает ЛОЖЬ...пошаговая отладка - сразу выход из Цикла и обхода не происходит....

В чем ошибка?
---
Я подозреваю, что "ВыборкаИзЗапроса.Ответственный" - это элемент справочника "Пользователи", а запросу нужен элемент справочника ФизЛица
---
значит выборка пустая.
Какие значения и типы значений параметров запроса устанавливаются?
---
Я подозреваю, что "ВыборкаИзЗапроса.Ответственный" - это элемент справочника "Пользователи", а запросу нужен элемент справочника ФизЛица
---
Точно так! Скорректировал не "ВыборкаИзЗапроса.ОтветственныйФизлицо" - всё работает! Спасибо!
А не подскажите - как определили, что нужен другой источник в запросе...
---
Никак. Просто опыт )
Добрый день, подскажите начинающему, как более правильно создать движение в регистр бухгалтерии (программно через движение напрямую, или же через программное создание документа операция)?
---
есть только два корректных способа:

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

но похоже автор уже принял решение, несмотря на все советы

П.С. это всегда так вдохновляет: вначале автор пишет что он начинающий (программист?), а потом отметает все советы более опытных товарищей :)
---
я бы выбрала программное создание документа операция т.к. для регистра нужен регистратор
---
Где именно он используется?
---
В структуре регистра смотри в Стандартных реквизитах РегистраБухгалтерии.Хозрасчетный
---
Регистратор = ссылка на документ которым проводка была создана при проведении. Пример: Закрытие счета N 0001 от 20.01.19 Вы про это имеете ввиду?
---
да
---
Так получается программное создание движение в регистр при проведении документа тоже корректно?
---
Обычно руками создавал документ (Операция или Корректировка записей регистров) и к ним программно обработкой добавлял движения.
---
Проще всего так:

```1c
    Операция = Документы.ОперацияБух.СоздатьДокумент();
    // заполнение документа Операция
    РегЗапись = Операция.Движения.Хозрасчетный.Добавить();
    // заполнение движения по регистру

    Операция.Записать(РежимЗаписиДокумента.Запись);

    Операция.Движения.Хозрасчетный.Записывать = Истина;
    Операция.Движения.Хозрасчетный.Записать();
```
---
Если без операции. тогда как отменять проводку. при необходимости?
---
думаю автор сам не понял что написал.
---
Возможно
---
отменю проведение документа
---
есть только два корректных способа:

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

но похоже автор уже принял решение, несмотря на все советы

П.С. это всегда так вдохновляет: вначале автор пишет что он начинающий (программист?), а потом отметает все советы более опытных товарищей :)
---
Я не принял решение, просто более подробно уточняю
---
Можно делать, используя оба этих способа с привязкой к регистратору
---
Вот в этой обработке https://infostart.ru/public/1400921/ реализован один из способов
Добрый день.

Есть ТаблицаФормы, с одной колонкой, у колонки есть событие "НачалоВыбора", возможно ли ситуация в которой произошло это событие, но ТаблицаФормы.ТекущиеДанные будет = Неопределено?

Важно понять - могу ли я находясь в данном событии обратиться к данным строки без доп.проверки:

```1c
    Если ТаблицаФормы.ТекущиеДанные = Неопределено Тогда Возврат КонецЕсли;
```
---
Такая проверка нужна только в обработчике табличного поля ПриАктивизацииСтроки(). Все обработчики внутри строки срабатывают только при фактическом наличии строки, ессно...
---
Такая проверка нужна только в обработчике табличного поля ПриАктивизацииСтроки(). Все обработчики внутри строки срабатывают только при фактическом наличии строки, ессно...
---
На этом и остановился. Спасибо.
---
По идее - нет, всегда будут данные.
---
Посмотрите как в типовых делают
---
Глянул - в 10 из 11 просмотренных форм - проверку не делают, о чем это говорит?)
---
не делайте тоже) Если что ссылайтесь на них)
Конфигурация УНФ
По этой строке получаем телефон контрагента:

```1c
    Телефон = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(ВыборкаИзЗапроса.ДоговорВладелец,Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
```

Подскажите: а откуда берётся "ТелефонКонтрагента" (после "Справочники.ВидыКонтактнойИнформации")?
Реквизита такого нет.... , а ведь в КИ много ещё какой инфы есть. Как её получить? уже голову сломал....
---
ТелефонКонтрагента - это предопределенный элемент справочника ВидыКонтактнойИнформации.
---
ТелефонКонтрагента - это предопределенный элемент справочника ВидыКонтактнойИнформации.
---
Вроде как, из ТЧ КонтактнаяИнформация. Или я вопрос не понял?..
---
Да уж...так просто....
Спасибо!
Обращаюсь к Postgres запросом.Но запрос всегда возвращает только первое значение. Как вернуть всю инфу таблицы?

```1c
    АДОСоединение = Новый COMОбъект("ADODB.CONNECTION");
    АДОСоединение.Provider = "MSDASQL.1";
    АДОСоединение.ConnectionString = "Driver={PostgreSQL Unicode};Server=192.168......;Port=5432;Database=tab;Uid=postgres;Pwd=tab1;STMT=utf8";

    АДОСоединение.Open();

    АДОНаборЗаписей = Новый COMОбъект("ADODB.RecordSet");
    АДОКоманда = Новый COMОбъект("ADODB.Command");

    АДОКоманда.ActiveConnection = АДОСоединение;

    АДОКоманда.CommandText = "SELECT * FR OM public.tab1 where "day" between '"+Формат('20201029',"ДФ=yyyy-MM-dd")+" 00:00:00"+"' and '"+Формат('20211029',"ДФ=yyyy-MM-dd")+" 23:59:59"+"'";
    АДОНаборЗаписей = АДОКоманда.Execute();
```
---
а где обход АДОНаборЗаписей?
Новый COMОбъект("ADODB.RecordSet") это как в 1С: Запрос.Выполнить().Выбрать(). Его еще обходить нужно.
Для RecordSet есть метод MoveNext().
---
Обхожу полученную инфу так:

```1c
    rsRES = NEW COMObject("ADODB.Recordset");
    rsRES.Open(CommandText, АДОСоединение);

    Если НЕ rsRES.EOF() Тогда
    rsRES.MoveFirst();

    Пока rsRES.EOF() = 0 Цикл
    Сообщить("+rsRES.Fields.Item(0).value);

    rsRES.MoveNext();
    КонецЦикла;
    КонецЕсли;
```
---
а где обход АДОНаборЗаписей?
Новый COMОбъект("ADODB.RecordSet") это как в 1С: Запрос.Выполнить().Выбрать(). Его еще обходить нужно.
Для RecordSet есть метод MoveNext().
---
сможете привести пример?
---
```1c
    Пока НЕ АДОНаборЗаписей.EOF Цикл
    // тут получаем значения полей

    АДОНаборЗаписей.MoveNext();

    КонецЦикла;
```
---
на других сайтах видел,что так обходят, но не понял как получить значение поля
---
как это сочетается с "Но запрос всегда возвращает только первое значение". Значит первое значение получали как-то?
Вот в цикле так же получать, только при каждом новом проходе цикла будут последовательно получаться и последующие записи.
---
первое значение получается здесь

АДОНаборЗаписей = АДОКоманда.Execute();
---
показывайте скрин того что получается.
---
"SELECT * FR OM public.tab1
это здесь ошибка или в тексте вашего запроса ?
---
Здесь. В самом запросе слитно)
---
Обхожу полученную инфу так:

```1c
    rsRES = NEW COMObject("ADODB.Recordset");
    rsRES.Open(CommandText, АДОСоединение);

    Если НЕ rsRES.EOF() Тогда
    rsRES.MoveFirst();

    Пока rsRES.EOF() = 0 Цикл
    Сообщить("+rsRES.Fields.Item(0).value);

    rsRES.MoveNext();
    КонецЦикла;
    КонецЕсли;
```
Как заносить сумму комиссионного вознаграждения в документе отчёт комиссионера вручную без возможности пересчёта?
Если поставить в соглашении " не рассчитывается", то заполнить нельзя совсем. Если поставить какую то формулу, то документ каждый раз пристает при проведении "рассчитать вознаграждение?" считает, естественно, не так как надо и 300 введённых строк вручную ухает вникуда. Более того, в некоторых старых документах сумма вознаграждения вовсе пропадает из документа. Открываешь, а столбец пустой без объявления войны
---
Список вариантов работы с ними четко описан:
https://coderstar.ru/kurs-ut11/priem-tovarov-na-komissiyu
https://its.1c.ru/db/utbasedoc#content:21:1:issogl2_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%­86%D0%B8%D1%8F_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D0%B9_%D­0%BF%D1%80%D0%B8%D0%B5%D0%BC%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%­D1%80%D0%BE%D0%B2_%D0%BD%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B8%D1%8­1%D1%81%D0%B8%D1%8E
https://wiseadvice-it.ru/o-kompanii/blog/articles/kak-zapolnit-otchet-komissionera-v-1s-8-3-poshagovaya-instrukciya/
Думаю для вашего варианта "ручного ввода" единственное что подойдет- это "вознаграждение будет получено отдельным платежом от комитента;"
---
Список вариантов работы с ними четко описан:
https://coderstar.ru/kurs-ut11/priem-tovarov-na-komissiyu
https://its.1c.ru/db/utbasedoc#content:21:1:issogl2_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%­86%D0%B8%D1%8F_%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D0%B9_%D­0%BF%D1%80%D0%B8%D0%B5%D0%BC%D0%B0_%D1%82%D0%BE%D0%B2%D0%B0%­D1%80%D0%BE%D0%B2_%D0%BD%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B8%D1%8­1%D1%81%D0%B8%D1%8E
https://wiseadvice-it.ru/o-kompanii/blog/articles/kak-zapolnit-otchet-komissionera-v-1s-8-3-poshagovaya-instrukciya/
Думаю для вашего варианта "ручного ввода" единственное что подойдет- это "вознаграждение будет получено отдельным платежом от комитента;"