Изменения вида операции документа Реализации
Здравствуйте, такой вопрос, как можно поменять вид операции документа?
&НаСервере
Процедура ИзменитьРеализациюНаСервере()
ВыборкаДокументы = Документы.РеализацияТоваровУслуг.Выбрать(Объект.НачПериода,Объект.КонПериода);
Пока ВыборкаДокументы.Следующий() Цикл
ДокОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("10000000078");
ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокОбъект.Записать();
КонецЦикла;
КонецПроцедуры
По остановке смотрю значение меняется, но при открытии самого документа, вид операции все так же общий остается
&НаСервере
Процедура ИзменитьРеализациюНаСервере()
ВыборкаДокументы = Документы.РеализацияТоваровУслуг.Выбрать(Объект.НачПериода,Объект.КонПериода);
Пока ВыборкаДокументы.Следующий() Цикл
ДокОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("10000000078");
ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокОбъект.Записать();
КонецЦикла;
КонецПроцедуры
По остановке смотрю значение меняется, но при открытии самого документа, вид операции все так же общий остается
Прикрепленные файлы:
По теме из базы знаний
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Перенос документов из УНФ в Бухгалтерию 3.0
- Открытие формы документа Реализация товаров и услуг без выбора вида операции
- Выгрузка документа "Передача товаров" с видом операции "Передача на комиссию" из УТ 11.5 в БП 3
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
а зачем выборка, а потом поиск по номеру, вы какой из документов хотите изменить по выборке или который найден по номеру?
если по номеру, то
вполне возможно, после записи вы просто не в том документе проверяете изменения
если по номеру, то
ДокОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("10000000078");
ДокОбъект = ДокОбъект.ПолучитьОбъект();
вполне возможно, после записи вы просто не в том документе проверяете изменения
(5) Да все верно, выборка выбирала только те что с видом операции услуги, немного код изменила
Но теперь метод цикла не видит
Метод объекта не обнаружен (Следующий)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(229)}: Пока ВыборкаДокументы.Следующий() Цикл
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(243)}: ИзменитьРеализациюНаСервере();
Процедура ИзменитьРеализациюНаСервере()
ВыборкаДокументы = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("ВидОперации", Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия);
Пока ВыборкаДокументы.Следующий() Цикл
ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокОбъект.Записать();
Сообщить(ДокОбъект.ВерсияДанных);
КонецЦикла;
ПоказатьНо теперь метод цикла не видит
Метод объекта не обнаружен (Следующий)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(229)}: Пока ВыборкаДокументы.Следующий() Цикл
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(243)}: ИзменитьРеализациюНаСервере();
(7) Хорошо, попробую, можете подсказать как правильно будет его сформулировать?
Потому что пока не особо понимаю
Потому что пока не особо понимаю
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
| РеализацияТоваровУслуг.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.ВидОперации = &ВидОперации
| И РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслуг.Ссылка";
Запрос.УстановитьПараметр("ВидОперации", Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия);
Запрос.УстановитьПараметр("Ссылка", Документы.РеализацияТоваровУслуг);
ВыборкаДокументы = Запрос.Выполнить().Выбрать();
Пока ВыборкаДокументы.Следующий() Цикл
ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокОбъект.Записать();
КонецЦикла;
Показать
(8) в целом вы все правильно записали
это строка лишняя, если вы не хотите делать отбор по конкретному документу
также если необходимо можно добавить условия на период
это строка лишняя, если вы не хотите делать отбор по конкретному документу
И РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслуг.Ссылка
также если необходимо можно добавить условия на период
И РеализацияТоваровУслуг.Дата Между &ПериодНачало и &ПериодОкончания
(9) Да все верно, но добавила это условие, потому что появляется такая ошибка
Метод объекта не обнаружен (ПолучитьОбъект)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(244)}: ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(255)}: ИзменитьРеализациюНаСервере();
Метод объекта не обнаружен (ПолучитьОбъект)
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(244)}: ДокОбъект = ВыборкаДокументы.ПолучитьОбъект();
{ВнешняяОбработка.СоздатьДокументыАВРнаОснованииРеализации.Форма.Форма.Форма(255)}: ИзменитьРеализациюНаСервере();
(10) просто нужно так обращаться к ссылке в цикле выборки
Ссылка в данном случае будет иметь имя то, которое вы дадите в запросе, советую почитать различную документацию по составлению запросов, упростит работу в будущем
ВыборкаДокументы.Ссылка.ПолучитьОбъект();
Ссылка в данном случае будет иметь имя то, которое вы дадите в запросе, советую почитать различную документацию по составлению запросов, упростит работу в будущем
(12)
ваш вариант верный, вы получаете объект документа, меняете те значения которые необходимы и записываете документ
ваш вариант верный, вы получаете объект документа, меняете те значения которые необходимы и записываете документ
ДокОбъект = ВыборкаДокументы.Ссылка.ПолучитьОбъект();
ДокОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокОбъект.Записать();
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот