Сегодня перед нами стоит задача сформировать отчет по остаткам, в котором артикул товаров стоял бы отдельной колонкой.
В 1С 7.7 "Торговля и склад" есть константа, по которой в печатной форме и в подборе товаром артикул печатается/показывается или нет. Но в печатных формах артикул печатается сразу после наименования товаров, что бывает не очень удобно и наглядно.
Сегодня мы чуточку изменим отчет "Остатки ТМЦ" - разделим в нем наименование товара и артикул по разным колонкам.
Для начала посмотрим как выглядит отчет "Остатки ТМЦ"
Итак, открываем нашу программу в режиме "Конфигуратор"
Мы не будем вносить изменения в конфигурацию программы, но если вы давно уже не сохраняли базу или хотите подстраховаться - сохраните базу - сохранение никогда лишним не бывает!
Открываем конфигурацию: "Конфигурация" - "Открыть конфигурацию" (или по кнопочке, выделенной на рисунке)
Находим "Отчеты", раскрываем по "+" и находим нужный нам отчет "ОстаткиТМЦ". Становимся на него, нажимаем правую кнопочку мыши и в появившемся меню выбираем "Сохранить как внешний отчет(обработку)"
Открывается окно для выбора папки, куда будет сохранен отчет - выбираем, задаем имя отчета и нажимаем "Сохранить". Я назвала отчет "ОстаткиТМЦ_артикул_отдельно".
Закрываем конфигурацию - она нам не нужна (конфигуратор остается открытым).
Открываем наш сохраненный отчет через "Файл" - "Открыть"
У меня он открывается в таком виде
У вас он может выглядеть чуть иначе (в отчетах/документах/справочниках часто есть несколько слоев и вид зависит от того, какие слои скрыты, а какие на виду), но очень похоже.
Переходим на вкладку "ОстаткиТМЦ" и сперва изменим печатную форму отчета
Встаем на ячейку с надписью "ПечТекстСтроки" на пересечении колонки "2" и строки "9" с подписью "Строка" и нажимаем кнопочку "-а-" - выделена внизу на рисунке. При наведении курсора на эту кнопочку появляется подсказка "Объединение ячеек". Наша ячейка состоит из 2-х ячеек, при нажатии этой кнопку они разъединятся - мы получим две отдельные колонки для нашего отчета.
Текст остался в первой колонке. Я его копирую во вторую (правая клавиша мыши "Запомнить" - "Вставить"), а затем остается только поменять текст.
В первой колонке у нас будет артикул. Встаем на текст, нажимаем правую клавишу мыши и выбираем "Свойства..". На вкладке "Текст" вместо "ПечТекстСтроки" пишем "ПечАртикул"
а на вкладке "Рамка" ставим правую границу
Нажимаем "ОК" и делаем тоже самое для второй колонки, только вместо "ПечТекстСтроки" ставим "ПечТекстСтроки1"
Теперь переходим на вкладку "Модуль" и внесем небольшие изменения в код отчета. По кнопке с биноклем открываем список функций и процедур и выбираем "Сформировать"
Нужное нам место находится почти в конце процедуры, т.ч. смело спускаемся до слов "Конец процедуры" и выше ищем такой текст:
и под ним пишем следующие строки:ТЗ.ВыбратьСтроки();Пока ТЗ.ПолучитьСтроку() = 1 ЦиклКоличествоНаСкладе = 0;Для Сч = 1 По СписокСкладов.РазмерСписка() ЦиклТекСклад = СписокСкладов.ПолучитьЗначение(Сч);КоличествоНаСкладе = КоличествоНаСкладе + ТЗ.ПолучитьЗначение(ТЗ.НомерСтроки, "Количество" + Сч);КонецЦикла;Если ТЗ.Уровень = МаксимальныйУровень ТогдаЕсли КоличествоНаСкладе = 0 ТогдаПродолжить;КонецЕсли;КонецЕсли;ПечТекстСтроки = ТЗ.ПечТекстСтроки;
//вносим изменения для отдельной колонки артикул
ПечАртикул= ТЗ.ТекРасшифровка.Артикул;
ПечТекстСтроки1=ТЗ.ТекРасшифровка.ПолнНаименование;
//изменения для отдельной колонки артикул
строка, что находится за // и выделяется зеленым цветом - это комментарий и на код программы не влияет. В данном случае я просто отделила свои изменения, что бы их потом было легче найти, если нужно.
Смотрим, как это выглядит:
Сохраняем наш отчет - "Файл" - "Сохранить". Конфигуратор пока не закрываем.
Открываем программу в режиме "Предприятие". Через "Файл" - "Открыть" открываем наш отчет и формируем, что бы посмотреть, что мы тут "натворили"
Вот так выглядит наш отчет с отдельной колонкой для артикула. У меня короткие наименования товаров, но зачастую они бывают гораздо длиннее. Давайте раздвинем эту колонку. Возвращаемся в конфигуратор. Идем на вкладку "ОстаткиТМЦ" и раздвигаем колонку "2" так, как это делается в программе "Excel"
Сохраняем отчет и закрываем. Закрываем конфигуратор.
Теперь давайте перенесем отчет в "Дополнительные возможности" - так нам его будет легче найти в дальнейшем.
Находим на компьютере папку с базой. В ней нам нужна папка с названием "ExtForms" - открываем эту папку и в нее переносим отчет.
Теперь открываем базу в режиме "Предприятие", идем в "Сервис" - "Дополнительные возможности"
В открывшемся окне нажимаем кнопочку "Изменить" и выбираем "Внести в список"
Выбираем наш отчет
и даем ему понятное название
Нажимаем "ОК" и готово
Теперь у нас в дополнительных возможностях появился новый отчет и мы всегда можем им воспользоваться.
Марина, спасибо!!! Получилось всё, как надо!
ОтветитьУдалитьНадеюсь мой пост поможет вас прорекламировать)) Если что добавляйтесь, будем дружить)) https://vk.com/gusevayana?w=wall49533435_1116%2Fall
Марина, в эту же форму можно добавить вес за ед.? Мне нужно будет выгрузить все остатки, в т.ч. нулевые, чтобы у них тоже стоял вес.
ОтветитьУдалитьЯна, смотрите тут https://1ctisprosto.blogspot.ru/2017/12/2.html :)
ОтветитьУдалитьДобрый день, подскажите можно ли не артикул, а код в ОстакиТМЦ сделать
ОтветитьУдалитьМожно, в таблице в шапке ставим "Код", вместо ПечАртикул пишем ПечКод и в модуле ставим вместо :
ОтветитьУдалитьПечАрикул= ТЗ.ТекРасшифровка.Артикул; вот это :
ПечКод= ТЗ.ТекРасшифровка.Код;
Ура все получилось, только я вместо Артикля Код добавил, который программа автоматически присваивает товару!Спасибо Вам большое!!!!
ОтветитьУдалитьОчень рада, что у Вас все получилось :) Значит и я не зря старалась :)
ОтветитьУдалитьЗдравствуйте. Подскажите пожалуйста. Можно ли убрать группировку по группам. Т.е вывести просто в алфавитном порядке всю номенклатуру без разделения на группы.
ОтветитьУдалитьДобрый день! Нет, группировку не убрать просто так, нужно вносить изменения в код отчета. Если нужно - можно рассмотреть этот вариант
ОтветитьУдалитьКак же я вам благодарен за этот материал! Спасибо!
ОтветитьУдалитьШел 2024, а вы помогаете, спасибо большое
ОтветитьУдалить