arefaste/1C_Forums huggingface dataset:
Привет всем.

Подскажите пожалуйста как можно разобрать CSV огромного размера

С сайта МВД скачивается файл, разархивируется, в итоге он имеет размер 1,3гб
Разбор через
```1c
    Файл = Новый ТекстовыйДокумент
```
 не подходит, при чтении 1С вылетает с ошибкой "Недостаточно памяти".
стоит PostgresSQL
---
```1c
    мСтрокФайла = Новый Массив();
    Файл = Новый ЧтениеТекста("D:\Текстовый файл.txt");

    //прочитать строку считывает одну строку из файла
    //если достигнут конец файла, то возвращается значение НЕОПРЕДЕЛЕНО
    Строка = Файл.ПрочитатьСтроку();
```
---
```1c
    мСтрокФайла = Новый Массив();
    Файл = Новый ЧтениеТекста("D:\Текстовый файл.txt");

    //прочитать строку считывает одну строку из файла
    //если достигнут конец файла, то возвращается значение НЕОПРЕДЕЛЕНО
    Строка = Файл.ПрочитатьСтроку();
```
---
Сервер базы данных не принципиален. Читайте файл построчно, а не разом в память.
---
А как прочитать построчно? он все равно же для того что бы читать строку, будет сначала весь файл загонять в память
---
На самом деле, не будет, если использовать метод, про который пишет Тимур. Платформа будет обходить файл, как выборку из запроса. В оперативной памяти будет только текущая строка, а не весь файл.
---
Кстати, просто как предложение, а зачем каждый раз полностью загонять файл актуальных паспортов в 1С? Можно сохранить его в xls и подключаться к нему через ODBC/ADODB из 1с. И выбирать нужные данные из него запросом. Вам же не все физ лица из файла нужны. Делать это можно регламентным заданием, при появлении файла в указанной папке.
---
я хочу автоматизировать процесс, через командную строку через планировщик ночью:
1. скачивает с сайта архив
2. Разархивирует 7zip в текущую папку
3. потом выполняется vbs в котором запускается обработка

CSV не могу сохранить в XLS

(6) ODBC/ADODB из 1с не знаком
---
ODBC/ADODB не работает с CSV?
https://infostart.ru/public/98398/
---
Незнаю((
---
Разбор файла сделал как посоветовал Timur.V, спасибо.

Сделал так:
Создал базу чистую с регистром сведений - Серия, Номер и Веб-Сервис, опубликовал,
Ночью планировщиком Запускается Обработка через VBS которая загружает все паспорта в регистр сведений. А базы которые хотят проверить паспорт подключаются через WS-ссылку и возвращается ответ True или False

Вот вопрос еще один, когда проверяется на сайте, МВД, выдает в розыске, истек срок действия, а в файле этих данных нет, возможно как нибудь их вычислить?
При создании входящего документа в Документообороте 2.1 кнопка сканировать не активна. При этом она не активна у тех, у кого на комп поключен сканер.
В чем проблема?
---
Посмотрите этот форум 1С Документооборот КОРП. Сканирование https://www.forum.mista.ru/topic.php?id=594434
---
Настройку сканирования делали?
---
Посмотрите этот форум 1С Документооборот КОРП. Сканирование https://www.forum.mista.ru/topic.php?id=594434
Добрый день. Мне необходимо создать несколько документов на управляемом интерфейсе в типовой конфигурации Бухгалтерия для Казахстана 3.0. В типовых процедурах пока слабо ориентируюсь. Может есть что-то типа шаблона документа, который можно адаптировать под себя или как понять какие процедуры правильно использовать в своих документах, долго не копаясь в типовых?
---
делай копированием потом отладкой ненужные куски удаляй.
Документацию на код врятли найдешь!
---
делай копированием потом отладкой ненужные куски удаляй.
Документацию на код врятли найдешь!
---
Сделала подобным образом, но при сохранении почему-то в типовой очень много дополнительных объектов с изменениями вышло, поэтому побоялась так делать.
---
пока вставляю кусками кода, более подходящими.
---
можно и так. Вам виднее как проще и быстрее сделать с вашим уровнем подготовки!
---
В типовых можно посмотреть, но там все очень "накручено".
Но для создания документа надо разобраться в настройке
форм управляемого интерфейса. Это только, чтобы форму нарисовать.
Также надо разобраться с проведением по регистрам и т.п.
Так что много чего надо изучить.
---
Почитайте хотя бы книгу
М.Г. Радченко, Е.Ю. Хрусталева
1С:Предприятие 8.2. Практическое
пособие разработчика.
Примеры и типовые приемы
Книга выложена на ИТС, если есть доступ.
В ней все крутенько на примерах разбирается.
Нужно создать начальный образ.
Создал в Плане обмена - по организации, добавил одну организацию.
Нажал, записать и провести.
Потом повторно открыл эту строку Плана обмена,
пытаюсь создать начальный образ (на диск, на сервере) и не получается. Возникает ошибка.
Сделал Тестирование и исправление с настройками, прикрепил скриншот. - не помогло.

База типовая, Бухгалтерия предприятия, редакция 3.0 (3.0.64.42)
---
Тогда из мыслей что делать только отладка. Смотреть кто в каком объекте чего не обнаружил и почему. Ну или другой релиз попробовать :) .
---
(5)
Обновил конфигурацию до
Бухгалтерия предприятия, редакция 3.0 (3.0.64.54)
и всё получилось.

Платформа была и есть 1С:Предприятие 8.3 (8.3.10.2667)
Совсем скоро обновлю до 8.3.12
---
А организацию в список отбора по организации добавили?
---
да
---
Тогда из мыслей что делать только отладка. Смотреть кто в каком объекте чего не обнаружил и почему. Ну или другой релиз попробовать :) .
---
(5)
Обновил конфигурацию до
Бухгалтерия предприятия, редакция 3.0 (3.0.64.54)
и всё получилось.

Платформа была и есть 1С:Предприятие 8.3 (8.3.10.2667)
Совсем скоро обновлю до 8.3.12
---
Добрый день! В данном случае не релиз конфигурации смотрим, а платформы т.к. идет настройка обменов. Номер платформы какой? Может глюк весь в платформе?
---
В ТиИ ссылок на несуществующие объекты не показывало? Также загляните в регистрацию объектов для обмена, посмотрите что она там пытается выгрузить.
Доброго времени суток всем читающим! Коллеги подскажите пожалуйста, может кто уже сталкивался с таким вопросом: Имеем КА 2.4.1.273, внедрили дисконт, все работает, но возникла необходимость, что бы в одном документе менеджер мог указать и ручную и автоматическую скидку, причем, если ручная скидка указана, автоматическая не должна рассчитываться, может какой штатный функционал есть в КА 2.4? Суммарный расчет ручной и автоматической происходит, а вот запрета на расчет автоматической не нашел. В настройках предоставления скидки, про ручную ничего не нашел.
---
Решение оказалось прозаичным, нактнулся случайно на эту статью https://forum.infostart.ru/forum81/topic157364/, 3 пункт как раз решает мою проблему, может кому пригодится)) Спасибо откликнувшимся.
---
В режиме НСИ и администрирование в настройке НСИ и разделов выбираем CRM и маркетинг.

Программа 1С:ЕРП УП позволяет настраивать как ручные, так и автоматические скидки. Причем в 1С настройка скидок в ручном режиме может производиться и в продажах, и в закупках.
Важно правильно назначить условия для применения скидок (наценок). Настройки осуществляются в режиме CRM и маркетинг – Настройки и справочники.

Для упорядочивания данных в справочнике Условия предоставления скидок (наценок) можно создавать группы скидок.
Скидки можно назначать как по всей номенклатуре, так и по отобранной.

Посмотри, кам где-то назначается приоритет скидки.
---
Как настроить я это знаю, мне нужно было, что если ручная скидка установлена, автоматическая не рассчитывается)
---
У скидок есть приоритет, цифра справа. Стрелочками, кажется, можно поменять порядок их применения.

Минимум – при совместном действии скидок (наценок) в одной группе будет выбрана скидка с минимальным значением,
Максимум – при совместном действии скидок (наценок) в одной группе будет выбрана скидка с максимальным значением,
Сложение – при совместном действии скидок (наценок) в одной группе скидки (наценки) будут складываться, то есть будет применена скидка (наценка), равная сумме скидок или наценок,
Умножение – при совместном действии скидок (наценок) в одной группе скидки (наценки) будут применяться последовательно,
Вытеснение – при совместном действии скидок (наценок) в одной группе будет действовать только скидка, которая имеет наивысший приоритет в группе.
---
В моем случаи ручная скидка это не на настраиваемая, но приоритет у нее самый самый VIP))) ручная скидка у меня просто плавающая от 1% до до 15% (политика компании)
---
Решение оказалось прозаичным, нактнулся случайно на эту статью https://forum.infostart.ru/forum81/topic157364/, 3 пункт как раз решает мою проблему, может кому пригодится)) Спасибо откликнувшимся.
Всем привет! Что-то напал тупняк, не могу разобраться. При выводе СКД в таблицу значений (с помощью ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений), эта самая таблица не заполняется данными, колонки не формируются. Хотя если этот же макет компоновки поставить во внешний отчет, данные спокойно выводятся в табличный документ.
Прилагаю внешнюю обработку и внешний отчет.
---
Компоновщик настроек инициализировал, но он пока пустой, нужно еще загрузить в него настройки по умолчанию, или добавить свои элементы структуры

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Обр = РеквизитФормыВЗначение("Объект");

    СхемаКомпоновкиДанных = Обр.ПолучитьМакет("Макет");
    АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, ЭтаФорма.УникальныйИдентификатор);

    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

    КонецПроцедуры
```

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

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Обр = РеквизитФормыВЗначение("Объект");

    СхемаКомпоновкиДанных = Обр.ПолучитьМакет("Макет");
    АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, ЭтаФорма.УникальныйИдентификатор);

    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

    КонецПроцедуры
```

Рекомендую, хорошая функция в этой публикации - всегда ее использую и не думаю что там да как надо писать в СКД https://infostart.ru/public/80164/
---
Спасибо!
---
Пример во вложении
---
https://infostart.ru/public/173317/
Доброго времени суток! Есть ли возможность удалить конкретный объект помеченный на удаление не используя стандартную функцию "Удаление помеченных на удаление", в базе слишком много помеченных и функция пока найдет все такие объекты можно слетать на Луну. Есть ли способ удалить конкретно один объект быстро? Спасибо!
---
СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
Удалить (Delete)
Синтаксис:

Удалить()
Описание:

Удаляет элемент справочника из базы данных.
Важно! В отличие от метода УстановитьПометкуУдаления, данный метод производит непосредственное удаление элемента справочника без возможности восстановления и без проверки ссылочной целостности. Использовать данный метод нужно крайне осмотрительно.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Для иерархического справочника также удаляются все подчиненные элементы.
Пример:

Объект.Удалить();
---
Shift+Delete?
---
в 1С так не работает)
---
поискать тут по тегу "удаление" и почитать темы и ответы
---
СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
Удалить (Delete)
Синтаксис:

Удалить()
Описание:

Удаляет элемент справочника из базы данных.
Важно! В отличие от метода УстановитьПометкуУдаления, данный метод производит непосредственное удаление элемента справочника без возможности восстановления и без проверки ссылочной целостности. Использовать данный метод нужно крайне осмотрительно.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Для иерархического справочника также удаляются все подчиненные элементы.
Пример:

Объект.Удалить();
---
Спасибо, помогло
---
Через неделю мы увидим тему "Почему в базе стало много <Объект не обнаружен>"

