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

Поле табличного документа

Автор donyab, 16 янв 2012, 19:38

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

donyab

Добрый день. Столкнулся с проблемой, вроде все просто и в тоже время я чего то недогоняю))
Есть документ, на нем есть панель,на ней есть табличная часть.
Делаю обработку переноса документов из одной конфигурации в другую.
Надо в эту "табличную часть" вставить данные , но в ней есть столбец(Всего), этот столбец в данных документа-табличные части, отсутствует, и я не как не могу допетрить как получить к нему доступ при вводе новой строки

Для Каждого Строка Из Результат Цикл
         

                Поступление0 = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

                Поступление = Поступление0.ПолучитьФорму("ФормаДокумента");

                Поступление.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;

                Поступление.Дата = Строка.Дата;

                Поступление.Организация = Справочники.Организации.НайтиПоКоду("000000002");

                Поступление.Склад = Справочники.Склады.НайтиПоРеквизиту("КодРарус",Строка.СкладКод);

                Поступление.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;

                Контра = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",Строка.КонтраИНН);

                Если Строка.КонтраИНН = "" Тогда

                               Сообщить("Не найден контрагент "+Строка.Контрагент+" с ИНН "+Строка.КонтраИНН);

                Иначе

                                Поступление.Контрагент = Контра;

                 КонецЕсли;

                Поступление.ДоговорКонтрагента =  Контра.ОсновнойДоговорКонтрагента;

                //заполняем табличную часть

                Табл = Строка.Состав;

                Для Каждого    Элемент Из Табл Цикл

                               СтрТ = Поступление.Товары.Добавить();

//СтрТ.Поступление.Товары.Всего - вот тут ХЗ. говорит что "Всего" нетути такого элемента
//                               СтрТ.Поступление.Товары.Всего = Элемент.Всего;

                               СтрТ.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(Элемент.Единица.Description);

                               СтрТ.Коэффициент = Элемент.Коэффициент;

                               СтрТ.Цена = Элемент.Цена;                   

                               СтрТ.Сумма = Элемент.Сумма;

                               СтрТ.СуммаНДС = Элемент.СуммаНДС;

                               СтНДС = Элемент.СтавкаНДС.Description;
       

                Если Найти(СтНДС,"БезНДС") >0 Тогда

                               СтрТ.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;

                ИначеЕсли Найти(СтНДС,"НДС 10%") >0 Тогда

                               СтрТ.СтавкаНДС = Перечисления.СтавкиНДС.НДС10;

                ИначеЕсли Найти(СтНДС,"НДС 18%") >0 Тогда

                               СтрТ.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;

                КонецЕсли;

               

                               СтрТ.Количество = Элемент.Количество;

                               стрТ.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НайтиПоКоду("19.03");

                               //СтрТ.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(КодРарус,Элемент.Номенклатура.КодРарус);

                КонецЦикла;

                Поступление.Комментарий = "Загружено из Астора, приходная накладная № "+Строка.Номер;

                Поступление.Записать(РежимЗаписиДокумента.Запись);

КонецЦикла;

Dethmontt

Поступление.Комментарий = "Загружено из Астора, приходная накладная № "+Строка.Номер;
Поступление.Сумма = Табл.Итог("Сумма"); //Вот тебе и всего)))
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

donyab

Цитата: Dethmontt от 16 янв 2012, 22:45
Поступление.Сумма = Табл.Итог("Сумма"); //Вот тебе и всего)))
Нет, так я получу итог по столбцу "Сумма", а надо добавить строки в столбец "Всего",
(СтрТ.Поступление.Товары.Всего = Элемент.Всего;)но вся беда в том, что в табличной части "Табл", столбец всего нарисован, но в его свойствах ,данные у него неопределенны и по этому когда я обращаюсь к этой таблице(СтрТ.Всего = Var;), что бы добавить данные в столбец "всего", мне пишет "Поле объекта не обнаружено(Всего)"

не пойму как пользоваться тегом [img] , а то бы скрин вставил.

has

Цитироватьне пойму как пользоваться тегом [img] , а то бы скрин вставил.
выкладывай картинку на radikal.ru например, сюда ссылку через тег [url]
Если столбец только на форме, то в нем данные какие тогда хранятся? В БД то их не будет.

Dethmontt

Если честно меня конечно вот этот код просто убил!!!!!!!
Поступление0 = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

                Поступление = Поступление0.ПолучитьФорму("ФормаДокумента");

                Поступление.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;

                Поступление.Дата = Строка.Дата;

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Установка значений реквизитов объекта Документ через форму - ЖЕСТЬ!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

donyab

Цитата: Dethmontt от 18 янв 2012, 00:56
Установка значений реквизитов объекта Документ через форму - ЖЕСТЬ!
это так баловство, изначально было
Поступление = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Поступление.Дата = Строка.Дата;

// и т.д.


donyab


has

Колонка всего как расчитывается? Допустим при открытии формы если, то она сама пересчитает. Так что смысла ее заполнять не вижу, хотя смотря конечно что там отображается.

Теги:

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

Рейтинг@Mail.ru

Поиск