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

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

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

Помогите с созданием запроса. (1С предприятие v 7.7 конфигурация торговля и склад)

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №1
 
10.12.2009 09:26

Я в этом деле ещё новичок, прошу простить.<br>Я сделал печатную форму документа, но в ней нужно самим вбивать номер платёжно-расчётного документа.<br>Но сотрудники в люболи случае будут забывать это делать, и я хотел бы создать несложный запрос, который бы возникал перед созданием документа для печати, в котором нужно было бы ввести этот номер и дату.<br>Можете мне в этом помочь, хотябы определить направление...<br><br><br>На курсы обучения пойду, но они будут не скоро, т.к. 7.7 теперь не в моде :(<br>Заранее благодарен за любую помощь...

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №2
 
10.12.2009 09:28

Печатная форма не внешняя, база самописная. (Был хорошй программер до меня)

maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №3
 
10.12.2009 09:45

"В процеруре печать() или как она у вас там назывется<br>ВвестиСтроку(<?>,,)<br>Синтаксис:<br>ВвестиСтроку(<Строка>,<Подсказка>,<ДлинаСтроки>,<Признак>,<Таймаут>)<br>Назначение:<br>Вызов диалога для ввода строки.<br>Возвращает:<br>1 - если в диалоге нажата кнопка ОК;<br>0 - если нажата кнопка Отмена;<br>-1 - если закончилось время ожидания ответа.<br>Параметры:<br><Строка> - имя переменной, объявленной в модуле для приема вводимого значения;<br><Подсказка> - текст заголовка окна диалога ввода;<br><ДлинаСтроки> - длина вводимой строки;<br><Признак> - если 0 или опущен - ввод одной строки, если 1 - ввод многострочного текста с разделителями строк;<br><Таймаут> - число секунд времени ожидания "

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
10.12.2009 09:51

"Печатная форма", которую Вы сделали это просто таблица нарисованная или Вы еще процедуру по выводу на печать сделали? Если есть процедура, то выложите ее код (а так же не плохо бы сообщить откуда она вызывается).

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №5
 
10.12.2009 10:04

"Процедура ПечатьСФАВ()<br> глСнись("Документ",вид(),ТекущийДокумент(),Перечисление.Действия.Печать,,"СчетФактура");<br><br> Если ПустоеЗначение(ПодписьТип)=1 тогда<br> Предупреждение("Печать выполняется только для подписаных документов !");<br> Статусвозврата(0);<br> Возврат;<br> КонецЕсли; <br><br> ПечКлиент = Контрагент.ТекущийЭлемент();<br> ПечКлиент.ИспользоватьДату(ДатаДок);<br> ПечФирма = Фирма.ТекущийЭлемент();<br> ПечФирма.ИспользоватьДату(ДатаДок);<br><br> ОткрытьФормуМодально("Отчет.ВыборПодписейПоДоверенности"+"#",); <br> Если ПустоеЗначение(глПоДоверДир)=0 Тогда<br> печПоДоверДир=глИнициалы(глПоДоверДир.Сотрудник);<br> печПоДоверДир1=глПоДоверДир.Наименование;<br> Иначе<br> печПоДоверДир=ПечФирма.Руководитель;<br> печПоДоверДир1="      ФИО      ";<br> КонецЕсли; <br> Если ПустоеЗначение(глПоДоверБух)=0 Тогда<br> печПоДоверБух=глИнициалы(глПоДоверБух.Сотрудник);<br> печПоДоверБух1=глПоДоверБух.Наименование;<br> Иначе<br> печПоДоверБух=глИнициалы(ПечФирма.ГлБухгалтер);<br> печПоДоверБух1="      ФИО      ";<br> КонецЕсли; <br><br> Таб=СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("СФАВ");<br><br> СтрОрганизация=""""; СтрБанк=""""; РасчСчет=""""; БИК=""""; КоррСчет="""";<br> глПлатежныеРеквизиты(РасчетныйСчет, СтрОрганизация, СтрБанк, РасчСчет, БИК, КоррСчет, ДатаДок);<br><br> <br> печАттрибФил1="""";<br> печАттрибФил2="""";<br> Если Филиал.Выбран()=1 тогда<br> печАттрибФил1=сокрлп(филиал.Аттрибуты);<br> печАттрибФил2=сокрлп(филиал.Телефоны);<br> конецЕсли;<br> <br> Если (Фирма.Логотип=1) Тогда<br> Таб.ВывестиСекцию("Рис");<br> Иначе<br> Таб.ВывестиСекцию("БезРис");<br> КонецЕсли; <br><br> Если стрДлина(сокрлп(ПечФирма.КПП))=0 тогда<br> ПечИННПоставщика=Шаблон("[ПечФирма.ИНН]");<br> Иначе<br> ПечИННПоставщика=Шаблон("[ПечФирма.ИНН]/[ПечФирма.КПП]");<br> конецесли; <br> Если стрДлина(сокрлп(ПечКлиент.КПП))=0 тогда<br> ПечИННПокупателя=Шаблон("[ПечКлиент.ИНН]");<br> Иначе<br> ПечИННПокупателя=Шаблон("[ПечКлиент.ИНН]/[ПечКлиент.КПП]");<br> конецесли; <br> <br> Если стрдлина(сокрлп(ПлПор))=0 тогда<br>!!!!!!! печПП="№       от";<br> иначе <br> печПП=сокрлп(ПлПор);<br> конецесли; <br> <br> <br> <br> Таб.ВывестиСекцию("Шапка");<br> ВыбратьСтроки();<br> ПовторТовара = ПолучитьПустоеЗначение("Справочник.Номенклатура");<br> ИтогСумма=0;<br> ИтогСуммаНДС=0;<br> ИтогбезНДС=0;<br><br> Пока ПолучитьСтроку() = 1 Цикл<br> <br> печтовар=сокрлп(Товар.Наименование);<br><br> Если ПустоеЗначение(ГТД)=0 Тогда<br> печстрана=сокрлп(ГТД.СтранаПроисхождения);<br> печГТД=сокрлп(ГТД.Наименование);<br> Иначе<br> печстрана="""";<br> печГТД="""";<br> КонецЕсли;<br><br> Если Товар.Выбран()=1 Тогда<br> Если Товар.ТипУчетаТовара=Перечисление.ТипыУчетаТовара.Штучный тогда<br> печКоличество=Количество;<br> печЕИ=ЕИКоличества.ник;<br> иначе<br> // по ум весовой<br> печКоличество=Вес;<br> печЕИ=ЕИвеса.ник;<br> КонецЕсли;<br> Иначе<br> // по ум весовой<br> печКоличество=Вес;<br> печЕИ=ЕИвеса.ник;<br> КонецЕсли;<br> <br> печСумма=Формат(Сумма,"Ч15.2");<br> ПечСуммаБезНДС=Формат(Сумма*100/(100+Константа.СтавкаНДС.Получить(ДатаДок)),"Ч15.2"); <br> ПечСтавкаНДС=Константа.СтавкаНДС.Получить(ДатаДок);<br> ПечНДС=Формат(Число(ПечСумма)-Число(ПечСуммаБезНДС),"Ч15.2");<br> ПечЦена=Формат(Число(ПечСуммаБезНДС)/Число(печКоличество),"Ч15.2"); <br> ПечАкцизЦена=" -- ";<br> ПечАкцизСумма=" -- ";<br><br> ИтогСумма=ИтогСумма+Число(печСумма);<br> ИтогСуммаНДС=ИтогСуммаНДС+Число(ПечНДС);<br> //ИтогбезНДС=ИтогбезНДС+Число(ПечСуммаБезНДС);<br><br><br> Таб.ВывестиСекцию("Строка");<br> // Запоминаем текущий товар<br> ПовторТовара = Товар;<br> КонецЦикла;<br><br> ПечИтогАкцизСумма=" -- ";<br> ПечИтогСумма=Формат(ИтогСумма,"Ч15.2");<br> ПечИтогСуммаНДС=Формат(ИтогСуммаНДС,"Ч15.2");<br> //ПечИтогбезНДС=Формат(ИтогбезНДС,"Ч15.2");<br><br> <br> Таб.ВывестиСекцию("Подвал");<br> <br> Таб.Опции(0, // <br>        0, // <br> 0, // <br> 0, // <br> "Счет_фактура", // <br> // ,<br> // ,<br> //<br> );<br> <br> Таб.ПараметрыСтраницы(1,,,,,,,,,1,,);<br> //Таб.Защита(Константа.ФлагЗащитыТаблиц);<br> Таб.ТолькоПросмотр(1); <br> Таб.ПараметрыСтраницы(2,,,0,0,0,0,,,);<br> Таб.Показать("Печать счета-фактуры","""");<br>КонецПроцедуры // СФ<br><br><br>##########################################################################################################################<br><br>Вызывается в Расчётной Накладной Клиента, кнопкой.<br><br>http://myphoto.nnov.ru/Qpg7h<br><br><br><br>вставить нужно сюда:<br><br>http://myphoto.nnov.ru/w3kpW"

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №6
 
10.12.2009 10:30

"Нужно изменить ПечПП (знаки восклицания я поставил для заметности, в модуле их нет :) )<br><br>т.е. это будет выглядеть примерно так:<br><br>ВвестиСтроку(<печПП>,<Ввести номер платёжного документа>,<30>,<1>,<30>);<br><br><br>Верно?"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №7
 
10.12.2009 10:30

"Так у Вас там выводится эта информация через<br><br>Если стрдлина(сокрлп(ПлПор))=0 тогда<br>печПП="№       от";<br>иначе <br>печПП=сокрлп(ПлПор);<br>конецесли;<br><br>Это значит, что в документе где-то есть поле "ПлПор", в котором прописывается инфа по платежу и потом оттуда выводится на печать."

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №8
 
10.12.2009 10:36

Точно, есть....но его тоже нужно заполнять самому....а можно как то сделать, чтобы заставитьпринудительно заполнить?

GoshaGT
читатель
офлайн
Дата регистрации: 09.12.2009
Сообщений: 56
Пост №9
 
10.12.2009 10:46

"Пока решил проблему вот так:<br><br> Если ПустоеЗначение(сокрлп(ПлПор))=1 тогда<br> Предупреждение("Введите Номер и Дату платёжно расчётного документа !");<br> Статусвозврата(0);<br> Возврат;<br> КонецЕсли;<br><br>Можно сделать, чтоб программа сама запрашивала эту информацию, при попытке печати?"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №10
 
10.12.2009 11:38

"Если реквизит "ПлПор" это просто строка, то можно так<br><br>Если ПустаяСтрока(ПлПор) = 1 тогда<br><br>СтрПлПор = """";<br><br>Если ВвестиСтроку(СтрПлПор, "Введите номер и дату платежного поручения", 50) = 1 Тогда<br><br>ПлПор = СтрПлПор;<br><br>Иначе<br><br>Возврат;<br><br>КонецЕсли;<br><br>КонецЕсли;<br><br>P.S. "СтатусВозврата(0);" в процедуре печати это лишнее...<br>"

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

Читают тему:

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