При удалении нужно думать глубже сиюминутного результата
---
Уверяю Вас, не увидите)
---
Ну да, из тазика с цементом со дна глубокой реки будет трудн осоздать новую тему ))
---
Если вы терпели все эти помеченные на удаление, что вам мешает и дальше терпеть?

Массив = Новый Массив;
Массив.Добавить(Объект.Ссылка);
УдалитьОбъекты(Массив);

Можно массиФ сформировать в цикле каком-нибудь...

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

Пробовал создать Вычислительное поле, и использовать его в качестве заменителя Общего итого по горизонтали, но не удобно.
---
в макете должно быть 2 поля одно отвечает за общий итог по горизонтали второе по вертикали

По горизонтали - вид макета общий макет ресурсов таблицы
В первой колонке поле группировки Торговые точки в тип - Общий итог заголовок, во второй колонке поле группировки Номенклатура тип макета - заголовок

По вертикали - вид макета общий макет ресурсов таблицы
В первой колонке поле группировки Торговые точки в тип - Общий итог заголовок, во второй колонке поле группировки Номенклатура тип макета - Общий итог заголовок

Хотя у меня в считается по одной формуле , но можно задать свои и для кооректного расчета для полей необходимо использовать ВычислитьВыражениеСГруппировкойМассив
---
Ресурсы рассчитываются в соответствии с группировками. Попробуйте в строках таблицы установить группировку Торговые точки а по колонкам Номенклатура. В выбранных полях по группировкам убрать авто и добавить ресурсы в ручную.
---
Но вопрос, как задать формулу расчета итоговых полей для итогов по горизонтали и другую формулу для итоговых полей по вертикале
---
Использовать свои макеты полей СКД
---
Пытаюсь создать макет группировки. Спасибо!
---
Но все равно свой макет итоговых полей срабатывает в итогах и по горизонтали и по вертикали.
---
в макете должно быть 2 поля одно отвечает за общий итог по горизонтали второе по вертикали

По горизонтали - вид макета общий макет ресурсов таблицы
В первой колонке поле группировки Торговые точки в тип - Общий итог заголовок, во второй колонке поле группировки Номенклатура тип макета - заголовок

По вертикали - вид макета общий макет ресурсов таблицы
В первой колонке поле группировки Торговые точки в тип - Общий итог заголовок, во второй колонке поле группировки Номенклатура тип макета - Общий итог заголовок

Хотя у меня в считается по одной формуле , но можно задать свои и для кооректного расчета для полей необходимо использовать ВычислитьВыражениеСГруппировкойМассив
---
Спасибо большое ! ! !
Буду разбираться.
```1c
    &НаКлиенте
    Процедура Добавить(Команда)

    стрОтбор = Новый Структура("Сотрудник", );
    ПараметрыФормы = Новый Структура("Отбор", стрОтбор);
    Форма = ПолучитьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы,ЭтаФорма);
    Форма.Открыть();

    КонецПроцедуры
```

Добрый день уважаемые форумчане. Как можно задать в отборе пустую ссылку на справочник сотрудники, на клиенте?
---
ПредопределенноеЗначение("Справочник.ИмяСправочника.ПустаяСсылка")
---
Задать в отборе пустую сссылку на справочник сотрудники, на клиенте?
Задавайте, мы не против =)
---
Спасибо, не заметил)
---
ПредопределенноеЗначение("Справочник.ИмяСправочника.ПустаяСсылка")
---
Форма = ПолучитьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы,ЭтаФорма);
Форма.Открыть();
Лучше так:
ОткрытьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы,ЭтотОбъект);
---
Но неявный серверный вызов все равно будет. В плюсах только кэширование, но оно не на клиенте насколько я понял.
Добрый день уважаемые формучане.
Есть такой код.

