Вопрос: Как сделать новую печатную форму в справочнике "Номенклатура" - форма для подбора, нужно чтобы на печать выходило количество отобранных позиций в "таблице отбора"
Вопрос: Как сделать новую печатную форму в справочнике "Номенклатура" - форма для подбора, нужно чтобы на печать выходило количество отобранных позиций в "таблице отбора"
Вопрос, конечно интересный. Вы бы хоть намекнули про версию программы. Если честно, не совсем понятно, что именно Вы хотите печатать. Совет: если Вы не знаете, как делать печатные формы, то лучше пригласить специалиста для этого.
Я в курсе как делать печатные формы...версия 7.7 торговля*склад...проблема в том что мне необходимо при повторном открытии документа, при добавлении наименований в документ, распечатывать только то что добавлено...
Откройте в Конфигураторе Справочник Номенклатура, Формы списка, дляПодбора. Там Добавляйте кнопку и в модуле прописывайте процедуру печати для этой кнопки. Добавляете таблицу и в ней рисуете, что Вам надо.
Нижняя таблица в форме как у Вас называется? Таблица Подбора? Ну вот ее и распечатывайте.
Вот в модуле вся и заковырка ... невыходит...Добавляю новую кнопку печати распечатывет всю номенклатуру...
А что в модуле пишете? Должно быть примерно так:
таб=создатьобъект("Таблица");
таб.исходнаяТаблица("Имя"); //где Имя - имя Вашей таблицы
ТаблицаПодбора.Выбратьстроки();
пока таблицаподбора.получитьстроку()>0 цикл
таб.вывестисекцию("Строка");
конеццикла;
таб.опции(0,0,0,0);
таб.показать("","");
// Строка - это имя секции в таблице "Имя"
А Вы в кнопке выбрали ту же процедуру печати, что и для всей Номенклатуры?
Я думала это не шутка.Я в курсе как делать печатные формы...![]()
Королева$, внимательно посмотите на процедуру ОбработкаПодбора()
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной...
Таб.ИсходнаяТаблица("ТаблицаПодбора");
{Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(1512)}: Неверное имя ТаблицаПодбора
Нет. Там, где исходная таблица Вы указываете не ТаблицуПодбора, а имя Таблицы, кот Вы Новую Должны создать. Чтобы у Вас Закладочка внизу появилась рядом со словами Диалог и Модуль. Если она первая, то она будет Называться "Таблица". Вот это имя "Таблица" и должно быть там. Хотя, просто для Таблица можно строку ИсходнаяТаблица вообще не указывать, сама найдет. Только в Этой таблице еще нужно все нарисовать, что Вам надо и на секции разделить.
Спасибо за помощь...первый опыт...Печатная форма окрывается...но теперь не заполняет строки выбранные...пишет - "поле агрегатного объекта не обнаружено"...
помогите ,ПОЖАЛУЙСТА.....![]()
где именно пишет? И какого объекта конкретно? Всю ошибку озвучьте.поле агрегатного объекта не обнаружено"...
Еще раз сначала
Открываете справочник Номенклатура - Формы списка - ДляПодбора. Внизу закладка модуль. Жмете. Вставляете туда процедуру :
процедура Печать1()
таб=создатьобъект("Таблица");
таб.исходнаяТаблица("Таблица1");
ТаблицаПодбора.Выбратьстроки();
пока таблицаподбора.получитьстроку()>0 цикл
таб.вывестисекцию("Строка");
конеццикла;
таб.опции(0,0,0,0);
таб.показать("","");
конецпроцедуры
В диалоге вставляем кнопку. Жмем по ней правой кнопкой, открываем Свойства. Закладка Дополнительно. в строке формула пишем печать1()
Если нет еще таблицы рядом с закладкой Модуль, то по этой закладке правой кнопкой - Добавить таблицу. Добавится таблица с именем Таблица1. Если уже Вы добавили таблицу, то посмотрите, как она назвалась. Если не таблица1, то скорректируйте название в модуле выше.
Теперь открываете эту таблицу. Там в выбранной Вами ячейке пишете ТаблицаПодбора.Номенклатура , затем делаете ее пошире и жмете правой кнопкой по ней. Выбираете Свойства и на первой закладке Слово Текст заменяете на выражение. Теперь в ячейке рядом с этой пишете ТаблицаПодбора.Количество и тоже слово Текст меняете на выражение. Затем слева жмете по циферке с номером строки, чтобы вся строка с Вашими ячейками выделилась. Внизу есть кнопочка [ жмете. Вводите в открывшемся окошке название секции = Строка. Теперь сохраняете изменения в конфигураторе, заходите в программу. Открываете документ, кн. Подбор, подбираете товар, чтобы в нижней табличке он подобрался и жмете Вашу новую кнопку.
Все очень даже получилось....большое спасибо...
Но есть еще один вопрос...как привязать номер документа (например чек ККМ) к номеру печати таблицы подбора, если это вообще возможно...
Можно через параметр формы. В модуле формы документа ЧекККМ ищете процедуру, кот. указана на кнопке Подбор. В этой процедуре должна быть команда ОткрытьПодбор. Третьим параметром у нее можно передать любое значение или список значений.
парам=номерДок;
ОткрытьПодбор("Справочник.Номенклатура","ДляПодбора", парам);
Если там уже передан список параметров, то посмотрите, как предыдущие параметры в список вносились и добавьте к ним НомерДок.
Потом это значение доступно в форме подбора Номенклатуры. Ищете в ней процедуру ПриОткрытии и
НомерДокумента=Форма.Параметр.получить("парам");
НомерДокумента можно выводить на печать
Окно с номером есть...но не заполняется...нужно что бы номер чека автоматически заполнялся в номере подбора...
программирование по переписке... может быть непредсказуемо долгим... если кто-то из форумчан согласится сюда полный модуль выложить для вас ...![]()
мне не нужен весь модуль...просто попросила о помощи...не по каману вызывать программиста...приходиться сомой...а опыта в данном вопросе маловато...![]()
Где есть окно? И что такое номер подбора? Или я не понимаю, что именно Вам нужно, или Вы не поняли мой пост № 14. Там написано, как из Чека передать номер документа в форму подбора.Окно с номером есть...но не заполняется...нужно что бы номер чека автоматически заполнялся в номере подбора...
Прошу прощения...наверное мы друг друга не так поняли...номер чека ККМ...должен соответствовать...номеру печатной форме о которой мы говорили ранее...все сделала как вы советовали...но не получается...![]()
Чтобы поменьше менять:
Номенклатура - Формы списка - ДляПодбора. Тут самой первой строкой пишете
Теперь ищете процедуру ПриОткрытии()Перем НомерДок;
В самом ее конце ПЕРЕД строкой КонецПроцедуры //ПриОткрытии()
пишете:
Теперь в таблице1 ищете ячейку, куда хотите вставить номер. Пишете в ней НомерДок. В Свойствах меняете Текст на выражение. Строку с этой ячейкой помещаете в секцию(наприм. "Шапка") и в процедуре печати, кот. Вы ранее делали. Перед циклом всталяетем=Найти(ТекстЗаголовка,"№");
если м>0 тогда
номердок=сокрлп(прав(ТекстЗаголовка,стрдлина(ТекстЗаголовка)-м));
конецесли;
Таб.ВывестиСекцию("Шапка");
большое человеческое спасибо...все получилось!!!!!!!!!!!![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)