arefaste/1C_Forums huggingface dataset:
У продукции есть комплектация(для ложки нужно 10 пластика и 1 краситель). Пользователь вводит готовую продукцию в верхней таб части, а снизу получает рецепт. В модуле формы не могу получить все строки запроса и передать их на клиент(передается 10 пластика, а 1 краситель нет). Как передать на клиент весь запрос и обработать, или есть другой способ?
---
Смотрим цикл, и напряжённо думаем - что же происходит со структурой???

А потом думаем - а почему мы всегда добавляем только одну строку в таблицу???

И что мешает добавлять строки в таблицу прямо цикле обхода выборки?
---
можно на сервере заполнить табличную часть документа, не обязательно на клиент возвращать эти данные. А по поводу
(1) передается 10 пластика, а 1 краситель нет смотрите результат запроса, может быть в нем и нет красителя
---
Смотрим цикл, и напряжённо думаем - что же происходит со структурой???

А потом думаем - а почему мы всегда добавляем только одну строку в таблицу???

И что мешает добавлять строки в таблицу прямо цикле обхода выборки?
---
еще вы в цикле создаете структуру, возвращаются последние значения выборки. Сделайте так
```1c
    Структура = Новый Структура;
    Пока выборка..... Цикл
    заполняете структуру
    КонецЦикла;
```
---
и сколько будет комплектующих в этой структуре???
---
а это уже совсем другая история)
---
Ну и в чем будет разница между новой структурой и перезаписанной?
---
перепутал с массивом
---
Всем спасибо, помогло
1С:Предприятие 8.3 (8.3.20.1674)
Подскажите, где в управляемых формах настраивается переход по Таб клавише?
Нужно задать порядок обхода элементов на форме.

Можно скриншот прикрепить, если есть возможность.
---
сама постановка вопроса не корректная. Вопрос взят еще из обычных форм, где можно было проставить порядок обхода.
Тут же под термином "порядок обхода" имеют ввиду настройку элементов, по которым вообще можно перемещаться при обходе.

А именно про порядок обхода есть четкое описание на сайте 1С:
https://its.1c.ru/db/metod8dev/content/3564/hdoc
Порядок обхода в управляемых формах простой: как элементы идут в дереве, в таком порядке они и будут получать фокус ввода.
---
порядок обхода определяется порядком в дереве
---
Спасибо.

Вопрос 10.18 экзамена 1С:Профессионал по платформе. Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?
Правильный ответ:
Порядок обхода зависит от ролей пользователя и функциональных опций, но может изменяться программно и интерактивно самим пользователем в рамках доступных элементов.
---
сама постановка вопроса не корректная. Вопрос взят еще из обычных форм, где можно было проставить порядок обхода.
Тут же под термином "порядок обхода" имеют ввиду настройку элементов, по которым вообще можно перемещаться при обходе.

А именно про порядок обхода есть четкое описание на сайте 1С:
https://its.1c.ru/db/metod8dev/content/3564/hdoc
Порядок обхода в управляемых формах простой: как элементы идут в дереве, в таком порядке они и будут получать фокус ввода.
---
все верно если бы не одно но, в таблицах формы не работает. Т.е. если имеем вложенные группы колонок, то порядок обхода определяет корневая (
Возьмём документ РеализацияТоваровИУслуг, например, ему мы программно задали реквизит "МожноПечатать" булевский. Когда он установлен(Истина), то документ можно распечатать и наоборот. Так вот, просто сделать запрет печати одного документа нетрудно, но сделать запрет из формы списка документа никак не получается нормально. То есть, если я в списке выделю 3 документа и у одного из них "галочка" на реквизите есть, нажму печать для всех трёх, то должен распечатать только тот, который с включённым полем на форме.
Сначала попробовал просто сделать цикл с условием на МассивОбъектов,

Для каждого Док из МассивОбъектов цикл
// в МассивОбъектов лежат три выделенных документа в форме списка и отправленные на печать

   Если НЕ Док.МожноПечатать = Ложь тогда

     Сообщить("Распечатать документ без включённого признака ""Можно распечатать"" нельзя!");

     Возврат;

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

Либо - "так он где-то потом дальше в функциях всё равно запоминает" - смотри отладчиком откуда он берет, и там обработай.

P.S.: привет землякам )
---
Всё,проблема решена.
---
Вам можно еще сделать в форме списка чтобы когда реквизит "МожноПечатать" равен Истина , тогда фон строки выделить цветом. Сразу будет видно что можно печатать, а что не будет печататься, даже если пользователь выделит строку. Проверку на возможность распечатки можно добавить в модуле общей формы ПечатьДокумента. Тоже обход в цикле и использовать оператор "Продолжить", а не "Возврат".
Как программно выгрузить/загрузить/поместить табличный документ с формы отчета в эксель, если это возможно? Находил информацию только о том как это делается с макетом.
---
У табличного документа есть метод "Записать". Там можно сохранять в разные форматы. СП в помощь.
---
Обожаю терминологию неофитов. Что значит "запихнуть"?
---
Исрпавил
---
У табличного документа есть метод "Записать". Там можно сохранять в разные форматы. СП в помощь.
---
Спасибо
---
в типовых уже давно есть кнопка-подменю сохранить и только выбирайте формат и место хранения файла.
---
Исправил вопрос
Иногда очень хочется находясь в режиме отладки сериализовать структуру в json

Если воспользоваться функцией "Установить новое значение в виде выражения", то оно принимает только значение, более сложный запуск в виде кода там выполнить нельзя

Как-то можно выполнить отдельный код в отладке и получить его результат?

Типа такого
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураПараметров);
СтрокаJSON = ЗаписьJSON.Закрыть();

И получить значение СтрокаJSON
---
ВнешниеОбработки.Создать("C:\1\test.epf").Тест(СтруктураПараметров)
Можно через расширение еще
---
Для этого есть табло
---
Можно оказывается с помощью внешней обработки вызвать экспортную функцию
---
ОБАЛДЕТЬ!!! Подскажешь - как?
---
ВнешниеОбработки.Создать("C:\1\test.epf").Тест(СтруктураПараметров)
Можно через расширение еще
---
Век живи - век учись!!! Да ты просто монстром программирования стал за 15 лет и 9 месяцев!
Всем доброго дня!
Направьте пожалуйста на путь истинный: как получить Тип показателя выбранного Вида расчета?
На форме внешней обработки в поле "Вид оплаты" выбираю какое-либо начисление из Плана видов расчета, при этом нужно получить Тип показателя этого Вида расчета, т.е. Числовой, Денежный.
Мой вариант почему-то для всех выбираемых начислений выдает "Доплата %", не пойму, в чем ошибка?

```1c
    &НаСервере
    Функция ТипПок(ВидОплаты)

    Для Каждого СтрПоказатель Из ВидОплаты.Показатели Цикл
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный Тогда
    ТипПок = "Доплата суммой";
    ИначеЕсли СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой Тогда
    ТипПок = "Доплата %";
    ИначеЕсли СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.ЧисловойЗависящийОтСтажа Тогда
    ТипПок = "Доплата от стажа %";
    КонецЕсли;
    КонецЦикла;
    Возврат ТипПок;

    КонецФункции
```
---
Большое спасибо! У меня получилось! Нужно было просто добавить условие:

```1c
    Для Каждого СтрПоказатель Из ВидОплаты.Показатели Цикл
    Если СтрПоказатель.ОсновнойПоказатель Тогда
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный Тогда
    ТипПок = "Доплата суммой";
    КонецЕсли;
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой Тогда
    ТипПок = "Доплата %";
    КонецЕсли;
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.ЧисловойЗависящийОтСтажа Тогда
    ТипПок = "Доплата от стажа %";
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
```
---
Проверьте запросом:

```1c
    Выбрать
    Ссылка
    ИЗ
    Справочник.ПоказателиРасчетаЗарплаты
    ГДЕ
    ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейРасчетаЗарплаты.Денежный)
```

Денежных - не так много
---
Большое спасибо! У меня получилось! Нужно было просто добавить условие:

```1c
    Для Каждого СтрПоказатель Из ВидОплаты.Показатели Цикл
    Если СтрПоказатель.ОсновнойПоказатель Тогда
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный Тогда
    ТипПок = "Доплата суммой";
    КонецЕсли;
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой Тогда
    ТипПок = "Доплата %";
    КонецЕсли;
    Если СтрПоказатель.Показатель.ТипПоказателя=Перечисления.ТипыПоказателейРасчетаЗарплаты.ЧисловойЗависящийОтСтажа Тогда
    ТипПок = "Доплата от стажа %";
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
```
Всем привет подскажите ответ на вопрос.
Есть отчет в скд в котором поля Документ, приход, расход.
В отчете указывается период - К примеру 01.06.2023 - 30.06.2023 (Скрин прилагается) и в приход и расход подкидываются числа.
Вопрос таков как сделать так чтобы Период я указывал Год. Я создам колонки доп. 1,2,3,4,5.... (где это месяца) и чтобы он автоматом подставил в каждый месяц расход (скрин примера есть)
---
```1c
    НачалоПериода(Документ.Дата, "Месяц")
```
 и сделать из этого поля колонки
---
```1c
    НачалоПериода(Документ.Дата, "Месяц")
```
 и сделать из этого поля колонки
---
ну в запросе, я написал НачалоПериода(ВложенныйЗапрос.Период, Месяц) он мне выводит так.
Но это я период указываю 01.06.2023 - 30.06.2023. А что дальше делать?))))
---
У вас же СКД. Вот в ней настраивайте на закладке Настройка.
---
Ошибка выполнения отчета
по причине:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.
HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1

у меня все время выкатывается эта ошибка когда я ставлю в колонку период
---
Смотрите на формулу расчета числовых полей.
---
Спасибо) все получилось)
Собственно, из заголовка все понятно.
Раньше автонумерация у справочника была отключена, теперь включил, но запись из формы элемента все-равно недоступна - ругается.
---
У стандартного реквизита было установлено значение проверки заполнения. Проблема решена.
---
А на что ругается? Ошибка то какая?
---
"Поле "Код" не заполнено"
---
Я бы поискал в модуле объекта процедуру "ПриУстановкеНовогоКода"
---
У стандартного реквизита было установлено значение проверки заполнения. Проблема решена.
ДД коллеги. "Столкнулся с желанием" использовать одну команду на управляемой форме в нескольких местах. На форме есть несколько одинаковых таблиц значений. 1С в принципе позволяет в этих таблицах в командной панели проставить одну и ту же команду. В процедуре команды надо определить на какой форме таблицы было нажатие и отработать свой алгоритм. Затруднение вызвало как определить "родителя" кнопки. Может кто-то сталкивался с таким - подскажите.
---
самый простой способ это создать разные команды и назначить им одну и ту же процедуру на Действие, если так хочется именно одну процедуру на все команды.
---
Если таблицы значений на разных страницах проверяйте какая страница текущая.
Если же таблицы одновременно видны на форме, то сделайте 4 команды, и не парьтесь.
---
Спс, я так и сделал, но хотел повыпендриваться...))
---
самый простой способ это создать разные команды и назначить им одну и ту же процедуру на Действие, если так хочется именно одну процедуру на все команды.
---
Спс, да наверное проще не сделать.
---
ЭтаФорма.ТекущийЭлемент.Имя - например, если разместить команду на командной панели ТЧ "Товары" Заказа клиента в УТ, то вернет "Товары". Пробуй поиграться с текущим элементом.
---
Ну и? Для каждой ТЗ создавать свою командную панель со своей командой?
Задача-то в другом!
---
Спс, просто ЭтаФорма.ТекущийЭлемент дает совсем другие данные - первый элемент на форме! Почему и спрашивал помощь...
Добрый день! Подскажите, пожалуйста.
Выгружаю csv программно. По тех. заданию, в первой строке должно быть написано #v.2.0.0.
Пример типового кода, - у меня реализовано аналогично:

```1c
    &НаСервере
    Процедура СоздатьТаблицуНаФормеНаСервере()

    // программно создаём таблицу значений ТабВКоде

    ТабВКоде = Новый ТаблицаЗначений;

    ОписаниеСтроки = Новый ОписаниеТипов("Строка");
    ОписаниеВеса = Новый ОписаниеТипов("Число",
    Новый КвалификаторыЧисла(12, 3));

    ТабВКоде.Колонки.Добавить("Фрукт", ОписаниеСтроки, "Имя фрукта");
    ТабВКоде.Колонки.Добавить("Цвет", ОписаниеСтроки, "Цвет фрукта");
    ТабВКоде.Колонки.Добавить("Вес", ОписаниеВеса, "Вес фрукта");

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Яблоко";
    Стр.Цвет = "Зелёный";
    Стр.Вес = 200;

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Банан";
    Стр.Цвет = "Желтый";
    Стр.Вес = 150;

    ВывестиТаблицуЗначенияВКодеВТаблицуНаФорме(ТабВКоде, "ТабРеквизит1", "ТабНаФорме1");

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

Вопросы:
1) Как в первой строке внести #v.2.0.0?
ИЛИ
2) Как вместо "Фрукт" в строке "Стр.Фрукт = "Яблоко";" указать переменную #v.2.0.0
С простыми переменными как в примере проблем нет, а вот как обозначить нестандартную переменную, не могу сообразить :(
---
В чем сложность сделать так?

```1c
    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "#v.2.0.0";

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Яблоко";
    Стр.Цвет = "Зелёный";
    Стр.Вес = 200;

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Банан";
    Стр.Цвет = "Желтый";
    Стр.Вес = 150;
```
---
Выгружаю csv программно. По тех. заданию, в ячейке А1 должно быть написано #v.2.0.0. У CSV не бывает "ячеек" - это текстовый файл: https://ru.wikipedia.org/wiki/CSV
---
В чем сложность сделать так?

```1c
    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "#v.2.0.0";

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Яблоко";
    Стр.Цвет = "Зелёный";
    Стр.Вес = 200;

    Стр = ТабВКоде.Добавить();
    Стр.Фрукт = "Банан";
    Стр.Цвет = "Желтый";
    Стр.Вес = 150;
```
---
Спасибо большое! Решение было на поверхности, оказалось все просто!
---
Да, все верно Вы сказали. Я так написал, потому что открываю его в Excel. Поправил формулировку.
Доброго дня столкнулся с тем что когда делаешь множественный отбор на веб клиенте начиная со второго отбора метод ПроверитьСтроку() не отрабатывает, вернее проверяет по первому отбору, на веб клиенте платформа 8.3.18.1957, вопрос на какой платформе работает нормально ну или есть какие то еще варианты решения.
---
вообщем разобрался какой то странный глюк, зависит от версии браузера и старой платформы на apache веб сервере, обновил веб сервер, браузер, глюк ушел, платформу было обновить проблематично, вернее затратно.
(11) спасибо за помощь!
---
Проверять на сервере?
---
расскажите как, метод ПроверитьСтроку доступен только клиенте. И отбор нативный.
---
никто не сталкивался значит?
---
А что значит "второй отбор"? Или как воспроизвести ошибочное поведение?
---
правой клавишей кликаете раз по какой то из колонок найти в табличной части, потом добавляете в отбор еще раз по какой то другой из колонок, первый раз метод ПроверитьСтроку(), отрабатывает правильно, второй раз уже нет, вернее показывает только по первому отбору на веб клиенте, на обычном клиенте все ок.
---
Гляну на своей платформе. Если и правда баг, то всегда есть возможность получить исполняемые настройки КД таблицы формы. У элемента таблицы есть соответствующий метод, точное имя не скажу. Это актуально только для ДС.
---
авда баг, то всегда есть возможность получить исполняемые настройки КД таблицы формы. У элемента таблицы есть соответствующий да я знаю у меня как раз табличная часть. так что дс не подходит.
---
У меня 8.3.22.1709. В веб-клиенте всё отрабатывает корректно.
---
хмм, значит глюк платформы. Проверю на свежей платформе. Хотя а когда осталось несколько строк не пробовали?
---
когда осталось несколько строк Так же.
---
вообщем разобрался какой то странный глюк, зависит от версии браузера и старой платформы на apache веб сервере, обновил веб сервер, браузер, глюк ушел, платформу было обновить проблематично, вернее затратно.
(11) спасибо за помощь!
---
завтра проверю на свежей платформе отпишусь.
Добрый день. Посдкажите, пожалуйста, в чем ошибка?
```1c
    ТипЗнч(Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода))

    ТипЗнч(Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода)) Число Тип////из отладчика

    Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода) //////значение в отладчике 28800

    ////а тут ошибка
    Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода)/ 3600 {(1)}: Преобразование значения к типу Число не может быть выполнено
```
---
вспоминаем правила математики и порядок выполнения операторов.
Сначала выполняется деление, и только потом вычитание.
Скобки нужно добавить, для изменения порядка выполнения.

```1c
    (Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода))/ 3600
```
---
Ты реально решил разделить дату на число?
---
Ты реально решил разделить дату на число?
---
Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода) где тут дата получается?
---
вспоминаем правила математики и порядок выполнения операторов.
Сначала выполняется деление, и только потом вычитание.
Скобки нужно добавить, для изменения порядка выполнения.

```1c
    (Дата(Формат(ТаблицаДат[инд].ОкончаниеПериода, "ДФ=ггггММдд") + "080000") - НачалоДня(ТаблицаДат[инд].ОкончаниеПериода))/ 3600
```
---
спасибо
---
к тому же тип значения у данного выражения число, не дата.
---
спасибо, теперь понял про что ты
Добрый день. Посдкажите, пожалуйста, можно ли как то скрыть/ограничить доступность ко всем элементам выбора периода кроме месяца (обычные формы)?
```1c
    Процедура ВыбПериодНажатие(Элемент)
    НастройкаПериода = Новый НастройкаПериода;
    НастройкаПериода.РедактироватьКакИнтервал = Истина;
    НастройкаПериода.РедактироватьКакПериод = Истина;
    НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
    НастройкаПериода.ВариантПериода = ВариантПериода.Месяц;
    НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
    Если НастройкаПериода.Редактировать() Тогда
    НачПериода = НастройкаПериода.ПолучитьДатуНачала();
    КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
    КонецЕсли;
    КонецПроцедуры
