Поступил такой вопрос : как добавить колонки с артикулом товара, единицей измерения, кодом по ОКЕИ и весом в отчет "Отчет по клиентам"
Давайте разберемся с этим вопросом :))
Первое и очень важное - ОБЯЗАТЕЛЬНО СОХРАНЯЕМ БАЗУ - смотрим тут, как это сделать: Сохраняем базу
Открываем нашу базу в режиме "Конфигуратор"
Мы попадаем на начало процедуры "Сформировать", а изменения мы будем вносить в конце процедуры, т.ч. можно смело спускаться до самого конца процедуры, т.е. до слов КонецПроцедуры // Сформировать()
Находим чуть выше вот такое место:
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Если ТЗ.Уровень = УровеньДокОплаты Тогда
ТЗ.Количество = 0;
ТЗ.Сумма = 0;
ТЗ.КоличествоПринятое = 0;
ТЗ.СуммаПринятая = 0;
КонецЕсли;
Перед этими строками пишем:
Ур=0;
а после этих строк пишем :
Артикул="";
Ед="";
Код="";
Вес="";
Если Строка(ТЗ.Номенклатура)<>"" Тогда
Артикул=ТЗ.Номенклатура.Артикул;
Ед=ТЗ.Номенклатура.ОсновнаяЕдиница;
Код=ТЗ.Номенклатура.ОсновнаяЕдиница.ОКЕИ.Код;
Вес=ТЗ.Номенклатура.ОсновнаяЕдиница.Вес;
Если Ур=0 Тогда
Ур=ТЗ.Уровень;
Иначе
Если Ур<>ТЗ.Уровень Тогда
Артикул="";
Ед="";
Код="";
Вес="";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Давайте разберемся с этим вопросом :))
Хочу сразу предупредить, что это самый простой вариант.. Возможно кто-то из опытных программистов по 1С скажет, что можно все сделать как-то интереснее, элегантнее и умнее, но.. мой вариант тоже работает :) к тому же для тех, кто не имеет опыта в программировании в 1С такое решение будет легче осуществить :)
Первое и очень важное - ОБЯЗАТЕЛЬНО СОХРАНЯЕМ БАЗУ - смотрим тут, как это сделать: Сохраняем базу
Открываем нашу базу в режиме "Конфигуратор"
Если конфигурация не открыта - открываем по кнопочке (в верхнем левом углу обведена красным кружком) и раскрываем по + "Отчеты". Находим нужный нам отчет "Отчет по клиентам"
Первым делом я всегда добавляю колонки в печатную форму. Идем на вкладку "ОтчетПоКлиентам"
Здесь раздвигаем колонки, как в Excel - выделяем полностью колонку номер 2, нажимаем правую клавишу мыши и выбираем "Раздвинуть"
Повторяем это еще три раза - получаем 4 дополнительные колонки. Теперь, что бы не заморачиваться с оформлением колонок таблицы, просто копируем столбец "Цена". Выделяем (см. на картинке), щелкаем правой клавишей мыши и выбираем "Запомнить"
Становимся на ячейку с названием колонки (см. картинку), щелкаем правой клавишей мыши и выбираем "Вставить" - так делаем 4 раза, т.п. для каждого нового столбца
Вот, что должно получиться:
Переименовываем столбцы таблицы: Артикул, Ед.изм.,Код по ОКЕИ, Вес
Теперь поменяем данные в ячейках столбцов. Кликаем на каждой ячейке правой клавишей мыши и выбираем "Свойства"
И меняем ТЗ.Цена#N019.2 на Артикул (в первом столбце), Ед (во втором столбце), Код (в третьем столбце) и Вес (в четвертом столбце)
Вот что должно получиться:
Переходим на вкладку "Модуль"
По кнопке с биноклем (внизу) вызываем список процедур и функций и выбираем процедуру "Сформировать" (дважды щелкаем на ней мышкой или нажимаем кнопку "Перейти")
Находим чуть выше вот такое место:
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Если ТЗ.Уровень = УровеньДокОплаты Тогда
ТЗ.Количество = 0;
ТЗ.Сумма = 0;
ТЗ.КоличествоПринятое = 0;
ТЗ.СуммаПринятая = 0;
КонецЕсли;
Перед этими строками пишем:
Ур=0;
а после этих строк пишем :
Артикул="";
Ед="";
Код="";
Вес="";
Если Строка(ТЗ.Номенклатура)<>"" Тогда
Артикул=ТЗ.Номенклатура.Артикул;
Ед=ТЗ.Номенклатура.ОсновнаяЕдиница;
Код=ТЗ.Номенклатура.ОсновнаяЕдиница.ОКЕИ.Код;
Вес=ТЗ.Номенклатура.ОсновнаяЕдиница.Вес;
Если Ур=0 Тогда
Ур=ТЗ.Уровень;
Иначе
Если Ур<>ТЗ.Уровень Тогда
Артикул="";
Ед="";
Код="";
Вес="";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Вот как это выглядит
Сохраняем наши изменения - сохраняем базу.
И давайте теперь проверим, что у нас вышло... Открываем базу в режиме "Предприятие", т.е. как обычно, открываем отчет "Отчет по клиентам"
У меня в программе мало данных внесено, т.ч. я не буду ничего выбирать, а просто сразу же нажму кнопочку "Сформировать". Вот, что у нас в отчете получается:
Хочу сразу сказать, что я не "игралась" с отчетом и не проверяла все его варианты (не выбирала данные, не ставила разные галочки..) - вполне возможно, что я могла что-то упустить и в каком-то случае где-то данные в наших столбцах не будут показываться... Если вы заметите что-то такое -пишите в комментария и мы обязательно все разберем и исправим :))
Мариночка! Благодарю Вас от всего сердца! Всё просто и доступно, а главное работает)))Получилось даже лучше, чем я ожидала)) Спасибо!
ОтветитьУдалитьЯна, я рада, что все получилось как надо :)))
ОтветитьУдалить