```1c
    Процедура СсылкуНаХранилищеОтКого()
    ОтКого = Объект.ОтКого;
    стрОтбор = Новый Структура("Сотрудник", ОтКого);

    ПараметрыФормы = Новый Структура("Отбор", стрОтбор);
    Форма = ПолучитьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы);
    Форма.Открыть();

    КонецПроцедуры
```

Но на клиенте он работать не будет, потому как ему неизвестны ссылки как тип. Вопрос возник, как можно передать ссылку в форму, чтобы она открывалась с отбором?
---
&НаКлиенте
Процедура СсылкуНаХранилищеОтКого()

 УсловияОтбора = Новый Структура("Сотрудник", Объект.ОтКого);
 ПараметрыФормы = Новый Структура("Отбор", УсловияОтбора);
 ОткрытьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы, ЭтаФорма);

КонецПроцедуры
---
&НаКлиенте
Процедура СсылкуНаХранилищеОтКого()

 УсловияОтбора = Новый Структура("Сотрудник", Объект.ОтКого);
 ПараметрыФормы = Новый Структура("Отбор", УсловияОтбора);
 ОткрытьФорму("РегистрСведений.ДанныеНомерныхТМЦ.ФормаСписка", ПараметрыФормы, ЭтаФорма);

КонецПроцедуры
---
```1c
    Отбор = Новый Структура(<ИмяКлюча>, ОтКого);
    ПараметрыФормы = Новый Структура("Отбор", Отбор );
```
Кто может подсказать, как выполнить условие ? Нужно чтоб Диалог Вопрос задавался только если реквизит с типом дата не пустой, а иначе просто заполнял его без Диалога Вопрос.

```1c
    &НаСервере
    Процедура КомандаСделатьНаСервере(Раз)

    Парам1 = Раз.Ссылка.ПолучитьОбъект();

    Если
    Парам1.Необходимый = Дата(1,1,1) Тогда
    Парам1.Необходимый = ТекущаяДата();
    Парам1.Записать();
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура КомандаСделать(Команда)

    Раз = Элементы.Список.ТекущиеДанные;
    КомандаСделатьНаСервере(Раз);
    Ответ = Вопрос("Убрать статус документа такой-то ?", РежимДиалогаВопрос.ДаНет, 0);
    Если Ответ = КодВозвратаДиалога.Нет Тогда
    Возврат;
    Иначе
    КомандаБ(Раз);
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Процедура КомандаБ(Раз)

    Парам2 = Раз.Ссылка.ПолучитьОбъект();
    Парам2 .Необходимый = Дата(1,1,1);
    Парам2 .Записать();

    КонецПроцедуры
```
---
Если в текущих данных уже есть эта дата - то сразу
текущиеДанные = Элементы.Список.ТекущиеДанные;
Если текущиеДанные.Необходимый = Дата(1,1,1)...
---
Так сначала получите на клиент дату реквизита с сервера и потом по условию на дату задавайте вопрос. Только лучше использовать ПоказатьВопрос()
---
Если в текущих данных уже есть эта дата - то сразу
текущиеДанные = Элементы.Список.ТекущиеДанные;
Если текущиеДанные.Необходимый = Дата(1,1,1)...
---
Спасибо !
Добрый день.

Делаю обработку кнопки которая будет открывать отчет. Как открыть его понимаю, но как можно передать параметр в отчет. Желательно в процедуру отчета в модуле объекта ПриКомпоновкеРезультата?
---
Открываешь же форму отчета.
Вот на форме параметрами формы и передавай.
В форме, в при создании на сервере - эти параметры считываешь.

а потом в КомпоновщикНастроек засовываешь, там же на форме.
---
Открываешь же форму отчета.
Вот на форме параметрами формы и передавай.
В форме, в при создании на сервере - эти параметры считываешь.

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

Сама процедура подписи выполняется на сервере, где установлен КриптоПро последней версии.
Параметры, которые передаю в конструктор следующие:
  МенеджерКриптографии = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider", "", 75);

Проверила настройки КриптоПро (алгоритмы и CSP) и тип модуля криптографии в реестре... Именно 75.

