1С:Розница 2.2. Отчет "Ведомость по товарам на складах". Хотел переделать отчет, чтобы выводил номенклатуру с картинками. Вроде сделал. Но потом решил добавить вариант отчета. И отчет перестал работать. Просто немного изменил запрос (добавил ШК и картинку номенклатуры) в СКД. И добавил настройку ширины колонки в СКД.

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

Настройки СКД:

Вариант отчета:

В модуль отчета добавлен код:

```1c
    //#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

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

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

    Функция ВывестиИзображениеВОбластиТД(ДанныеКартинки, ТД, Область)
    Изображение = ТД.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    Изображение.РазмерКартинки = РазмерКартинки.АвтоРазмер;
    Индекс = ТД.Рисунки.Индекс(Изображение);
    ТД.Рисунки[Индекс].Картинка = Новый Картинка(ДанныеКартинки, Истина);
    ТД.Рисунки[Индекс].Расположить(Область);
    Возврат ТД.Рисунки[Индекс];
    КонецФункции

    Процедура ВывестиИзображениеЭлементаНоменклатуры(ТД, ЭлементСправочника, Область, ШиринаКолонкиИзображения)
    УстановитьПривилегированныйРежим(Истина);
    Если ЭлементСправочника.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
    СтуктураРег = РегистрыСведений.ПрисоединенныеФайлы.Получить(Новый Структура("ПрисоединенныйФайл", ЭлементСправочника));
    ДанныеКартинки = СтуктураРег.ХранимыйФайл.Получить();
    Иначе
    ДанныеКартинки = ?(ЗначениеЗаполнено(ЭлементСправочника.Том.ПолныйПутьWindows), ЭлементСправочника.Том.ПолныйПутьWindows, ЭлементСправочника.Том.ПолныйПутьLinux)
    + ЭлементСправочника.ПутьКФайлу;
    КонецЕсли;
    УстановитьПривилегированныйРежим(Ложь);
    Рисунок = ВывестиИзображениеВОбластиТД(ДанныеКартинки, ТД, Область);
    Область.АвтоВысотаСтроки = Ложь;
    Область.ВысотаСтроки = ШиринаКолонкиИзображения * 1.31 / 0.3759;// Среднее значение пункта 1 пункт = 0.3759 мм (по Wiki)
    Область.Расшифровка = ЭлементСправочника;
    Рисунок.ЦветЛинии = Область.ЦветРамки;
    КонецПроцедуры

    Функция ВернутьКоличествоКолонки(КоллекцияЭлементовВыбора)
    КоличествоКолонок = 0;
    Для Индекс = 0 По КоллекцияЭлементовВыбора.Количество() - 1 Цикл
    Если КоллекцияЭлементовВыбора[Индекс].Использование Тогда
    КоличествоКолонок = КоличествоКолонок + 1;
    КонецЕсли;
    КонецЦикла;
    Возврат КоличествоКолонок;
    КонецФункции

    Функция ВернутьЗначениеПараметраНастройкиСКД(КоллекцияЭлементовНастройки, ИмяНастройки, ЗначениеПоУмолчанию = Неопределено)
    Настройка = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяНастройки);
    Если Настройка = Неопределено Тогда Возврат ЗначениеПоУмолчанию; КонецЕсли;
    НастрокаПоИД = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Настройка.ИдентификаторПользовательскойНастройки);
    Если Не ЗначениеЗаполнено(НастрокаПоИД.Значение) Тогда
    Если Не ЗначениеПоУмолчанию = Неопределено Тогда
    НастрокаПоИД.Значение = ЗначениеПоУмолчанию;
    КонецЕсли;
    КонецЕсли;
    Возврат ?(НастрокаПоИД.Использование, НастрокаПоИД.Значение, ЗначениеПоУмолчанию);
    КонецФункции

    #Область ОбработчикиСобытий

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ

    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    //§
    СтандартнаяОбработка = Ложь;
    ИмяКолонкиИзображения = "Изображение";
    ДокументРезультат.Очистить();

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    //Получаем параметры отчета
    ШиринаКолонкиИзображения = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "ШиринаКолонкиИзображения", 20); //В средних символах

    ПолеИзображения = СхемаКомпоновкиДанных.НаборыДанных.ТоварыНаСкладах.Поля.Найти(ИмяКолонкиИзображения);

    Если Не ПолеИзображения = Неопределено Тогда
    ОформлениеМинимальнойШириныКолонки = СхемаКомпоновкиДанных.НаборыДанных.ТоварыНаСкладах.Поля.Найти(ИмяКолонкиИзображения).Оформление.Элементы.Найти("МинимальнаяШирина");
    ОформлениеМинимальнойШириныКолонки.Использование = Истина;
    ОформлениеМинимальнойШириныКолонки.Значение = ШиринаКолонкиИзображения;
    КонецЕсли;

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

    Для Каждого ЭлементПараметра Из ЭлементРезультата.ЗначенияПараметров Цикл
    Если ТипЗнч(ЭлементПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
    Поля = ДанныеРасшифровки.Элементы[ЭлементПараметра.Значение].ПолучитьПоля();
    Для Каждого Поле Из Поля Цикл
    Если ТипЗнч(Поле.Значение) = Тип("СправочникСсылка.НоменклатураПрисоединенныеФайлы") Тогда
    Если Поле.Значение.Пустая() Тогда Продолжить; КонецЕсли;
    //Поиск номера колонки, с нужным именем ИмяКолонкиИзображения, для таки вывода изображения
    Для НомерКолонки = 1 По ДокументРезультат.ШиринаТаблицы Цикл
    Расшифровка = ДокументРезультат.Область(ДокументРезультат.ВысотаТаблицы, НомерКолонки, ДокументРезультат.ВысотаТаблицы, НомерКолонки).Расшифровка;
    Если Расшифровка = Неопределено Тогда Продолжить; КонецЕсли;
    Поля = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля();
    Если Поля.Найти(ИмяКолонкиИзображения) = Неопределено Тогда Продолжить; КонецЕсли;
    ОбластьИзображения = ДокументРезультат.Область(ДокументРезультат.ВысотаТаблицы, НомерКолонки);
    ВывестиИзображениеЭлементаНоменклатуры(ДокументРезультат, Поле.Значение, ОбластьИзображения, ШиринаКолонкиИзображения);
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;

    ОбщегоНазначенияРТ.ВывестиДатуФормированияОтчета(ДокументРезультат);

    ПроцессорВывода.ЗакончитьВывод();

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

    #КонецОбласти

    //#КонецЕсли
```

При простой модификации варианта отчета, все работало. При добавлении варианта отчета, работать перестало. Подскажите где ошибка?
---
Проблема решена. Решение здесь.
---
Что значит "перестал работать"? Если выдаётся какая-то ошибка, то скрин не помешал бы здесь...
---
Из настроек схему открыть можете? По ней легко можно заметить, где косячит
---
вы про это?
---
Проблема решена. Решение здесь.