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

Автор Тема: Объясните пожалуйста !  (Прочитано 5471 раз)

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

Оффлайн вертер

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-22
  • Сайт: 
Каким образом из текущей формы обработки все данные построчно перенести в новый документ ввод остатков УПП 1с 8.2


Оффлайн вертер

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-22
  • Сайт: 
Каким образом из текущей формы обработки все данные построчно перенести в новый документ ввод остатков УПП 1с 8.2

Процедура СоздатьДокумент(Элемент)
   Для СтрокаЗап = 13 По ЭлементыФормы.Таблица.Область(1, 1).Текст  Цикл
    НаименованиеТовара=ЭлементыФормы.Таблица.Область(СтрокаЗап, 2).Текст;
   НаименованиеСумма=ЭлементыФормы.Таблица.Область(СтрокаЗап, 3).Текст;
   НаименованиеКол=ЭлементыФормы.Таблица.Область(СтрокаЗап, 4).Текст;
   Сообщить ("НаименованиеТовара");
   НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
   НовДок.Дата=ТекущаяДата();
   НовДок.Номер=УстановтьНовыйНомер();
   НовДок.Записать();
   КонецЦикла;

   КонецПроцедуры

как записать табличную часть?


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Если я правильно поняла логику кода, то должно быть примерно так:

Процедура СоздатьДокумент(Элемент)
   НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
   НовДок.Дата=ТекущаяДата();
   НовДок.Номер=УстановтьНовыйНомер();

   ТабЧасть=НовДок.ТабЧасть;
   Колво=ЭлементыФормы.Таблица.Область(1, 1).Текст;
   Для СтрокаЗап = 13 По Колво Цикл
         НаименованиеТовара=ЭлементыФормы.Таблица.Область(СтрокаЗап, 2).Текст;
         НаименованиеСумма=ЭлементыФормы.Таблица.Область(СтрокаЗап, 3).Текст;
         НаименованиеКол=ЭлементыФормы.Таблица.Область(СтрокаЗап, 4).Текст;

         НоваяСтрока=ТабЧасть.Добавить();
         НоваяСтрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеТовара,Истина);
         НоваяСТрока.Количество=Число(НаименованиеКол);
         // и т.д. по остальным нужным реквизитам таб.части
    КонецЦикла;
    НовДок.Записать();

   КонецПроцедуры
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Плюс, наверняка еще нужно заполнить какие-то реквизиты шапки документа, проверять, нашли ли в справочнике подходящую номенклатуру и т.д. Но это уже бантики.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
данные заносятся из табличного документа??!!
может проще перейти к табличному полю с ТипомЗначения ТаблицаЗначений?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
заполняете шапку и табличную часть пытаетесь проводить.
если начинается ругаться - смотрите какие реквизиты еще надо заполнить...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн вертер

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

спасибо, то что нужно.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Отлично, пожалуйста!
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн вертер

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-22
  • Сайт: 
данные заносятся из табличного документа??!!
может проще перейти к табличному полю с ТипомЗначения ТаблицаЗначений?

я еще только делаю первые шаги, возможно код избыточный, но с этого и начинается обычно работа в новой программной среде, сперва громоздко но работает, потом уже дальше, работа над качеством, спасибо за помощь, это мне да собственно и любому новичку сбережет массу времени на первое время, так же очень благодарен Кляксе. Но если что то можно сократить то буду рад это узнать, вот полный мой код

1. Из оборотки по 10 счету в бух 8.1 перевожу наименование, колическтво и сумму материалов в эксель, затем пишу обработку и переношу в таблицу этой обработки только наименования материалов, где есть остатки по сумме и затем идет этот код, что тут можно упростить???


Процедура ВыборФайла(Элемент, СтандартнаяОбработка)

// Отключение стандартной обработки
СтандартнаяОбработка = Ложь;

// Выбор файла Microsoft Excel
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ВыборФайла.Фильтр = "Документ Excel (*.xls)|*.xls";
ВыборФайла.ПроверятьСуществованиеФайла = Истина;
ВыборФайла.ПолноеИмяФайла = ИмяФайла;
Выбор = ВыборФайла.Выбрать();
Если НЕ Выбор Тогда

Возврат;

КонецЕсли;

ИмяФайла = ВыборФайла.ВыбранныеФайлы[0];

КонецПроцедуры // ВыборФайла(Элемент, СтандартнаяОбработка)

Процедура ОбработкаФайла(Элемент)

Если ПустаяСтрока(ИмяФайла) Тогда

Предупреждение("Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel.");
Возврат;

КонецЕсли;

Попытка

// Загрузка Microsoft Excel
Состояние("Загрузка Microsoft Excel...");
ExcelПриложение = Новый COMОбъект("Excel.Application");

Исключение

Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;

КонецПопытки;

Попытка

// Открытие файла Microsoft Excel
Состояние("Открытие файла Microsoft Excel...");
ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла);

// Обработка файла Microsoft Excel
Состояние("Обработка файла Microsoft Excel...");
ExcelЛист = ExcelФайл.Sheets(1);
xlCellTypeLastCell = 11;
ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
//ExcelПоследняяСтрока = 100;
       
ЭлементыФормы.Таблица.Очистить();
СтрокаЗап=10;
Для Строка = 1 По ExcelПоследняяСтрока Цикл



Состояние("строка " + Строка);

ExcelЯчейка = ExcelЛист.Cells(Строка, 2);

Если Строка < 8  Тогда
ЭлементыФормы.Таблица.Область(Строка, 2).Текст = ExcelЯчейка.Value;
Иначе
     

Если (ПустаяСтрока (ExcelЛист.Cells(Строка,7).value)) ИЛИ (ПустаяСтрока(ExcelЛист.Cells(Строка,2).value)) Тогда
    //Сообщить("Пустая ячейка: "+ Строка+ ":2");

Продолжить;
Иначе
//попалась дебетовая строка суммы

                            СтрокаЗап=СтрокаЗап+1;

ExcelЯчейка = ExcelЛист.Cells(Строка, 2);
                        ЭлементыФормы.Таблица.Область(СтрокаЗап, 2).Текст = ExcelЯчейка.Value;

ExcelЯчейка = ExcelЛист.Cells(Строка, 7);
                        ExcelЯчейкаКол = ExcelЛист.Cells(Строка+1, 7);

                         ЭлементыФормы.Таблица.Область(СтрокаЗап, 3).Текст = Формат(ExcelЯчейка.Value, "ЧЦ=12; ЧДЦ=2");
ЭлементыФормы.Таблица.Область(СтрокаЗап, 4).Текст = Формат(ExcelЯчейкаКол.Value , "ЧЦ=12; ЧДЦ=2");

КонецЕсли;

                       

КонецЕсли;



КонецЦикла;
ЭлементыФормы.Таблица.Область(1, 1).Текст= СтрокаЗап;
Исключение

Сообщить("Ошибка при открытии/чтении файла " + ИмяФайла + "." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);

КонецПопытки;

ExcelПриложение.Quit();

КонецПроцедуры // ОбработкаФайла(Элемент)

 
Процедура СоздатьДокумент(Элемент)
НовДок = Документы.ВводНачальныхОстатковМатериаловВЭксплуатации.СоздатьДокумент();
НовДок.Дата=ТекущаяДата();
ТабЧасть=НовДок.ТабЧасть;
    Колво=ЭлементыФормы.Таблица.Область(1, 1).Текст;
   Для СтрокаЗап = 13 По Колво Цикл

    НаименованиеТовара=ЭлементыФормы.Таблица.Область(СтрокаЗап, 2).Текст;
НаименованиеСумма=ЭлементыФормы.Таблица.Область(СтрокаЗап, 3).Текст;
НаименованиеКол=ЭлементыФормы.Таблица.Область(СтрокаЗап, 4).Текст;

НоваяСтрока=ТабЧасть.Добавить();
         НоваяСтрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеТовара,Истина);
         НоваяСТрока.Количество=Число(НаименованиеКол);
НоваяСТрока.Сумма=НаименованиеСумма;

  КонецЦикла;
      НовДок.Записать();

КонецПроцедуры

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Тогда, действительно, нужно делать таблицу. А что у Вас есть "Таблица" на форме?
Лучше всего разместить на форме Табличное поле, создать у него колонки (соответственно колонкам файла), прочитать весь файл, загрузив в него значения, а потом уже из таблицы создавать документ.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать


Теги:
 

Подскажите пожалуйста код проверки заполнения реквизита док или реквизита ТЧ

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

Ответов: 5
Просмотров: 968
Последний ответ 22 Июл 2016, 16:17
от Fedor_Safonchik
Здраствуйте! Помогите пожалуйста мне ! - "Очёт Валовая Прибыль"

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

Ответов: 1
Просмотров: 2057
Последний ответ 05 Июн 2014, 16:30
от ADMBD
Помогите пожалуйста сделать итог по колонке "начислено"

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

Ответов: 1
Просмотров: 2136
Последний ответ 05 Сен 2011, 10:14
от has
Перешли на 8УТ с ТИСа, работаем первую неделю. Есть много вопросов. На те, что не нашел ответы в интернете подскажите пожалуйста, опытом поделитесь))

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

Ответов: 4
Просмотров: 1190
Последний ответ 02 Ноя 2015, 12:34
от AIFrame
Всем привет, подскажите пожалуйста как загрузить в БП 3.0 стандартные справочники(например виды номенклатур), буду премного благодарен

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

Ответов: 0
Просмотров: 694
Последний ответ 21 Мар 2016, 11:37
от Demlife

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
53 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 251
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal