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

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

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

Оффлайн Dirijabl

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

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

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


Оффлайн TerverVl

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

Оффлайн vitasw

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

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

Оффлайн Dirijabl

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

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

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

Оффлайн vitasw

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

Оффлайн Dirijabl

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

Оффлайн vitasw

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

Оффлайн Dirijabl

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

Оффлайн vitasw

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

Оффлайн Dirijabl

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
alex0402
52 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
43 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal