7.7 Печать документов за период

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем doniel, 14 авг 2010.

  1. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Можно просто меню-файл-открыть
  2. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    При запуске появилась Форма Документа. Можно нажать на печать. Появился документ. Все равно как по кругу. висит 1с.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не висит а входит в цикл обработки....
    В документах в процедуре ПриОткрытии д.б. следующий код:

    Код:
    Процедура ПриОткрытии()
    Парам = Форма.Параметр;
    Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда
    Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда
    Сообщить("В форму документа "+Вид()+" передан неверный параметр!","I");
    СтатусВозврата(0);Возврат;
    КонецЕсли;
    Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда
    КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1);
    ПоКнопкеПечать(1,КолЭкз); 
    СтатусВозврата(0);Возврат;
    ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда
    ПоКнопкеПечать(0); 
    СтатусВозврата(0);Возврат;
    Иначе
    Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I");
    СтатусВозврата(0);Возврат;
    КонецЕсли;
    КонецЕсли;         
    ....
    КонецПроцедуры
    
    
    
  4. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    В ДОКУМЕНТЕ ИМЕЕТСЯ ВОТ ЭТО:
    Процедура ПриОткрытии()

    глПроверкаРазрешенияРедактирования(Контекст);
    Если Форма.ТолькоПросмотр() = 1 Тогда
    Форма.КнопкаЗаписать.Доступность(0);
    Форма.КнопкаОК.Доступность(0);
    Форма.КнопкаПодбор.Доступность(0);
    Форма.КнопкаОчистить.Доступность(0);
    Форма.КнопкаВыбораРасчетногоСчета.Доступность(0);
    КонецЕсли;
    КонтекстФормыПодбора = 0;

    Форма.Товар.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Количество.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Цена.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Сумма.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.НДС.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.НП.ВыполнятьФормулуТолькоПриИзменении(1);

    НачальнаяДатаДокумента = ДатаДок;
    // Форма.НДС.Видимость(глПризнакУчетаНалога(Контекст, "НДС")); //Убрал видимость в Форме - НДС
    // Форма.НП.Видимость(глПризнакУчетаНалога(Контекст, "НП")); //Убрал видимость в Форме - НП
    Форма.ИспользоватьСлой("Плательщик", ?(ВариантОтправки=1,0,1));
    Валюта = Договор.ВалютаДоговора;

    // Заполним таблицу для выбора печатной формы
    НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);

    КонецПроцедуры // ПриОткрытии
    КУДА ВСТАВИТ ЧТОБЫ НЕ СПОРТИТЬ
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Этот код ВСЕГДА должен стоять в самом начале процедуры.
  6. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Поставил и запустил.
    Пошла постоянная обработка документа, без остановки. Выводила один и тот же документ пока не прервал обработку.
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Выложите обработку которую вы запускаете
  8. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    ЭТО В ДОКУМЕНТЕ
    Процедура ПриОткрытии()
    Парам = Форма.Параметр;
    Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда
    Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда
    Сообщить("В форму документа " + Вид()+" передан неверный параметр!","I");
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда
    КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1);
    ПоКнопкеПечать(1,КолЭкз);
    СтатусВозврата(0);
    Возврат;
    ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда
    ПоКнопкеПечать(0);
    СтатусВозврата(0);
    Возврат;
    Иначе
    Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I");
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    КонецЕсли;
    глПроверкаРазрешенияРедактирования(Контекст);
    Если Форма.ТолькоПросмотр() = 1 Тогда
    Форма.КнопкаЗаписать.Доступность(0);
    Форма.КнопкаОК.Доступность(0);
    Форма.КнопкаПодбор.Доступность(0);
    Форма.КнопкаОчистить.Доступность(0);
    Форма.КнопкаВыбораРасчетногоСчета.Доступность(0);
    КонецЕсли;
    КонтекстФормыПодбора = 0;
    Форма.Товар.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Количество.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Цена.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.Сумма.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.НДС.ВыполнятьФормулуТолькоПриИзменении(1);
    Форма.НП.ВыполнятьФормулуТолькоПриИзменении(1);
    НачальнаяДатаДокумента = ДатаДок;
    Форма.ИспользоватьСлой("Плательщик", ?(ВариантОтправки=1,0,1));
    Валюта = Договор.ВалютаДоговора;
    НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);
    КонецПроцедуры // ПриОткрытии
    А ЭТО В ОТЧЕТЕ
    Перем Док; //
    Процедура Сформировать()
    Док= СоздатьОбъект("Документ.Справка");
    СписокПараметров=СоздатьОбъект("СписокЗначений");
    СписокПараметров.Установить("Команда","ПечатьНаПринтер");
    СписокПараметров.Установить("КолЭкз",1);
    Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
    Пока Док.ВыбратьДокументы()=1 Цикл
    Если Док.Вид() <>"Справка" Тогда
    Продолжить;
    КонецЕсли;
    ОткрытьФормуМодально(Док.ТекущийДокумент(),СписокПараметров);
    КонецЦикла;
    КонецПроцедуры
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вы не внимательны. Я просил выложить отработку которую вы запускаете для массовой печати
  10. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Простите это какую?
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Та что "подвешивает" по вашим словам 1с...
  12. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Перем Док; //
    Процедура Сформировать()
    Док= СоздатьОбъект("Документ.Справка");
    СписокПараметров=СоздатьОбъект("СписокЗначений");
    СписокПараметров.Установить("Команда","ПечатьНаПринтер");
    СписокПараметров.Установить("КолЭкз",1);
    Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
    Пока Док.ВыбратьДокументы()=1 Цикл
    Если Док.Вид() <>"Справка" Тогда
    Продолжить;
    КонецЕсли;
    ОткрытьФормуМодально(Док.ТекущийДокумент(),СписокПараметров);
    КонецЦикла;
    КонецПроцедуры
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Такого не может быть... У вас вообще-то печатает из самого документа? Попробуйте заменить ПечатьНаПринтер ПечатьНаЭкран и вы увидите что все формы выведутся на экран поскольку код - правильный
  14. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Код может и правильный. Я поменял на экран, но результат тот же самый. Выводит один и тот же документ без остановки. Как по кругу и не с той даты которая нада.
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Извините, глаз вчера просто "замылился". Вот как надо:
    Код:
    Процедура Сформировать()
    Док= СоздатьОбъект("Документ.Справка");
    СписокПараметров=СоздатьОбъект("СписокЗначений");
    СписокПараметров.Установить("Команда","ПечатьНаПринтер");
    СписокПараметров.Установить("КолЭкз",1);
    Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
    Пока Док.ПолучитьДокумент()=1 Цикл //здесь была ошибка
    Если Док.Вид() <>"Справка" Тогда
    Продолжить;
    КонецЕсли;
    ОткрытьФормуМодально(Док.ТекущийДокумент(),СписокПараметров);
    КонецЦикла;
    КонецПроцедуры
    
    
  16. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Спасибо все заработало.
    Вышло выбранные документы в разных окнах.
    А можно ли, чтобы все выбранные документы вышли бы в одном окне. Чтобы их в одном окне просмотреть и сразу распечатать.
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Для этого придется обработчик печати из документа переносить в обработку отбора документов (та что у нас общими усилиями наконец заработала). Объекты-то (таблица) каждый раз разные))))
  18. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    А это сложно?
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Судя по истории общения с вами думаю постов 10 не меньше)))))))
  20. TopicStarter Overlay
    doniel
    Offline

    doniel Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Тогда с чего начать?
    Надо я понимаю создать новую Обработку документа именно для конкретного документа или воспользоваться старой для всех. В старой есть обработка: Печать реестра(краткая форма), Печать реестра(с коментариями).
Похожие темы
  1. Benjamin
    Ответов:
    2
    Просмотров:
    4.017
  2. Black Cat
    Ответов:
    5
    Просмотров:
    965
  3. Alive
    Ответов:
    9
    Просмотров:
    1.299
  4. doniel
    Ответов:
    3
    Просмотров:
    736
  5. veis-d
    Ответов:
    1
    Просмотров:
    451
Загрузка...

Поделиться этой страницей