Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
29 Май 2017, 16:24
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Заполнение реквизитов документа при проведении другого  (Прочитано 3904 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dirijabl

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-03
  • Сайт: 
Доброго времени суток. Комплексная автоматизация 1.1, в документе Заявка на расходование средств на форму добавлен реквизит ОтметкаОплаты, необходимо при создании на основании и последующем проведении Платежного поручения исходящего устанавливать значение этого реквизита - Истина и поменять значения реквизита Состояние на Закрыт. В модуле Платежного поручения исходящего пишу:
Процедура ОбработкаПроведения(Отказ, Режим)
Запрос = Новый Запрос;
   Запрос.Текст =
     "ВЫБРАТЬ
     |   ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка КАК Ссылка
     |ИЗ
     |   РегистрНакопления.ДенежныеСредстваКСписанию.ОстаткиИОбороты КАК ДенежныеСредстваКСписаниюОстаткиИОбороты
     |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеИсходящееРасшифровкаПлатежа
     |      ПО ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка = ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка
     |ГДЕ
     |   ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка ССЫЛКА Документ.ПлатежноеПоручениеИсходящее
     |   И ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.ДокументОснование.Ссылка ССЫЛКА Документ.ЗаявкаНаРасходованиеСредств
     |   И ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка = &Документ";
    Запрос.УстановитьПараметр("Документ",ЭтотОбъект.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();
    Выборка.Заявка.ОтметкаОплаты=Истина;
    Выборка.Заявка.Состояние=Перечисления.СостоянияОбъектов.Закрыт;
КонецПроцедуры

Получаю ошибку: Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПлатежноеПоручениеИсходящее.МодульОбъекта(2392)}: Значение не является значением объектного типа (ОтметкаОплаты)

Подскажите, пожалуйста, как правильно.


Оффлайн TerverVl

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 7
  • КПД: 21%
  • Регистрация: 2015-12-28
  • Сайт: 
  • Профессия: Программист 1С
1. В запросе выбирается единственное поле "ссылка" ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка КАК Ссылка,
откуда в выборке появляется поле "Заявка".
2. Для изменения докумета в 1С нужно работать типом ДокументОбъект, тогда как в запросе получен тип ДокументСсылка.
т.е. от полученной ссылки получаешь объект и уже далее с ним работаешь:
Заявка = Выборка.Ссылка.ПолучитьОбъект();
Заявка.ОтметкаОплаты = Истина;
Заявка.Состояние= Перечисления.СостоянияОбъектов.Закрыт;
Заявка.Записать();

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
устанавливать значение этого реквизита

Вот с этого и начинаются проблемы. Это грубейшая ошибка и логики и методологии. НЕЛЬЗЯ в модуле проведения документа менять реквизиты самого документа-объекта.
Создавайте РС и пишите в него все ваши статусы, а на форму документа выводите значение из этого РС.

Оффлайн Dirijabl

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-03
  • Сайт: 
Надеюсь, правильно вас понимаю. Создаю РС Вспомогательный, непериодический, подчинен регистратору. В нем ресурсы - отметкавыплаты и состояние. Движения в регистр пишет документ Заявка на расходование средств. В модуле проведения Платежного поручения пишу:

Запрос = Новый Запрос;
   Запрос.Текст =
     "ВЫБРАТЬ
     |   Вспомогательный.Состояние,
     |   Вспомогательный.ОтметкаОплаты,
     |   Вспомогательный.Регистратор КАК Ссылка,
     |   ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка
     |ИЗ
     |   РегистрСведений.Вспомогательный КАК Вспомогательный
     |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКСписанию.ОстаткиИОбороты КАК ДенежныеСредстваКСписаниюОстаткиИОбороты
     |      ПО Вспомогательный.Регистратор.Ссылка = ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.ДокументОснование.Ссылка
     |ГДЕ
     |   ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка ССЫЛКА Документ.ПлатежноеПоручениеИсходящее
     |   И ДенежныеСредстваКСписаниюОстаткиИОбороты.ДокументСписания.Ссылка = &Документ";
    Запрос.УстановитьПараметр("Документ",ЭтотОбъект.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    НаборЗаписей = РегистрыСведений.Вспомогательный.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Ссылка);
    НаборЗаписей.Прочитать();
    Для Каждого Запись Из НаборЗаписей Цикл
    Запись.ОтметкаОплаты=Истина;
    Запись.Состояние=Перечисления.СостоянияОбъектов.Закрыт;
     КонецЦикла;

Ничего не происходит. Совсем не то?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Общую идею уловили правильно, а запрос безобразный. и соединения неправильные и параметры в запросе устанавливаются не те.

Оффлайн Dirijabl

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-03
  • Сайт: 
Подскажите пожалуйста, как исправить!

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Или мне кажется или на основании заявки делается ПП, а у вас судя по коду все с точностью до наоборот.

Оффлайн Dirijabl

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-03
  • Сайт: 
Это в запросе? Вроде все правильно выводит...

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
ОК. где метод Записать() набора РС?

Оффлайн Dirijabl

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-03
  • Сайт: 
Это видимо после цикал  НаборЗаписей.Записать(Истина);
Появляется ошибка {Документ.ПлатежноеПоручениеИсходящее.МодульОбъекта(2396)}: Ошибка при вызове метода контекста (Записать)

по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Вспомогательный)


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4046
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7008
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

Автор yunovoРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4046
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 6702
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

Автор MKozzlikРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 6690
Последний ответ 03 Фев 2012, 17:27
от Dinah

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
85 Сообщений
wise wise
65 Сообщений
MuI_I_Ika MuI_I_Ika
51 Сообщений
alex0402
50 Сообщений
Dethmontt Dethmontt
49 Сообщений
Сергей Федоров Сергей Федоров
32 Сообщений
ilyay ilyay
30 Сообщений
ilnur75
25 Сообщений
Дмитрий Медведков Дмитрий Медведков
19 Сообщений
DmitriyF DmitriyF
17 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal