Сергей

78
Рейтинг

UrbSI



  •   Регистрация: 15.07.2008 (15 лет назад)

  •   Был(а) на сайте: 12.12.2022

Подписчики 2

Группы

Профессиональный разработчик

Рейтинг 78

Пакетная печать документов

Отчеты и формы Для всех Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free) Внешняя обработка (ert,epf) Пакетная печать

Пакетная печать документов. Ограничение версии - печать только при помощи зарегистрированных внешних печатных форм

25.11.2008    48902    851    UrbSI    17       

32

Очистка периодических реквизитов справочников

Инструменты и обработки Для всех Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Windows Бесплатно (free) Внешняя обработка (ert,epf) Чистка данных

Данная обработка предназначена для вывода в таблицу более поздних повторяющихся или "пустых" значений периодических реквизитов справочников для просмотра, анализа и последующего удаления «лишних» значений.

15.07.2008    31918    1462    UrbSI    10       

46

Комментарии

ТорговляПакетная печать документов#11 24.11.10 13:23
Попытаюсь ответить на заданные вопросы.
1. Внешние печатные формы обычно находятся в каталоге КаталогИБ()\ExtForms\PrnForms.

2. Внешние печатные формы регистрируются для соответствующих документов в меню "Сервис - Регистрация внешних печатных форм".

3. Если программист 1С создает новую внешнюю печатную форму, то он ДОЛЖЕН придерживаться определенных стандартов и правил. В частности, процедура Печать() должна выглядеть примерно так:
Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
// текст процедуры
Если Устройство = 0 тогда
// текст процедуры
Иначе
ИсхТабл.ПараметрыСтраницы(,,,,,,,,,1,,);
ИсхТабл.КоличествоЭкземпляров(КолвоКопий);
ИсхТабл.Напечатать(0);
КонецЕсли;
КонецПроцедуры
Т.е. обязательно должно быть описано действия процедуры при передаче в нее параметра "Устройство". Если этого не сделано, то в любом случае, даже если Вы установите в обработке переключатель "Сразу на принтер", печатная форма будет не печататься, а открываться в режиме предварительного просмотра.
HighLoadСтатистика информационной базы для 1С:Предприятие 7.7#7 17.12.09 10:13
Не работает для подчиненных справочников, например для договоров взаиморасчетов. Но плюс всё же поставил. ;)

Для устанения ошибки предлагаю в процедуре "ПодсчетСправочников(Таб)" заменить
"Спр.ВыбратьЭлементы();" на
"Спр.ВыбратьЭлементы(0);".
ОбменВыбор цвета в ячейке Excel#29 14.10.09 14:14
Хех. А мне кажется, что проще в 1С-ке заполнить табличную часть отчета(документа), затем, воспользовавшись атрибутами и методами области таблицы, раскрасить ее, а потом уж через меню "файл-сохранить как" сохранить как файл в формате еxcel. И будет красочно и красиво. :D
ТорговляПакетная печать документов#7 28.11.08 9:40
Убрал ссылку на функцию глНайтиВнешнююПечФорму(). Сейчас в тексте модуля обработки ТОЛЬКО стандартные методы и функции 1С
ТорговляПакетная печать документов#2 25.11.08 14:22
to 1. Не претендую на новизну. :). глНайтиВнешнююПечФорму есть и в предложенной Вами разработке. У меня же больше функционала + возможности отобрать документы для печати
ТорговляПакетная печать документов#0 25.11.08 14:01
Пакетная печать документов. Ограничение версии - печать только при помощи зарегистрированных внешних печатных форм
DevНужна цена товара входа в ведомости по остаткам ТМЦ#13 16.07.08 11:24
Ежели нужно оперативно, то предлагаю на форму списка Номенклатуры бросить кнёпочку, в ее свойстве «формула» написать «ПоКнПолучитьЦеныЗакупки()», а в тело модуля добавить:
//==========================================================­==========
Процедура ПоКнПолучитьЦеныЗакупки()
Перем Запрос;
ОчиститьОкноСообщений();
Запрос = СоздатьОбъект("Запрос");
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ВыбКонПериода = ПолучитьДатуТА();
ВыбНачПериода = НачГода(ВыбКонПериода);
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Док = Документ.ПоступлениеТМЦ.ТекущийДокумент;
|Дат = Документ.ПоступлениеТМЦ.ТекущийДокумент.ДатаДок;
|Номенклатура = Документ.ПоступлениеТМЦ.Номенклатура;
|Цена = Документ.ПоступлениеТМЦ.Цена;
|Группировка Док Упорядочить по Док.ДатаДок;
|Без Итогов;
|Функция Цен = Минимум(Цена);
|Функция ДатДок = Минимум(Дат);
|Условие(Номенклатура = ТекущийЭлемент());
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Запрос.Выгрузить(ТЗ);
ТЗ.Сортировать("-ДатДок");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Док = ТЗ.Док;
Контрагент = Док.Контрагент;
Вал = Док.Валюта;
Цена = ТЗ.Цен;
Сообщить(Строка(Док.ДатаДок)+" - "+ТекущийЭлемент().Наименование+
" - "+ глФРМ(Цена)+" "+Строка(Вал)
+" - "+ Контрагент.Наименование+" - накладная № "+Док.НомерДок);
КонецЦикла;
КонецПроцедуры
//==========================================================­==========
В итоге по нажатию этой кнЁпочки в окне сообщений по текущему товару появится желаемое:
11/07/08 - Nokia N95 - 10000руб - евросеть - накладная 123
09/07/08 - Nokia N95 - 12000руб - связной - накладная 356
30/06/08 - Nokia N95 - 9000руб - диксис - накладная 787
25/05/08 - Nokia N95 - 15000руб - эльдорадо - накладная 523

ЗЫ. Это при условии, что у Вас закупка товара производится через документ «ПоступлениеТМЦ»!!!
HighLoadОчистка периодических реквизитов справочников#2 16.07.08 9:32
В 1С для хранения ВСЕХ периодических реквизитов ВСЕХ справочников и констант используется только ОДНА таблица 1SCONST.DBF. Соответственно, если эта таблица будет заполнена различным "мусором", то на считывание из нее нужных данных будет требоваться больше времени. Поэтому чистка периодических реквизитов нужна в первую очередь для ускорения работы.
HighLoadОчистка периодических реквизитов справочников#0 16.07.08 9:12
Данная обработка предназначена для вывода в таблицу более поздних повторяющихся или "пустых" значений периодических реквизитов справочников для просмотра, анализа и последующего удаления «лишних» значений.