Добавляем дополнительные колонки в отчет "Отчет по клиентам"

Поступил такой вопрос : как добавить колонки с артикулом товара, единицей измерения, кодом по ОКЕИ и весом в отчет "Отчет по клиентам"

Давайте разберемся с этим вопросом :))
Хочу сразу предупредить, что это самый простой вариант.. Возможно кто-то из опытных программистов по 1С скажет, что можно все сделать как-то интереснее, элегантнее и умнее, но.. мой вариант тоже работает :) к тому же для тех, кто не имеет опыта в программировании в 1С такое решение будет легче осуществить :)

Первое и очень важное - ОБЯЗАТЕЛЬНО СОХРАНЯЕМ БАЗУ - смотрим тут, как это сделать: Сохраняем базу

Открываем нашу базу в режиме "Конфигуратор"

Если конфигурация не открыта - открываем по кнопочке (в верхнем левом углу обведена красным кружком) и раскрываем по + "Отчеты". Находим нужный нам отчет "Отчет по клиентам"

Первым делом я всегда добавляю колонки в печатную форму. Идем на вкладку "ОтчетПоКлиентам"


Здесь раздвигаем колонки, как в Excel - выделяем полностью колонку номер 2, нажимаем правую клавишу мыши и выбираем "Раздвинуть"

Повторяем это еще три раза - получаем 4 дополнительные колонки. Теперь, что бы не заморачиваться с оформлением колонок таблицы, просто копируем столбец "Цена". Выделяем (см. на картинке), щелкаем правой клавишей мыши и выбираем "Запомнить"

Становимся на ячейку с названием колонки (см. картинку), щелкаем правой клавишей мыши и выбираем "Вставить" - так делаем 4 раза, т.п. для каждого нового столбца

 Вот, что должно получиться:

Переименовываем столбцы таблицы: Артикул, Ед.изм.,Код по ОКЕИ, Вес

Теперь поменяем данные в ячейках столбцов. Кликаем на каждой ячейке правой клавишей мыши и выбираем "Свойства"
И меняем ТЗ.Цена#N019.2 на Артикул (в первом столбце), Ед (во втором столбце), Код (в третьем столбце) и Вес (в четвертом столбце)


Вот что должно получиться:

Переходим на вкладку "Модуль"
По кнопке с биноклем (внизу) вызываем список процедур и функций и выбираем процедуру "Сформировать" (дважды щелкаем на ней мышкой или нажимаем кнопку "Перейти")


Мы попадаем на начало процедуры "Сформировать", а изменения мы будем вносить в конце процедуры, т.ч. можно смело спускаться до самого конца процедуры, т.е. до слов КонецПроцедуры // Сформировать() 

Находим чуть выше вот такое место:
ТЗ.ВыбратьСтроки();      
Пока ТЗ.ПолучитьСтроку() = 1  Цикл      
Если ТЗ.Уровень = УровеньДокОплаты Тогда
ТЗ.Количество = 0;
ТЗ.Сумма = 0;
ТЗ.КоличествоПринятое = 0;
ТЗ.СуммаПринятая = 0;

КонецЕсли;  

Перед этими строками пишем:
Ур=0;

а после этих строк пишем :
Артикул="";
Ед="";    
Код="";
Вес="";
Если Строка(ТЗ.Номенклатура)<>"" Тогда  
   Артикул=ТЗ.Номенклатура.Артикул;
Ед=ТЗ.Номенклатура.ОсновнаяЕдиница;
Код=ТЗ.Номенклатура.ОсновнаяЕдиница.ОКЕИ.Код; 
Вес=ТЗ.Номенклатура.ОсновнаяЕдиница.Вес;
Если Ур=0 Тогда 
Ур=ТЗ.Уровень;
Иначе
Если Ур<>ТЗ.Уровень Тогда
Артикул="";
Ед="";
   Код="";
Вес="";
КонецЕсли;
КонецЕсли;
КонецЕсли; 
      
Вот как это выглядит


Сохраняем наши изменения - сохраняем базу. 
И давайте теперь проверим, что у нас вышло... Открываем базу в режиме "Предприятие", т.е. как обычно, открываем отчет "Отчет по клиентам"

У меня в программе мало данных внесено, т.ч. я не буду ничего выбирать, а просто сразу же нажму кнопочку "Сформировать". Вот, что у нас в отчете получается:

Хочу сразу сказать, что я не "игралась" с отчетом и не проверяла все его варианты (не выбирала данные, не ставила разные галочки..) - вполне возможно, что я могла что-то упустить и в каком-то случае где-то данные в наших столбцах не будут показываться... Если вы заметите что-то такое -пишите в комментария и мы обязательно все разберем и исправим :))

2 коммент.:

Яна Александрова комментирует...

Мариночка! Благодарю Вас от всего сердца! Всё просто и доступно, а главное работает)))Получилось даже лучше, чем я ожидала)) Спасибо!

Marina Shulakova комментирует...

Яна, я рада, что все получилось как надо :)))

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...