В чем может быть причина ошибки?
---
При выполнении криптооперации возникают ошибки вида: «Ошибка при получении контекста модуля криптографии»

Возможная причина:
Не установлены средства криптографии в ОС, в «1С:Предприятии» не указаны алгоритмы криптографии, неправильный выбор криптопровайдера

Способ устранения:
Установить криптосредство в ОС.

Запустить «1С:Предприятие» и задать общие настройки криптографии, указать используемые алгоритмы.
---
При выполнении криптооперации возникают ошибки вида: «Ошибка при получении контекста модуля криптографии»

Возможная причина:
Не установлены средства криптографии в ОС, в «1С:Предприятии» не указаны алгоритмы криптографии, неправильный выбор криптопровайдера

Способ устранения:
Установить криптосредство в ОС.

Запустить «1С:Предприятие» и задать общие настройки криптографии, указать используемые алгоритмы.
Получил данные из турникета в таком виде:

Евгений Онегин 09:00:00 Приход
Евгений Онегин 10:02:00 Выход
Евгений Онегин 10:05:00 Приход
Евгений Онегин 13:00:00 Выход
Евгений Онегин 14:00:00 Приход
Евгений Онегин 16:02:00 Выход
Евгений Онегин 16:07:00 Приход
Евгений Онегин 18:00:03 Выход

Как лучше мне посчитать время проведенное сотрудником на работе?
---
Дам добрый совет.
Делать это не запросом а конечным автоматом за один проход.
Будет достаточно много краевых ситуаций, которые запросом обрабатывать неудобно.
---
последний выход минус первый приход в течении суток.
---
Немного непонятно, а в чем вообще суть проблемы?
---
Вас интересует технологическая часть вопроса или методологическая?
---
А может быть два Прихода или два Выход подряд?
А вечером, когда сотрудник уходит домой он может перепутать и отметиться как Приход, вместо Выход?
---
нет, такие варианты невозможны
---
Первый запрос: считаем общее время, выбираем запросом минимальный приход и максимальный выход за день с группировкой по сотруднику.
Второй запрос: дата - это число. считаем что приход это число с минусом, а выход - это число с плюсом. используем (case when then else end) или русскими буквами на 1с.
Итого, во втором запросе получим время неработы сотрудника.(группировка по сотруднику, день (дата без времени), и сумма по полю время)
Вычитаем из результата первого запроса - второй, получим результат.
---
Дам добрый совет.
Делать это не запросом а конечным автоматом за один проход.
Будет достаточно много краевых ситуаций, которые запросом обрабатывать неудобно.
Модуль формы справочника.

Почему в отладчике значение реквизита "Площадь" заполняется, но в справочник не записывается?????

```1c
    &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Отбор = Новый Структура;
    Отбор.Вставить("Поле", Объект.Ссылка);

    Объект.Площадь = РегистрыСведений.ПлощадьПоля.ПолучитьПоследнее(ТекущаяДата(),Отбор).Площадь;
    КонецПроцедуры
```
---
ТекущийОбъект.Площадь
---
Почему в отладчике значение реквизита "Площадь" заполняется, но в справочник не записывается?????
помимо "ПередЗаписьюНаСервере" в модуле формы,
есть еще процедуры ПриЗаписи объекта, в модуле самого объекта...
или например подписки могут быть...мало ли что там накручено.
Искать надо, в каком месте теряется.
---
ТекущийОбъект.Площадь
---
Правильный ответ в (2).
На этом этапе данные структуры "Объект" уже преобразованы в полноценный серверный объект (ТекущийОбъект) и изменять нужно уже его. Структура уже во внимание не принимается. Где-то это даже документировано, но навскидку не вспомню где именно.
---
А где написано что оно должно записываться? Что такое Объект ? В процедуре вижу "ТекущийОбъект"
Откуда взялся "Объект"?
---
Всем спасибо. Вопрос решен