```
---
Нельзя, придется рисовать свою форму периода
---
Нельзя, придется рисовать свою форму периода
---
спасибо
Возможно ли как-то запросом получить (если нет, то как лучше сделать) данные по горизонтали и вертикали, как пример остатки по складам (простейший регистр накопления "Остатки товаров" где есть Склад,, количество и срез последних):

                 Склад1 Склад2 Склад3 ........
Това1 1 шт 0 шт 0шт
Това2 1 шт 1 шт 5шт

Количество товаров и складов при этом большое и периодически меняется (указывать коды, артикулы не вариант)
---
Изучай)
---
чем не устраивает таблица с колонками: Номенклатура, Склад, Остаток?
Что в вашем понимании "срез последних" для остатков?
---
Срез последних просто дает актуальное количество на данный момент, но по вертикали должны быть склады
---
Изучай)
---
используйте левые соединения по количеству складов,
лучше всего для такой задачи использовать отчет СКД
---
используйте левые соединения по количеству складов,Нет. Не нужны они. Вообще соединения не нужны.
лучше всего для такой задачи использовать отчет СКД Можно. Две группировки. Одна горизонтальная и одна вертикальная.
Если складов 150 штук, то не удобная портянка. Удобнее группировку по номенклатуре и внутри по складам. Сначала ищешь номенклатуру и потом смотришь внутри на каких складах остатки. Как посоветовали в (3) не изобретать велосипед.
---
СКД конечно здорово, но данные мне нужны в EXCEL
---
по вертикали должны быть склады
зачем?
(6)Так и говорил бы сразу...
для СКД таблица из (3), в настройках вывода - Таблица, колонки - Склады и сохранение результата в EXCEL
---
Excel конечно здорово, но чем СКД плох? ИМХО если не работать потом в excel через power query, а собирать в лоб, то ресурсы жрутся ой как здорово. Хотя если юзвери старой закалки и без крыжинья с линейкой жизни не видят, то только excel...
---
Похоже, вы не знаете, что такое СКД?
---
СКД конечно здорово, но данные мне нужны в EXCEL

так после формирования отчета, одним движением кнопки он легко выгружается в Ексель!
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
Настраиваю в конструкторе макета компоновки данных 1с отчет "Табель" в виде кросс-таблицы. Строки: "Сотрудник". Колонки: "Месяц", "Дата работ".

Как настроить вывод заголовка группировки "Месяц" над заголовками вложенной группировки "Дата работ"(как на рис.1)?

Сейчас заголовки с названиями месяцев выходят слева от дат (рис.2).
---
Боюсь, что без постобработки табличного документа никак
https://youtu.be/qWecZ-dNKD4
---
Боюсь, что без постобработки табличного документа никак
https://youtu.be/qWecZ-dNKD4
---
;)
Для того чтобы настроить вывод заголовка группировки "Месяц" над заголовками вложенной группировки "Дата работ" в отчете "Табель" в виде кросс-таблицы, необходимо выполнить следующие действия:

Выберите компоновку данных отчета "Табель" в виде кросс-таблицы в конструкторе макета.
Добавьте в раздел "Строки" компоновки данные "Месяц".
Добавьте в раздел "Колонки" компоновки данные "Дата работ".
Нажмите на заголовок колонки "Дата работ" и выберите "Группировка по > Месяц".
Нажмите на заголовок колонки "Дата работ" и выберите "Отображать заголовок внутри группы".
Нажмите на заголовок колонки "Месяц" и выберите "Отображать заголовок на всю ширину компоновки".
Сохраните изменения макета.
Теперь заголовок группировки "Месяц" будет выводиться над заголовками вложенной группировки "Дата работ" в кросс-таблице отчета "Табель".
(ChatGPT)
---
сорцы
Добрый день!

Настраиваю выгрузку документа Операция. Проблема в том, что субконто одного типа ОсновныеСредства, в зависимости от счета учета, должны конвертироваться в разные справочники в базе приемнике. Для обычных реквизитов можно использовать ИмяПКО. Но как его указать для Субконто, там же коллекция значений.
---
А вот наверное еще лучше решение https://forum.infostart.ru/forum9/topic177602/ Тут подменяется ИмяПКО в зависимости от типа
---
Можно попробовать использовать функцию ВыгрузитьПоПравилу, перебирать все возможные типы и выгружать в зависимости от типа. Вот тут примеры есть https://forum.infostart.ru/forum15/topic235792/
---
А вот наверное еще лучше решение https://forum.infostart.ru/forum9/topic177602/ Тут подменяется ИмяПКО в зависимости от типа
---
для Субконто так не работает