arefaste/1C_Forums huggingface dataset:
👋 бьюсь с отчетом, не могу красиво вывести итоги по ресурсам с отбором по измерениям (без детальных записей). Фото с пояснениями и обработку прикладываю

КАК ПРОБОВАЛ:
- в ресурсы план/факт добавил
- пробовал выводить как параметр макета (ГруппировкаМакет = Доп.информация) - поля пустые
- пробовал выводить с искуственной группировкой по полю ГруппировкаОбщийИтог = Истина - выводит только с Итогами, без них в отчет не выводит

КАК НАДО:
Помогите пжл на примере прикрепленного отчета (желательно через макеты) понять как с произвольной комбинацией отборов красиво выводить итоги по ресурсам
напр.а) за 01.07 по магазину "Продам все" должно получиться 200/198
б) по фиксированному периоду с 01.07 по 15.07, и фикс. списку из 2 магазинов
---
Можно сделать макет группировки с отбором
Видео с процессом: https://youtu.be/HE8co6foSZc
Материалы по теме: https://youtu.be/W_23G1sMKmQ
---
Добрый день. Почитайте про макеты. Вот ссылка https://shongames.ru/iron/1s-skd-maket-itogov-upravlenie-vidom-otcheta-na-skd-zadanie-shapki/
---
Можно сделать макет группировки с отбором
Видео с процессом: https://youtu.be/HE8co6foSZc
Материалы по теме: https://youtu.be/W_23G1sMKmQ
Здравствуйте. Подскажите пожалуйста, код всех документов в БГУ выполняется в общем модуле, мне необходимо обратиться к элементу формы (создан автоматически программно), но имя у него такого формата: ТиповыеОперации_БухгалтерскиеОперации_0bb47b63_7442_11eb_aa0­b_0050568a7472_ПринятьДенежноеОбязательство, более того, у некоторых документов середина изменяется, можно ли как-то найти по частям имени? Что-то вроде такого:
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_+"%%"+_ПринятьДенежное­Обязательств); или
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_[]_ПринятьДенежноеОбязательств); . Эти варианты разумеется не работаю, я их проверил, а как можно еще обойти это. Можно конечно условие по типу документа забубенить, но перечислять все типы, где происходит создание элементов, как-то муторно!
---
поищите реквизит типа ТаблицаЗначений на форме. Возможно созданный программно.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.

В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
---
поищите реквизит типа ТаблицаЗначений на форме. Возможно созданный программно.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.

В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
---
Спасибо, сделал циклом

```1c
    СтрокаПоиска1 = ";
    Для Каждого Элемента Из Форма.Элементы Цикл
    Если СтрНачинаетсяС(Элемента.Имя, "ТиповыеОперации_БухгалтерскиеОперации_") И СтрЗаканчиваетсяНа(Элемента.Имя, "_ДенежноеОбязательство") Тогда
    СтрокаПоиска1 = Элемента.Имя;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    //СтрокаПоиска2 = ";
    ПоследняяСтрока = ";
    //СтрокаПоискаПоИтогу = " + СтрокаПоиска1;// ".ПодчиненныеЭлементы." + ПоследняяСтрока;
    Для Каждого Элемент2 Из Форма.Элементы.Найти(СтрокаПоиска1).ПодчиненныеЭлементы Цикл
    Если СтрНачинаетсяС(Элемент2.Имя, "ТиповыеОперации_БухгалтерскиеОперации_") И СтрЗаканчиваетсяНа(Элемент2.Имя, "ДенежноеОбязательство") Тогда

    ПоследняяСтрока = Элемент2.Имя;

    КонецЕсли;
    КонецЦикла;
```
Добрый день уважемые форумчане.
Прошу помощи у гуру

Есть конфигурация в которой есть запароленные модули.
при этом (перед или при или после записи документа) заказ покупателя выскакивает сообщение (метод сообщить())...
Сообщение не нравиться руководству - хотя так то все работает ...
Проблема в том что я по поиску это сообщение не нашел (грешу на то что оно где то в запароленных модулях)
Отлаживать все процедуры в модуле объекта и на форме трудозатратно выйдет ...

