Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Анатолий Ясень
Статус: 6-й класс
Рейтинг: 109
∙ повысить рейтинг >>
Chesnochkov Vitaliy Viktorovich
Статус: 3-й класс
Рейтинг: 27
∙ повысить рейтинг >>
Владимир Лазурко
Статус: Практикант
Рейтинг: 15
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 959
от 21.02.2009, 10:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 402, Экспертов: 35
В номере:Вопросов: 1, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 160589: <font color="red"><u><b>Как передать значение в форму открытого документа</b></u></font> <b>Здравструйте!</b>Такая проблема. Создана обработка для считывания штрих кода с платежного поручения.Считанный штрих код попадает в нужные графы в платеж...


Вопрос № 160.589
Как передать значение в форму открытого документа
Здравструйте!Такая проблема.
Создана обработка для считывания штрих кода с платежного поручения.Считанный штрих код попадает в нужные графы в платежке.Все вроде хорошо...
НО допустим открыли обработку,считали штрих код,штрих код попал в нужные поля в платежке...НО я передумала сохранять документ,а документ как на зло все равно сохраняется не зависимо от того какую кнопку нажал на платежном поручении(Да/Нет). Если без сканера заполняешь Да/Нет норм работает.Как только со сканером считаешь сразу что Да,что Нет документ по любому сохраняется...Может надо что-то дописать в обработке или в платежке на случай если передумал документ сохранять.

Приложение:

Отправлен: 16.02.2009, 09:24
Вопрос задала: Yla (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: AlexK407
Здравствуйте, Шилова Юлия Валерьевна!

Если выполнили Док.Записать() то документ уже записан, еще до открытия формы.

Выход - передавайте строку "СтрокаИдент" в качестве параметра при открытии формы:
ОткрытьФормуМодально(Док.ТекущийДокумент(),СтрокаИдент,0);
После этого в модуле формы в процедуре ПриОткрытии() анализируйте значение Форма.Параметр и заполняйте документ переданными значениями.
Ответ отправил: AlexK407 (статус: 2-й класс)
Ответ отправлен: 16.02.2009, 09:33

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243729 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Владимир Лазурко
    Здравствуйте, Yla!

    В Вашей процедуре документ создается, заполняется, потом записывается и показывается форма.
    На первый взгляд я вижу, что перед записью документа нужно задать вопрос о сохранении:
    Код:
    Если Вопрос("Сохранить новый документ? ("+Док+")", "Да+Нет")
    = "Да" Тогда
    Док.Сохранить();
    КонецЕсли;

    Но вообще-то этот вопрос лучше задавать ДО создания документа - тогда экономятся системные ресурсы и не делается ненужная запись в БД. Как это сделать - вопросом или по кнопке определите сами. В моем Приложении Ваша процедура разбита на две - распознавание штрих-кода и запись документа.

    Я предлагаю такую схему:
    1. Обработка распознает штрих-код.
    2. Выводит все переменные (мо жно текстовыми метками, можно опереатором Сообщить() и т.д., хоть в таблицу - здесь на Ваше усмотрение).
    3. Пользователь кнопочкой "Сформировать документ" по желанию формирует и записывает документ.

    Успехов!
    С уважением, Владимир.

    Приложение:

    Ответ отправил: Владимир Лазурко (статус: Практикант)
    Ответ отправлен: 16.02.2009, 15:08

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243773 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Шахрайчук Владимир Анатольевич
    Здравствуйте, Yla!
    Вариант1 - документ без табличной части
    Вырезка из моей работающей базы:
    Процедура орлорлорп()
    Конт="";
    ОткрытьФорму("Документ.ПлатежноеПоручение3",Конт)Открыли форму нового документа, но не записали его.
    Форма открылась, заполняем поля:
    Конт.СтатусСоставителяПлДок="03";
    КонецПроцедуры
    Вариант 2 - документ с табличной частью
    Подготавливаем данные табличной части
    ТЗ=СодатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("ТМЦ","Справочник.Номенклатура");
    ТЗ.НоваяСтрока();
    ТЗ.ТМЦ=Мопгро;
    Подготавливаем данные документа
    Сп=СоздатьОбъект("СписокЗначений");
    Сп.Установить("Сигнатура","ВованМолодецКакойКодПридумал");
    Сп.Установить("СтатусСоставителяПлДок","03");
    Сп.Установить("Данные",ТЗ);
    ОткрытьФорму("Документ.ПлатежноеПоручение3",Сп)Открыли форму нового документа, но не записали е го, и передали ему данные.
    КонецПроцедуры
    Теперь внутри документа нужно, используя данные, построить документ
    Процедура ВводНового()
    Сп=Форма.Параметр;
    Если ТипЗначенияСтр(Сп)="СписокЗначений" Тогда
    Если Сп.Получить("Сигнатура")="ВованМолодецКакойКодПридумал" Тогда
    СтатусСоставителяПлДок=Сп.Получить("СтатусСоставителяПлДок");Шапка
    ТЗ=Сп.Получить("Данные");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 Цикл
    НоваяСтрока();Табличная часть
    ТМЦ=ТЗ.ТМЦ
    Документ сформирован и показан на экране, но записан будет только по интерактивному нажатию кнопки ОК (с записью в журнале регистрации)
    Если мой ответ Вам помог, то поблагодарите меня, пожалуйста.
    Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Специалист)
    Ответ отправлен: 16.02.2009, 20:12

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243804 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное