×
Показано с 1 по 21 из 21
  1. #1
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25

    Вопрос изменения в конфигурации

    Вопрос: Как сделать новую печатную форму в справочнике "Номенклатура" - форма для подбора, нужно чтобы на печать выходило количество отобранных позиций в "таблице отбора"
    Поделиться с друзьями

  2. #2
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Вопрос, конечно интересный. Вы бы хоть намекнули про версию программы. Если честно, не совсем понятно, что именно Вы хотите печатать. Совет: если Вы не знаете, как делать печатные формы, то лучше пригласить специалиста для этого.

  3. #3
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Я в курсе как делать печатные формы...версия 7.7 торговля*склад...проблема в том что мне необходимо при повторном открытии документа, при добавлении наименований в документ, распечатывать только то что добавлено...

  4. #4
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Откройте в Конфигураторе Справочник Номенклатура, Формы списка, дляПодбора. Там Добавляйте кнопку и в модуле прописывайте процедуру печати для этой кнопки. Добавляете таблицу и в ней рисуете, что Вам надо.

  5. #5
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Нижняя таблица в форме как у Вас называется? Таблица Подбора? Ну вот ее и распечатывайте.

  6. #6
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Вот в модуле вся и заковырка ... невыходит...Добавляю новую кнопку печати распечатывет всю номенклатуру...

  7. #7
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    А что в модуле пишете? Должно быть примерно так:
    таб=создатьобъект("Таблица");
    таб.исходнаяТаблица("Имя"); //где Имя - имя Вашей таблицы
    ТаблицаПодбора.Выбратьстроки();
    пока таблицаподбора.получитьстроку()>0 цикл
    таб.вывестисекцию("Строка");
    конеццикла;
    таб.опции(0,0,0,0);
    таб.показать("","");
    // Строка - это имя секции в таблице "Имя"


    А Вы в кнопке выбрали ту же процедуру печати, что и для всей Номенклатуры?
    Я в курсе как делать печатные формы...
    Я думала это не шутка.

  8. #8
    Клерк-клерик Аватар для Octopus
    Регистрация
    04.12.2008
    Адрес
    Пермь
    Сообщений
    2,187
    Королева$, внимательно посмотите на процедуру ОбработкаПодбора()
    Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной...

  9. #9
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25

    Осторожно

    Таб.ИсходнаяТаблица("ТаблицаПодбора");
    {Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(1512)}: Неверное имя ТаблицаПодбора

  10. #10
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Нет. Там, где исходная таблица Вы указываете не ТаблицуПодбора, а имя Таблицы, кот Вы Новую Должны создать. Чтобы у Вас Закладочка внизу появилась рядом со словами Диалог и Модуль. Если она первая, то она будет Называться "Таблица". Вот это имя "Таблица" и должно быть там. Хотя, просто для Таблица можно строку ИсходнаяТаблица вообще не указывать, сама найдет. Только в Этой таблице еще нужно все нарисовать, что Вам надо и на секции разделить.

  11. #11
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Спасибо за помощь...первый опыт...Печатная форма окрывается...но теперь не заполняет строки выбранные...пишет - "поле агрегатного объекта не обнаружено"...


    помогите ,ПОЖАЛУЙСТА.....

  12. #12
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    поле агрегатного объекта не обнаружено"...
    где именно пишет? И какого объекта конкретно? Всю ошибку озвучьте.

    Еще раз сначала
    Открываете справочник Номенклатура - Формы списка - ДляПодбора. Внизу закладка модуль. Жмете. Вставляете туда процедуру :

    процедура Печать1()
    таб=создатьобъект("Таблица");
    таб.исходнаяТаблица("Таблица1");
    ТаблицаПодбора.Выбратьстроки();
    пока таблицаподбора.получитьстроку()>0 цикл
    таб.вывестисекцию("Строка");
    конеццикла;
    таб.опции(0,0,0,0);
    таб.показать("","");
    конецпроцедуры

    В диалоге вставляем кнопку. Жмем по ней правой кнопкой, открываем Свойства. Закладка Дополнительно. в строке формула пишем печать1()
    Если нет еще таблицы рядом с закладкой Модуль, то по этой закладке правой кнопкой - Добавить таблицу. Добавится таблица с именем Таблица1. Если уже Вы добавили таблицу, то посмотрите, как она назвалась. Если не таблица1, то скорректируйте название в модуле выше.
    Теперь открываете эту таблицу. Там в выбранной Вами ячейке пишете ТаблицаПодбора.Номенклатура , затем делаете ее пошире и жмете правой кнопкой по ней. Выбираете Свойства и на первой закладке Слово Текст заменяете на выражение. Теперь в ячейке рядом с этой пишете ТаблицаПодбора.Количество и тоже слово Текст меняете на выражение. Затем слева жмете по циферке с номером строки, чтобы вся строка с Вашими ячейками выделилась. Внизу есть кнопочка [ жмете. Вводите в открывшемся окошке название секции = Строка. Теперь сохраняете изменения в конфигураторе, заходите в программу. Открываете документ, кн. Подбор, подбираете товар, чтобы в нижней табличке он подобрался и жмете Вашу новую кнопку.

  13. #13
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Все очень даже получилось....большое спасибо...
    Но есть еще один вопрос...как привязать номер документа (например чек ККМ) к номеру печати таблицы подбора, если это вообще возможно...

  14. #14
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Можно через параметр формы. В модуле формы документа ЧекККМ ищете процедуру, кот. указана на кнопке Подбор. В этой процедуре должна быть команда ОткрытьПодбор. Третьим параметром у нее можно передать любое значение или список значений.

    парам=номерДок;
    ОткрытьПодбор("Справочник.Номенклатура","ДляПодбора", парам);

    Если там уже передан список параметров, то посмотрите, как предыдущие параметры в список вносились и добавьте к ним НомерДок.
    Потом это значение доступно в форме подбора Номенклатуры. Ищете в ней процедуру ПриОткрытии и
    НомерДокумента=Форма.Параметр.получить("парам");

    НомерДокумента можно выводить на печать

  15. #15
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Окно с номером есть...но не заполняется...нужно что бы номер чека автоматически заполнялся в номере подбора...

  16. #16
    Клерк
    Регистрация
    02.10.2004
    Сообщений
    284
    программирование по переписке... может быть непредсказуемо долгим... если кто-то из форумчан согласится сюда полный модуль выложить для вас ...

  17. #17
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    мне не нужен весь модуль...просто попросила о помощи...не по каману вызывать программиста...приходиться сомой...а опыта в данном вопросе маловато...

  18. #18
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Окно с номером есть...но не заполняется...нужно что бы номер чека автоматически заполнялся в номере подбора...
    Где есть окно? И что такое номер подбора? Или я не понимаю, что именно Вам нужно, или Вы не поняли мой пост № 14. Там написано, как из Чека передать номер документа в форму подбора.

  19. #19
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25
    Прошу прощения...наверное мы друг друга не так поняли...номер чека ККМ...должен соответствовать...номеру печатной форме о которой мы говорили ранее...все сделала как вы советовали...но не получается...

  20. #20
    Клерк Аватар для Dinchik
    Регистрация
    14.11.2008
    Сообщений
    3,360
    Чтобы поменьше менять:
    Номенклатура - Формы списка - ДляПодбора. Тут самой первой строкой пишете
    Перем НомерДок;
    Теперь ищете процедуру ПриОткрытии()
    В самом ее конце ПЕРЕД строкой КонецПроцедуры //ПриОткрытии()
    пишете:
    м=Найти(ТекстЗаголовка,"№");
    если м>0 тогда
    номердок=сокрлп(прав(ТекстЗаголовка,стрдлина(ТекстЗаголовка)-м));
    конецесли;
    Теперь в таблице1 ищете ячейку, куда хотите вставить номер. Пишете в ней НомерДок. В Свойствах меняете Текст на выражение. Строку с этой ячейкой помещаете в секцию(наприм. "Шапка") и в процедуре печати, кот. Вы ранее делали. Перед циклом всталяете
    Таб.ВывестиСекцию("Шапка");

  21. #21
    Клерк
    Регистрация
    24.07.2006
    Сообщений
    25

    Вверх

    большое человеческое спасибо...все получилось!!!!!!!!!!!

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)