Думаю кто то уже сталкивался с данной проблемой и есть какой нибудь трюк - чтобы узнать в какой именно момент вылазит это сообщение ???
Подскажите пжл как бы вы в данной ситуации копали ???

Заранее огромное спасибо !!!
---
если сообщения формируются на сервере, то выводятся они сразу по возвращению на клиент.
Если они формируются через объект СообщениеПользователю, то на сервере можно их перехватить через ПолучитьСообщенияПользователю.
---
если сообщения формируются на сервере, то выводятся они сразу по возвращению на клиент.
Если они формируются через объект СообщениеПользователю, то на сервере можно их перехватить через ПолучитьСообщенияПользователю.
---
Добавь свои Сообщить() в процедуры - ПередЗаписью(), ПриЗаписи(), ОбработкаПроведения().
---
Добавь свои Сообщить() в процедуры - ПередЗаписью(), ПриЗаписи(), ОбработкаПроведения().
точно хорошая идея ... что то сразу и не сообразил ... сразу видно Гуру - Красавчик ...
---
Если они формируются через объект СообщениеПользователю, то на сервере можно их перехватить через ПолучитьСообщенияПользователю.
- ПолучитьСообщенияПользователю - в отладке будет работать ?
---
- ПолучитьСообщенияПользователю - в отладке будет работать ?
Почему бы и нет? Этот метод возвращает значение.
---
Короче оба красавчики
Здравствуйте! Есть процедура загрузки данных из XML - файла, после загрузки данных этот файл необходимо удалить.

```1c
    Процедура ЗагрузкаДанных()
    ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);
    СтрокаXML = ЧтениеТекста.Прочитать();
    СтрокаXML = СтрЗаменить(СтрокаXML, "<ВыгрузкаДокументов", "<ВыгрузкаДокументов xmlns="http://localhost/testXML" ");

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(СтрокаXML);

    МассивДокументов = Новый Массив;
    ТипВыгрузкаВесовыхДокументовИС_XDTO = ФабрикаXDTO.Тип("http://localhost/testXML", "ВыгрузкаДокументов");
    ВыгрузкаВесовыхДокументовИС_XDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипВыгрузкаВесовыхДокументовИС_XDTO);

    Для Каждого ДокументXDTO Из ВыгрузкаДокументов_XDTO.ЭлементДокумент Цикл
    Документ = Новый Структура("ДатаДокумента, ВидДокумента, Подразделение, КонтрагентПолучатель, Склад, СкладПолучатель, Груз, Вес");
    Документ.ДатаДокумента = СтроковыеФункцииКлиентСервер.СтрокаВДату(ДокументXDTO.ДатаДокумента);
    Документ.ВидДокумента = ДокументXDTO.ВидДокумента;
    Документ.Подразделение = ДокументXDTO.Подразделение;
    Документ.КонтрагентПолучатель = ДокументXDTO.КонтрагентПолучатель;
    Документ.Склад = ДокументXDTO.Склад;
    Документ.СкладПолучатель = ДокументXDTO.СкладПолучатель;
    Документ.Груз = ДокументXDTO.Груз;
    Документ.Вес = ДокументXDTO.Вес;
    МассивДокументов.Добавить(Документ);
    КонецЦикла;
    СоздатьДокументыОбмена(МассивДокументов);
    ЧтениеXML.Закрыть();
    УдалитьФайлы(ЛЕВ(ИмяПути,СтрНайти(ИмяПути,"\",,,СтрЧислоВхождений(ИмяПути,"\"))),"*.xml");
    КонецПроцедуры
```

После выполненияФ СоздатьДокументыОбмена(МассивДокументов) ругается на УдалитьФайлы():
Ошибка совместного доступа к файлу 'C:\1C_36\ВыгрузкаВ1С.xml'. 32(0x00000020): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Как этот файл нужно закрыть, чтобы он удалился ?
---
ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);
Нет закрытия ЧтениеТекста

```1c
    ЧтениеТекста.Закрыть();
```
---
ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);
Нет закрытия ЧтениеТекста

```1c
    ЧтениеТекста.Закрыть();
```
---
Спасибо !
Пишу отчет для фирмы с помощью консоли, перенеся в конфигуратор начал писать что "Не задано значение параметра". Пишу второй раз, немого теряюсь. подскажите как быть

```1c
    ВЫБРАТЬ
    ХозрасчетныйОборотыДтКт.ПодразделениеДт КАК Подразделение,
    ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК НоменклатурнаяГруппа,
    ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
    ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
    ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2, Период, СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство), , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СырьеИМатериалы), , ) КАК ХозрасчетныйОборотыДтКт
    ГДЕ
    ХозрасчетныйОборотыДтКт.СубконтоДт1 = &НоменклатурнаяГруппа

    УПОРЯДОЧИТЬ ПО
    Номенклатура
```
---
Надо задать значение параметра.
---
Надо задать значение параметра.
Нужно изменить записи у подчиненного регистратору РС. из одного документа изменять записи другого.
Создал набор записей и 1Ска заявила что реквизита "Период" нет. при наложении отбора.
---
Теперь думаю можно ли отбор кроме как на регистратор накладывать?
Для РС подчиненного регистратору - нельзя.

https://its.1c.ru/db/metod8dev/content/2719/hdoc

Для изменения записей регистров, подчиненных регистраторам, используются наборы записей. При этом всегда используется отбор по регистратору. То есть совокупность записей, подчиненных одному регистратору, является "гранулой" изменения регистра. Нельзя добавлять или удалять отдельные записи. Можно только считывать и записывать записи по регистратору.
---
для РС подчиненных регистратору отбор накладывается только на регистратор.
---
Это получается - надо узнать какой последний регистратор - получить его записи и смотреть какие изменить или нет?
Там еще организация и сотрудники есть
---
весь набор записей привязан к регистратору. В данном случае к документу. Периодов там может быть неограниченное количество (хоть по разному периоду для каждой записи).

(1) Нужно изменить записи у подчиненного регистратору РС. из одного документа изменять записи другого.
другой документ, для которого необходимо изменить записи известен? Вот он и является регистратором. Его (ссылку) и подставлять в отбор.
Соответственно при изменении все записи по этому регистратору заменятся.
---
```1c
    НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор);
    НаборЗаписей.Прочитать();
    Для Каждого Запись Из НаборЗаписей Цикл
    // Изменение данных полей записи.
    КонецЦикла;
    НаборЗаписей.Записать();
```
---
Да это я уже понял. Теперь думаю можно ли отбор кроме как на регистратор накладывать?
ПРоверить могу только завтра утром
---
Теперь думаю можно ли отбор кроме как на регистратор накладывать?
Для РС подчиненного регистратору - нельзя.

https://its.1c.ru/db/metod8dev/content/2719/hdoc

Для изменения записей регистров, подчиненных регистраторам, используются наборы записей. При этом всегда используется отбор по регистратору. То есть совокупность записей, подчиненных одному регистратору, является "гранулой" изменения регистра. Нельзя добавлять или удалять отдельные записи. Можно только считывать и записывать записи по регистратору.
Доброго времени суток. УПП, обычные формы. Есть справочник ХранилищеДополнительнойИнформации. Форма списка файлов открывается по отбору. Подскажите, пожалуйста, как узнать, есть ли файлы в справочнике или нет? Через получить форму возможно это посмотреть каким то образом? Все свойства полученной формы посмотрел, имя файла так и не нашел. Или может есть какой другой способ получить файлы? Вот пример, как я получаю форму
```1c
    ФормаВладелец = СтрокаТЗ.Ссылка.ПолучитьФорму();
    ФормаФайлов = Справочники.ХранилищеДополнительнойИнформации.ПолучитьФорму("ФормаЭлемента", ФормаВладелец);/////еще были ФормаСписка, ФормаСпискаФайловИИзображений
```
---
В справочнике ХранилищеДополнительнойИнформации есть реквизит Объект. Что бы найти все файлы нужного объекта можно использовать функцию НайтиПоРеквизиту("Объект",СтрокаТЗ.Ссылка) или же сделать тоже самое запросом.
---
В справочнике ХранилищеДополнительнойИнформации есть реквизит Объект. Что бы найти все файлы нужного объекта можно использовать функцию НайтиПоРеквизиту("Объект",СтрокаТЗ.Ссылка) или же сделать тоже самое запросом.
---
спасибо!
Релиз 1C:Enterprise 8.3 (8.3.20.1549)
В английском варианте интерфейса платформы диалоговая форма выбора периода (режим "Показать стандартные периоды") не полностью переведена - месяцы отображаются на русском.

Вопросы:
1) это баг перевода платформы или фича?
2) есть ли какая-то возможность перехватить события выбора периода чтобы подставить свою формы и выбранное значение дальше установить в отбор?
3) какие воообще есть варианты исправить такую ситуацию? Кто стал
Кто сталкивался поделитесь как выходили из ситуации?
---
именно в Код локализации сеанса ?
Именно он отвечает на представление чисел и даты. В том числе и Стандартный период.
Установка его в en перевела названия месяцев на английский.
---
В Код локализации сеанса что прописано?
---
'en'
---
именно в Код локализации сеанса ?
Именно он отвечает на представление чисел и даты. В том числе и Стандартный период.
Установка его в en перевела названия месяцев на английский.
---
Да, правы все кто написал про код локализации. Действительно стоял ru. Я просто добавли язык в конфигурацию, выбрал его у пользователя и был уверен что код локализации дальше корректно подставится.
Всем спасибо!
---
Вот как это вылядит:
---
Конфигурация УНФ 1.6.16
Параметр сеанса "Основной язык" установлен в язык English, который добавлен в языки конфигурации.
---
"Использовать региональные установки текущего сеанса." установить флаг. Без этого флага не будут применяться настройки Код локализации.
Язык интерфейса и Код локализации соответственно, тоже установить в en.
Всем привет, парни подскажите пожалуйста, как изменить комментарий в документах которые уже проведены?
---
```1c
    объ = документ.получитьобъект();
    объ.комментарий = "42";
    объ.записать();
```
---
в режиме ОбменДанными.Загрузка = Истина
---
```1c
    объ = документ.получитьобъект();
    объ.комментарий = "42";
    объ.записать();
```
---
обычной групповой обработкой
---
Прошу прощения за не правильное описание задачи, в каждом документе есть свой комментарий и его надо оставить и просто дописать префикс грубо говоря, если честно уже разобрался, спасибо всем!
---
Циклом пройтись по комментариям и просто : "[ВашПрефикс]" + Комментарий
---
Да, всем спасибо, написал обработку все работает! Еще раз всем спасибо!
Пытаюсь вывести html файл в поле html через обработку на серверной базе выдаёт Couldn't read a file:// file... если запускаю обработку на файловой базе то всё работает, у пользователя USR1CV8 есть полные права на этот файл.
---
если бы да кабы в ошибке был текст не могу прочитать файл :
///DDD/FFF/HHH/RTYU///...not found

тогда вопрос один

но у вас ошибка
:
 Couldn't read a file:///%d0%b8%d0%b5%d1%80%d0%be%d0%b3%d0%bb%d0%b8%d1%84

надеюсь понятно, что проблема в кодировке ?
или кириллица в пути/названии файла
---
кодировка
---
почему тогда на одинаковых базах на серверной ошибка на файловой всё нормально
---
https://context.reverso.net/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4/%D0%B0%D0%BD%­D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/couldn%27t+read

не смог прочитать - это не отсутствие файла или прав на него.
---
Наверно потому что код выполняется на сервере.
И для файловой базы сервер это ваш комп, на котором на диске D есть файл, а для серверной это компьютер, где установлен сервер 1С, на котором этого файла нет.
---
сижу через терминал так что это 1 ПК, причем я в этой же процедуре могу как текстовый документ его прочитать на сервере
---
А если получить текст html файла и присвоить его реквизиту с полем html, такой вариант не подойдет?
---
так он выводится но там ссылки относительные файла типа
 папка\картинка.png
И они перестанут работать
---
Один из вариантов - добавить html файл в макет обработки.
Но в этом случае потребуется заново вставлять картинки.
И если картинок много, открываться будет долго.
---
у меня много html файлов, с разными ссылками где то картинки где то pdf
---
Тогда попробуйте разместить файлы в каталоге в сети, чтобы для клиента и для сервера путь был одинаковый всегда.
---
если бы да кабы в ошибке был текст не могу прочитать файл :
///DDD/FFF/HHH/RTYU///...not found

тогда вопрос один

но у вас ошибка
:
 Couldn't read a file:///%d0%b8%d0%b5%d1%80%d0%be%d0%b3%d0%bb%d0%b8%d1%84

надеюсь понятно, что проблема в кодировке ?
или кириллица в пути/названии файла
---
Да действительно кириллица в пути решает, интересно возможно ли это обойти.
---
(13)
Такая же проблема, нужно открывать файлы с кириллицей в пути - получаю ту же ошибку
Решение нашел кто-нибудь?
---
нужно открывать файлы с кириллицей в пути

http://forum.oszone.net/thread-211152.html

направление
В Конфигурации УТ 11.4 после программного изменения контактной информации, на форме изменений не происходит, измененная Контактная информация отображается только после повторного открытия Формы элемента.
1. Как обновить Контактную информацию на открытой форме?
2. Если пытаюсь записать/обновить Контактную информацию у Нового объекта то ругается на то что нет Ссылки, если перед этим Записываю Объект, то на то что Объект уже заблокирован(((

```1c
    УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(Объект.Ссылка, Представление, Вид, Дата(1,1,1), Истина)
```

Как быть в этом случае?
---
```1c
    ФормаКлиентскогоПриложения (ClientApplicationForm)
    РазблокироватьДанныеФормыДляРедактирования (UnlockFormDataForEdit)
    Синтаксис:
    РазблокироватьДанныеФормыДляРедактирования()
    Описание:
    Снимает блокировку данных формы для редактирования.
    Доступность:
    Тонкий клиент, веб-клиент, сервер, толстый клиент.
    Вызов метода выполняет обращение к серверу.
    Использование в версии:
    Доступен, начиная с версии 8.2.
```
---
С первым пунктом разобралась:

```1c
    ОбновитьОтображениеДанных();
    Прочитать();
```

Теперь остался вопрос: Как снять блокировку после записи объекта без закрытия формы?
---
```1c
    ФормаКлиентскогоПриложения (ClientApplicationForm)
    РазблокироватьДанныеФормыДляРедактирования (UnlockFormDataForEdit)
    Синтаксис:
    РазблокироватьДанныеФормыДляРедактирования()
    Описание:
    Снимает блокировку данных формы для редактирования.
    Доступность:
    Тонкий клиент, веб-клиент, сервер, толстый клиент.
    Вызов метода выполняет обращение к серверу.
    Использование в версии:
    Доступен, начиная с версии 8.2.
```
---
Спасибо большое!!!!
Помогло!!!
---
Прочитать() Вы в каком контексте делаете? Я так понимаю есть открытая форма, Вы программно на ней что то меняете(не из формы) и обновляете отображение - прочитать что Вы хотите. И не понятно почму объект заблокирован открытой формой.
Вот как то так
Описание:
В принудительном порядке обновляет содержание элементов управления.
Полезен при изменении значений реквизитов формы вне формы, в тот момент, когда форма отображается на экране.
---
в (1) во втором пункте я уже написала, в какое время Объект блокируется, при Записи Нового, для передачи Ссылки на Объект в качестве Аргумента т.к. у нового Ссылки нет
---
Жесть!!! Вы создаете объект, открываете форму, а потом ее программно заполняете (не из этой формы) обновляете и пытаетесь записать...
Тогда Вам надо программно назначить будущую ссылку для объекта. Есть такой прием.
Был у нас программист на фирме, и он отредактировал стандартный комплект документов, и поставил условия, если Организация 1 - то печатает Реализация, если организация 2 - то печатает Реализация + ТОРГ12, если организация 3 - то печатает Реализация + УПД

Подскажите, где можно отредактировать или закомментить эти условия?
---
в УТ11
печать - комплект документов с настройкой - выбрать что надо - управление настройками - и там уже выбрать для чего сохранять. для всех организаций, для конкретной организации или для конкретного контрагента.
---
если из доставки, то берутся сохраненные настройки печати для реализаций.
плюс печатается маршрутный лист.
---
Добрый день. ну в конфигураторе обработка печати. Копать туда надо.
---
А где именно найти редактирование комплекта печати? А то я не профи, не могу найти
---
РегистрСведений.НастройкиПечатиОбъектов - Этот регистр хранит настройки печати комплектов. Плясать надо от него, Проверяйте что есть в форме Настройка печати комплекта.
---
Благодарю за вариант, ща гляну
---
в УТ11
печать - комплект документов с настройкой - выбрать что надо - управление настройками - и там уже выбрать для чего сохранять. для всех организаций, для конкретной организации или для конкретного контрагента.
---
До этого я и сам додумался, но к сожалению такая функция отсутствует в доставвке, у нас документы печатаются через доставку
---
если из доставки, то берутся сохраненные настройки печати для реализаций.
плюс печатается маршрутный лист.
---
Ща попробую, заранее благодарю
---
Вроде сработало, печатает без УПД, вечером когда менеджера будут все маршруты печатать, проверю еще раз
Добрый день коллеги, возникла необходимость читать xls файл, на файловой версии 1С никаких проблем, но после переноса базы в PostgreSQL на линухе, файлы перестали открываться. Пробовал создавать общую папку с полными правами в сети и класть файлы туда, но тоже безрезультатно . Подскажите куда копать, что смотреть.
---
на файловой версии 1С никаких проблем, но после переноса базыНу так засунь файл в ДД, передай ДД на сервер, запиши во временный файл и прочитай. В чем проблема?
```1c
    // где-то на клиенте
    ПрочитатьДолбанныйЭксельНаСервере( Новый ДвоичныеДанные( ИмяФайла ) );

    //[...] какое-то количество говнокода

    &НаСервере
    Процедура ПрочитатьДолбанныйЭксельНаСервере( ДД )
    ИмяФайла = ПолучитьИмяВременногоФайла( "xls" );
    ДД.Записать( ИмяФайла );
    Т = Новый ТабличныйДокумент;
    Т.Прочитать( ИмяФайла );
    УдалитьФайлы( ИмяФайла );
    ОбработатьПрочитанныйЭксельВТабличныйДокумент( Т );
    //[...] какое-то количество говнокода
```
И да, имей ввиду, что расширение строго определяет тип файла. Если хочешь читать xlsx, то и временный файл создавай с расширением xlsx.
---
Перенес процедуры обработки xls из общего модуля на клиент и всё заработало, спасибо.
---
курите работу на клиенте и на сервере...
---
на файловой версии 1С никаких проблем, но после переноса базыНу так засунь файл в ДД, передай ДД на сервер, запиши во временный файл и прочитай. В чем проблема?
```1c
    // где-то на клиенте
    ПрочитатьДолбанныйЭксельНаСервере( Новый ДвоичныеДанные( ИмяФайла ) );

    //[...] какое-то количество говнокода

    &НаСервере
    Процедура ПрочитатьДолбанныйЭксельНаСервере( ДД )
    ИмяФайла = ПолучитьИмяВременногоФайла( "xls" );
    ДД.Записать( ИмяФайла );
    Т = Новый ТабличныйДокумент;
    Т.Прочитать( ИмяФайла );
    УдалитьФайлы( ИмяФайла );
    ОбработатьПрочитанныйЭксельВТабличныйДокумент( Т );
    //[...] какое-то количество говнокода
```
И да, имей ввиду, что расширение строго определяет тип файла. Если хочешь читать xlsx, то и временный файл создавай с расширением xlsx.
---
Перенес процедуры обработки xls из общего модуля на клиент и всё заработало, спасибо.
---
Приложение сервера 1С под каким пользователем запущена? У этого пользователя должен быть доступ к папке
---
Приложение 1С на сервере запущено от админа сервера, а папка расшарена в винде для всех пользователей