Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Подскажите как в печатной форме накладной вывести на печать код товара?

Alexandr VA
читатель
офлайн
Дата регистрации: 07.01.2007
Сообщений: 1666
Пост №11
 
01.03.2008 20:50

> Не в табличную, а в печатную!<br> <br>Как написали, так и понял: "находите документ". Нафига? В ТиС достаточно создать и зарегистрировать внешнюю печатную форму. Это удобно. <br>Конфигурацию ради этого ковырять НЕЗАЧЕМ!<br>

Alexandr VA
читатель
офлайн
Дата регистрации: 07.01.2007
Сообщений: 1666
Пост №12
 
01.03.2008 20:55

<br>> Хм?.. Странные выводы о моей квалификации и последствиях на основании столь немногочисленной информации. <br><br>А вот этого:<br><br>> Тем более что когда конфигурация сильно изменена (а иначе если организация работает и развивается и быть не может)<br><br>более чем достаточно, чтобы судить о Вашей квалификации.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №13
 
02.03.2008 10:34

"Делюсь опытом (я не жадный). Писать буду много, так что потерпите.<br>В большинстве документов, которыми вы пользуетесь при работе, имеется кнопка "Печать", рядом с которой имеется кнопочка со стрелкой. Это так называемый "выбор печатной формы". То есть, каждый док может быть выведен на печать в разных вариантах, в том числе и в каких то, которые мы придумаем сами. Механизм следующий: когда пользователь открывает документ, система собирает список печатных форм, которые могут быть из него напечатаны.<br>Пример:<br>Зайдем в конфигуратор, найдем в дереве конфигурации документ Реализация. Двойной клик на нем и жмем кнопку "Форма". Внизу выбираем закладку "Модуль". Смотрим в самый низ модуля:<br><br>ТаблицаПечФорм = СоздатьОбъект("ТаблицаЗначений");<br>ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);<br>ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);<br>ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10); <br>ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");<br> <br>// добавим информацию о встроенной форме<br>ТаблицаПечФорм.НоваяСтрока();<br>ТаблицаПечФорм.Название = "Печатная форма ТОРГ-12 (с услугами)";<br>ТаблицаПечФорм.Кнопка       = "ТОРГ-12 ус";<br><br>ТаблицаПечФорм.НоваяСтрока();<br>ТаблицаПечФорм.Название = "Печатная форма ТОРГ-12";<br>ТаблицаПечФорм.Кнопка       = "ТОРГ-12";<br><br>Мы видим, что создается некая таблица, в которую сразу добавляется две строки, одна - описание первого способа печати "Печатная форма ТОРГ-12 (с услугами)", вторая - описание второго способа печати "Печатная форма ТОРГ-12".<br><br>Теперь заглянем в процедуру ПоКнопкеПечать(). В ней имеется такая конструкция:<br>Если НомерТекущейФормы = 1 Тогда<br> Печать(СразуНаПринтер, КолЭкз);<br>ИначеЕсли НомерТекущейФормы = 2 Тогда<br> Печать(СразуНаПринтер, КолЭкз, 1);<br>Иначе<br> Параметры = СоздатьОбъект("СписокЗначений");<br> Параметры.ДобавитьЗначение(?((Модифицированность()=0) и (ПустоеЗначение(ТекущийДокумент())=0), ТекущийДокумент(), глВзятьКонтекст(Контекст)), "Контекст");<br> Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");<br> Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");<br> <br> ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));<br>КонецЕсли;<br><br>То есть, написано что, если идет печать с номером печатной формы 1 ("Печатная форма ТОРГ-12 (с услугами)"), то стартует процедура Печать(), а если с номером 2 ("Печатная форма ТОРГ-12"), то вызывается та же процедура Печать(), но с третьим аргументом = 1, что означает печать без услуг. Кроме того, важный момент! Имеется еще продолжение алгоритма, где стоит "Иначе... Параметры=...". Это вызов внешней обработки, размещенной обычно в "Каталог ИБ\ExtForms\PrnForms\". Эти внешние обработки как раз и вызываются при печати того обилия вариантов, которые мы видим в документе при работе пользователя, нажимая "кнопочку со стрелкой", которую я назвал "выбор печатной формы".<br><br>Итак, первое, с чем мы должны определиться, в какой именно печатной форме мы хотим увидеть код товара. Вы пишите, что в "накладной на отпуск товара". Вот если я нажимаю в документе кнопку выбора печатной формы, я не вижу там ни одной строки, которая напрямую так бы называлась! Это ваша промашка. Вы когда вопрос писали, надо было четко указать что за печатную форму вы имеете ввиду. По смыслу этих накладных на отпуск там штук 5, с выбором ГТД, с выбором грузополучателя и т.п. Какую же нам править???<br>Раз вы это не написали, будем рассматривать все варианты (а их 2 всего).<br>1. Пусть мы хотим добавить вывод кода товара в печатную форму, которая в программе идентифицируется номером 1 или 2, то есть либо "Печатная форма ТОРГ-12 (с услугами)" либо "Печатная форма ТОРГ-12".<br>Смотрим снова алгоритм. Как мы выяснили, для этих двух форм вызывается общая процедура Печать(). Смотрим ее. В самом ее начале видим ПечТабл.ИсходнаяТаблица("ТОРГ12");<br>Маленькое отступление - обратите внимание на то, что очень часто применяется такая штука (кусок алгоритма "с потолка", просто для примера):<br>Таб = СоздатьОбъект("Таблица");<br>ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\1cbt-12.mxl";<br>Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда<br> Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);<br>Иначе<br> Таб.ИсходнаяТаблица("ТОРГ-12");<br>КонецЕсли;<br>То есть, проверяется, имеется ли в наличии внешний макет, который используется для нашей печатной формы. Если да, то далее править мы будем именно его (просто открываем файл КаталогИБ()+"ExtForms\PrnForms\1cbt-12.mxl" через конфигуратор и вперед), если нет (как это в нашем примере), то... читаем дальше, в общем :)<br>Итак, мы выяснили, глядя на ПечТабл.ИсходнаяТаблица("ТОРГ12"), что для печати используется макет с идентификатором "ТОРГ12". Смотрим прямо в этом документе, а нет ли у нас помимо закладок внизу ("Диалог", "Модуль", ...) закладки с макетом ТОРГ12. Если есть, то будем исправляет его, если нет, то это означает, что макет размещен в коллекции "Общие таблицы". Переходим в окошко, в котором нарисовано дерево конфигурации. Жмем там правой кнопкой мышки на самой верхней ветке дерева (на название "Торговля+Склад, редакция 9.2") и выбираем из контекстного меню "Общие таблицы". Ищем там нужную нам ТОРГ-12. Видим, что в ней имеется ячейка в колонке "Код", в которую 1С ничего не заполняет. Возможно, что вы свой код товара в нее и хотите написать. А может не в нее? А куда? Вы в своем вопросе тоже это не указали. Поэтому я буду писать в нее, а вы как хотите :). Итак, жмем правой кнопкой мышки на нужной ячейке макета (у меня в релизе 7.70.946 это колонка №5, строка №20) и выбираем свойства. Указываем:<br>Тип = Выражение<br>в поле текста вводим = Номенклатура.Код (или Номенклатура.Артикул, как хотите).<br>Контроль = Переносить<br>Положение (на второй закладке) = как хотите, я указал, "лево + верх"<br>Обращаем внимание на то, что в макете не одна такая ячейка, а имеется еще одна в секции "Строка_НП", и если подойти строго, то и туда надо вписать такую же штуку, но НП (Налог с продаж) давно вымер (и это здорово :)), поэтому ничего не будем в нее писать.<br>Сохраняемся, тестируем. У меня все получилось.<br>2. Предположим, что форма, в которой мы хотим увидеть код товара не "Печатная форма ТОРГ-12 (с услугами)" и не "Печатная форма ТОРГ-12". То есть, нужная нам форма является внешней и не находится внутри файла конфигурации 1cv7.md. Определяемся с тем, а где же она находится??! Пусть, нужная нам форма при нажатии кнопки выбора печатной формы называется "Печатная форма ТОРГ-12 с выбором грузополучателя". Запускаем программу в обычном режиме работы (в режиме не конфигуратора, а именно работы, его 1С называет режим "1С:Предприятие"). Смотрим в меню: сервис-регистрация внешних печатных форм. Указываем, что нас интересует документ "Реализация" и в таблице видим, что для варианта "Печатная форма ТОРГ-12 с выбором грузополучателя" используется файл TORG12.ert. Снова возвращаемся в конфигуратор и из него меню: Файл-открыть и указываем на файл, имя которого мы только что узнали, а именно: Каталог ИБ\ExtForms\PrnForms\TORG12.ert<br>Откроется окошко, в котором будет внизу закладка Таблица, жмем на нее и видим, что смотрим в такой же макет печатной формы. В нужную ячейку вписываем:<br>Тип = Выражение<br>в поле текста вводим = ПечТовар.Код (или ПечТовар.Артикул, как хотите).<br>Контроль = Переносить<br>Сохраняемся, тестируем. У меня все получилось.<br><br>Теперь ВАЖНОЕ замечание.<br>Делая такие штуки мы (вы) должны понимать, что делаете изменение конфигурации, тем самым усложняете процесс ее дальнейшего обновления. Это, конечно, очень незначительное изменение, но сам принцип приводит к тому, что я как бы "сказал - а... меняйте все подряд, делайте что угодно". Это не совсем корректный подход. В данной ситуации наиболее верный способ решения задачи - сделать еще одну (!) внешнюю обработку помимо существующих, которая станет выводить все так же как и стандартная, но с вашим кодом товара. Это позволит и обновляться не думая о том, что сделанные изменения пропадут и иметь то, что хочется. В противном же случае, придется каждый раз после обновления вносить в конфигурацию или внешний файл эти изменения, либо подготавливать соответствующим образом файл обновления и только потом на него обновляться. Но с другой стороны, надо сказать, что верный способ решения (новая внешняя обработка) хоть и верный, но вот лично для меня неудобный. Я никогда так не делаю, потому что если создавать внешние обработки на каждое желание, их будет столько, что когда форма вдруг изменится, замучаешься их переделывать. В общем, выбирайте сами способ решения задачи :)"

Иван Геннадьевич
читатель
офлайн
Дата регистрации: 26.04.2007
Сообщений: 262
Пост №14
 
02.03.2008 14:22

А мне вашим мелочных придирок чтобы о вашей. Когда собаке делать нечего - она яйца лижет. Далее продолжать дискуссию не намерен.

FreeXer
читатель
офлайн
Дата регистрации: 06.07.2007
Сообщений: 238
Пост №15
 
02.03.2008 18:27

"=) А еще есть в конфигурации общая таблица "Торг-12" =) <br><br>Зачем? Если есть внешняя обработка???<br><br>;)<br>"

Uliks
читатель
офлайн
Дата регистрации: 02.05.2007
Сообщений: 21
Пост №16
 
06.03.2008 09:15

СПАСИБО!!! Обязательно попробую))

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация