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

Помогите с заполнением табличной части

Автор drapik, 29 июн 2012, 17:01

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

drapik

Помогите пожалуйста, я не программист, а очень надо:
Суть проблемы: при выгрузке из УТ в БП в бухгалтерию передаются документы реализации, в которых в товаре указывается ставка НДС, но так же в бухгалтерии есть столбец под названием субконто (в нашем случае туда должны проставляться номенклатурные группы, которые у нас называются товар с НДС 10, товар с НДС 18 и товар без НДС). Вот, при выгрузке это поле остается пустым и потом месяц не закрывается, приходится групповой обработкой делать каждый месяц, хотелось бы упростить это при помощи внешней обработки заполнения табличных частей, чтобы при нажатии кнопки "заполнить субконто" в зависимости от ставки НДС Номенклатуры присваивалось субконто номенклатурной группы, т.е. примерно так: Товар с о ставкой НДС 10%, значит при нажатии кнопки заполнялось субконто"10%" и.т.д. Пытался при помощи "Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт", но выборку сделать не могу. Пожалуйста помогите. Вроде такая легкотня,но не по мне

1Cnastroika

Если в документе на закладке данные есть табличная часть с именем "Товары", то строки табличной части обходят так:

Для Каждого Товар Из Товары Цикл

КонецЦикла;

LexaK

а зачем так сложно, писать какие-то обработки? подправьте обмен данными, что бы он сразу в БП писал то что надо!
если помогло нажмите: Спасибо!

drapik

Цитата: 1Cnastroika от 29 июн 2012, 18:28
Если в документе на закладке данные есть табличная часть с именем "Товары", то строки табличной части обходят так:

Для Каждого Товар Из Товары Цикл

А что в теле самого цикла писать? В этом-то и вся проблема
КонецЦикла;

drapik

Ребят, ну очень надо, помогите пожалуйста

1Cnastroika

Сначала во внешней обработке нужно выбрать документы и сделать обход выборки:

Выборка = Документы.Реализация.Выбрать(НачДата, КонДата);

Пока Выборка.Следующий() Цикл
   ДокОбъект = Выборка.ПолучитьОбъект();
   // Обход табличной части
   

КонецЦикла;

1Cnastroika

Выборка = Документы.Реализация.Выбрать(НачДата, КонДата);

Пока Выборка.Следующий() Цикл
   ДокОбъект = Выборка.ПолучитьОбъект();
   // Обход табличной части
   Для Каждого Товар Из ДокОбъект.Товары Цикл
        Если Товар.СтавкаНДС = Справочники.СтавкиНДС.НайтиПоНаименованию("10%") Тогда
              Товар.Субконто = // Субконто 10%
       Иначе Если Товар.СтавкаНДС = Справочники.СтавкиНДС.НайтиПоНаименованию("20%") Тогда
              Товар.Субконто = // Субконто 10%
       КонецЕсли;
   КонецЦикла;
  ДокОбъект.Записать();

КонецЦикла;

Приблизительно так.

drapik

Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
   Для Каждого Товар Из Объект.Товары Цикл
        Если Товар.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
             Товар.Субконто = "Без НДС";
           КонецЕсли;
   КонецЦикла;
КонецПроцедуры


Вот так не заполняется, что я делаю не так?

drapik

Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
   Для Каждого Товар Из Объект.Товары Цикл
    Если Товар.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
        Товар.Субконто = "Товар без НДС"
   ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
      Товар.Субконто = "Товар с НДС 10%"
   ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
        Товар.Субконто = "Товар с НДС 18%"
   КонецЕсли   
   КонецЦикла;
КонецПроцедуры


Вот полный код, только не заполняется

drapik

Все получилось, сделал вот так:

Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
Для Каждого Товар Из Объект.Товары Цикл
      Если Товар.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
        Товар.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Товар без НДС")
   ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
      Товар.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Товар с НДС 10%")
   ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
        Товар.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Товар с НДС 18%")
   КонецЕсли   
КонецЦикла;
КонецПроцедуры

Всем огромное спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск