Внешний отчет "Остатки ТМЦ" с отдельной колонкой "Артикул"

Сегодня перед нами стоит задача сформировать отчет по остаткам, в котором артикул товаров стоял бы отдельной колонкой. 
В 1С 7.7 "Торговля и склад" есть константа, по которой в печатной форме и в подборе товаром артикул печатается/показывается или нет. Но в печатных формах артикул печатается сразу после наименования товаров, что бывает не очень удобно и наглядно. 
Сегодня мы чуточку изменим отчет "Остатки ТМЦ" - разделим в нем наименование товара и артикул по разным колонкам.
Для начала посмотрим как выглядит отчет "Остатки ТМЦ"

1С 7.7 Торговля и склад


Итак, открываем нашу программу в режиме "Конфигуратор"
1С 7.7 торговля и склад

Мы не будем вносить изменения в конфигурацию программы, но если вы давно уже не сохраняли базу или хотите подстраховаться - сохраните базу - сохранение никогда лишним не бывает!

Открываем конфигурацию: "Конфигурация" - "Открыть конфигурацию" (или по кнопочке, выделенной на рисунке)
1С 7.7 торговля и склад



Находим "Отчеты", раскрываем по "+" и находим нужный нам отчет "ОстаткиТМЦ". Становимся на него, нажимаем правую кнопочку мыши и в появившемся меню выбираем "Сохранить как внешний отчет(обработку)"
1С 7.7 торговля и склад

Открывается окно для выбора папки, куда будет сохранен отчет - выбираем, задаем имя отчета и нажимаем "Сохранить".  Я назвала отчет "ОстаткиТМЦ_артикул_отдельно".

Закрываем конфигурацию - она нам не нужна (конфигуратор остается открытым).
Открываем наш сохраненный отчет через "Файл" - "Открыть"

1С 7.7 Торговля и склад

У меня он открывается в таком виде
1С 7.7 Торговля и склад
У вас он может выглядеть чуть иначе (в отчетах/документах/справочниках часто есть несколько слоев и вид зависит от того, какие слои скрыты, а какие на виду), но очень похоже.

Переходим на вкладку "ОстаткиТМЦ" и сперва изменим печатную форму отчета

Встаем на ячейку с надписью "ПечТекстСтроки" на пересечении колонки "2" и строки "9" с подписью "Строка" и нажимаем кнопочку  "-а-" - выделена внизу на рисунке. При наведении курсора на эту кнопочку появляется подсказка "Объединение ячеек". Наша ячейка состоит из 2-х ячеек, при нажатии этой кнопку они разъединятся - мы получим две отдельные колонки для нашего отчета.

Текст остался в первой колонке. Я его копирую во вторую (правая клавиша мыши "Запомнить" - "Вставить"), а затем остается только поменять текст.

В первой колонке у нас будет артикул. Встаем на текст, нажимаем правую клавишу мыши и выбираем "Свойства..". На вкладке "Текст" вместо "ПечТекстСтроки" пишем "ПечАртикул"

1С 7.7 Торговля и склад
а на вкладке "Рамка" ставим правую границу
1С 7.7 Торговля и склад
Нажимаем "ОК" и делаем тоже самое для второй колонки, только вместо "ПечТекстСтроки" ставим "ПечТекстСтроки1"
1С 7.7 Торговля и склад

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

//вносим изменения для отдельной колонки артикул
ПечАртикул= ТЗ.ТекРасшифровка.Артикул;
ПечТекстСтроки1=ТЗ.ТекРасшифровка.ПолнНаименование;
//изменения для отдельной колонки артикул

строка, что находится за // и выделяется зеленым цветом - это комментарий и на код программы не влияет. В данном случае я просто отделила свои изменения, что бы их потом было легче найти, если нужно.
Смотрим, как это выглядит:
1С 7.7 Торговля и склад

Сохраняем наш отчет - "Файл" - "Сохранить". Конфигуратор пока не закрываем.

Открываем программу в режиме "Предприятие". Через "Файл" - "Открыть" открываем наш отчет и формируем, что бы посмотреть, что мы тут "натворили"
Вот так выглядит наш отчет с отдельной колонкой для артикула. У меня короткие наименования товаров, но зачастую они бывают гораздо длиннее. Давайте раздвинем эту колонку. Возвращаемся в конфигуратор. Идем на вкладку "ОстаткиТМЦ" и раздвигаем колонку "2" так, как это делается в программе "Excel"


Сохраняем отчет и закрываем. Закрываем конфигуратор.

Теперь давайте перенесем отчет в "Дополнительные возможности" - так нам его будет легче найти в дальнейшем. 
Находим на компьютере папку с базой. В ней нам нужна папка с названием "ExtForms" - открываем эту папку и в нее переносим отчет.
Теперь открываем базу в режиме "Предприятие", идем в "Сервис" - "Дополнительные возможности"
1С 7.7 Торговля и склад

В открывшемся окне нажимаем кнопочку "Изменить" и выбираем "Внести в список"

1С 7.7 Торговля и склад

Выбираем наш отчет
1С 7.7 Торговля и склад

и даем ему понятное название
1С 7.7 Торговля и склад


Нажимаем "ОК" и готово
1С 7.7 Торговля и склад
Теперь у нас в дополнительных возможностях появился новый отчет и мы всегда можем им воспользоваться.

11 комментариев:

  1. Марина, спасибо!!! Получилось всё, как надо!
    Надеюсь мой пост поможет вас прорекламировать)) Если что добавляйтесь, будем дружить)) https://vk.com/gusevayana?w=wall49533435_1116%2Fall

    ОтветитьУдалить
  2. Марина, в эту же форму можно добавить вес за ед.? Мне нужно будет выгрузить все остатки, в т.ч. нулевые, чтобы у них тоже стоял вес.

    ОтветитьУдалить
  3. Яна, смотрите тут https://1ctisprosto.blogspot.ru/2017/12/2.html :)

    ОтветитьУдалить
  4. Добрый день, подскажите можно ли не артикул, а код в ОстакиТМЦ сделать

    ОтветитьУдалить
  5. Можно, в таблице в шапке ставим "Код", вместо ПечАртикул пишем ПечКод и в модуле ставим вместо :
    ПечАрикул= ТЗ.ТекРасшифровка.Артикул; вот это :
    ПечКод= ТЗ.ТекРасшифровка.Код;

    ОтветитьУдалить
  6. Ура все получилось, только я вместо Артикля Код добавил, который программа автоматически присваивает товару!Спасибо Вам большое!!!!

    ОтветитьУдалить
  7. Очень рада, что у Вас все получилось :) Значит и я не зря старалась :)

    ОтветитьУдалить
  8. Здравствуйте. Подскажите пожалуйста. Можно ли убрать группировку по группам. Т.е вывести просто в алфавитном порядке всю номенклатуру без разделения на группы.

    ОтветитьУдалить
  9. Добрый день! Нет, группировку не убрать просто так, нужно вносить изменения в код отчета. Если нужно - можно рассмотреть этот вариант

    ОтветитьУдалить
  10. Как же я вам благодарен за этот материал! Спасибо!

    ОтветитьУдалить
  11. Шел 2024, а вы помогаете, спасибо большое

    ОтветитьУдалить