Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:46

Создание внешней обработки реализации товара на основании оприходования в типовой БП 3.0

Автор SnakeSolid, 31 авг 2017, 16:26

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

SnakeSolid

Цитата: Kironten от 31 авг 2017, 18:19
А если так?
ФормаДок = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая");

А вот так прокатило :) Еще раз спасибо.
Дальше становится веселее :D

{ВнешняяОбработка.СозданиеРеализации.Форма.Форма.Форма(38)}: Ошибка при установке значения атрибута контекста (Товары)
   НовыйОбъект.Товары = Основание.Товары;
по причине:
Нельзя изменять поле, содержащее объект данных формы

Что я не так написал?

Kironten

Ну как и написано в описании ошибки - нельзя изменять данные формы.
Изменять надо данные объекта.
В общем этот код который был изначально писался еще под старую версию бп 3.0, когда форма объекта была по умолчанию формой документа, в версии БП 3.0.51.21 это уже не так.
Надо менять это дело, поищите код поновее.
Щас разбираться не особо хочется, а вот домой хочется очень.

SnakeSolid

Цитата: Kironten от 31 авг 2017, 18:32
Ну как и написано в описании ошибки - нельзя изменять данные формы.
Изменять надо данные объекта.
В общем этот код который был изначально писался еще под старую версию бп 3.0, когда форма объекта была по умолчанию формой документа, в версии БП 3.0.51.21 это уже не так.
Надо менять это дело, поищите код поновее.
Щас разбираться не особо хочется, а вот домой хочется очень.

В общем, спасибо Kironten-у , документ создается и мне удалось перенести те столбцы, которые однотипные в документах Реализации и Оприходования.


Но проблема осталась в трех данных, которые есть в Реализации, но которых нет в Оприходовании - СуммаНДС, Всего и АналитикаУчета.

Код такой сейчас у меня:

&НаСервере
Процедура СоздатьНовыйДокумент(Элемент, НовыйОбъект)

    Основание = Элемент.Ссылка;

   НовыйОбъект.Дата = Дата(Основание.Дата);
   НовыйОбъект.СуммаВключаетНДС = Ложь;
   
   Для каждого СтрокаТЧ из Основание.Товары Цикл
      
      НоваяСтрока = НовыйОбъект.Товары.Добавить();
      НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура;
      НоваяСтрока.Количество = СтрокаТЧ.Количество;
      НоваяСтрока.Цена = СтрокаТЧ.Цена;
      НоваяСтрока.Сумма = СтрокаТЧ.Сумма;
      НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
      
      //НоваяСтрока.Всего = ;
      
      НоваяСтрока.СуммаНДС = ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуНДСТабЧасти(НоваяСтрока.СуммаНДС, НовыйОбъект.СуммаВключаетНДС);
      
      //НоваяСтрока.АналитикаУчета = ;
      
   КонецЦикла;
КонецПроцедуры

Подскажите пожалуйста, что не так делаю теперь? Как сделать, чтобы оставшиеся три реквизита тоже создавались? В стандартном документе Реализации эти три реквизита автоматически формируются, когда подхватываем номенклатуру и ставим количество товара.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск