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

Автор Тема: Программное изменение реквизита СуммаВключаетНДС  (Прочитано 749 раз)

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

Оффлайн DEaD_EGOR

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-15
  • Сайт: 
  • Профессия: Программист 1С
Доброго времени суток... Господа Знатоки, помогите новичку.. Создал внешнюю обработку, которая читает эксель и полученными значениями заполняет новый докумен Реализация товаров в БП 3,0 (работаю в демо).. Всё сделал, хочу, чтоб по умолчанию стояло значение "НДС сверху".. как и где это можно прикрутить?

Код собсна ниже...

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

ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Заголовок = "Выберите файл";

Если ДиалогВыбора.Выбрать() Тогда
Объект.ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
Иначе
Возврат;
КонецЕсли;

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

&НаКлиенте
Процедура ЗагрузитьФайлНаКлиенте(мФорма)
                 
    //подключаемся к эксель
    Попытка
        Excel = Новый COMОбъект("Excel.Application");
        Книга = Excel.WorkBooks.Open(Объект.ИмяФайла);
    Исключение
        Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!");
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
       
    Попытка
        //Открываем необходимый лист
        Excel.Sheets(1).Select();  // лист 1, по умолчанию 
    Исключение
        //Закрываем Excel
        Excel.ActiveWorkbook.Close();   
        Excel = 0;
        Сообщить("Файл "+Строка(Объект.ИмяФайла)+" не соответствует необходимому формату! Первый лист не найден!");
        Возврат;
    КонецПопытки;   
                 
    //Получим количество строк и колонок.
    //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel
    Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1);
    Если Версия = "8" тогда
        ФайлСтрок   = Excel.Cells.CurrentRegion.Rows.Count;
        ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);
    Иначе
        ФайлСтрок   = Excel.Cells(1,1).SpecialCells(11).Row;
        ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column;   
    Конецесли;
     
    //считываем первую строку и генерируем колонки 
    Для НС = 2 по ФайлСтрок Цикл  // НС указываем с какой строки начинать обработку       
        НоваяСтрока = мФорма.Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = ПолучитьНоменклатуруНаСервере(Excel.Cells(НС, 2).Text);
мЧисло = СтрЗаменить(Excel.Cells(НС, 3).Text," ", "");
        НоваяСтрока.Количество = Число(мЧисло);
        НоваяСтрока.Цена = Excel.Cells(НС, 4).Text;
        Если Найти(Строка(Excel.Cells(НС, 6).Text),"10")>0 Тогда
            НоваяСтрока.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10");
        ИначеЕсли Найти(Строка(Excel.Cells(НС, 6).Text),"20")>0 Тогда
            НоваяСтрока.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20");
        ИначеЕсли Найти(Строка(Excel.Cells(НС, 6).Text),"18")>0 Тогда
            НоваяСтрока.СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18");
КонецЕсли;
КонецЦикла;   
               
     // Закрыть COM соединение для экономии памяти
     Excel.Application.Quit();
                           
 КонецПроцедуры
   
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
   
     //Создаём форму документа
     мФорма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары");                                                                     
ЗагрузитьФайлНаКлиенте(мФорма);
     мФорма.Открыть();
 
 КонецПроцедуры
 
  &НаСервере
Функция ПолучитьНоменклатуруНаСервере(Наименование)
  мНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
        Если мНоменклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда
         Возврат мНоменклатура;
      Иначе
       мНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
       мНоменклатура.Наименование = Наименование;
       мНоменклатура.Записать();
       Возврат мНоменклатура.Ссылка;
      КонецЕсли;
 
  КонецФункции
 


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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
   
     //Создаём форму документа
     мФорма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары");                                                                     
     ЗагрузитьФайлНаКлиенте(мФорма);
    мФорма.Объект.СуммаВключаетНДС = ИСТИНА;
     мФорма.Открыть();
                   
 КонецПроцедуры

возможно и по другому значение. но смысл я думаю понятен...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн DEaD_EGOR

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-15
  • Сайт: 
  • Профессия: Программист 1С
1) а разве значение не должно быть Ложь?
2) пробовал, всё равно по умолчанию стоит Документ Без НДС

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Потому что:
1. вы далеко не все реквизиты объекта заполнили.
2. пройдитесь отладчиком. Скорее всего вы сначала что-то устанавливаете, а затем типовой код, например в ПриОткрытии выполняет собственную установку.

Оффлайн DEaD_EGOR

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-15
  • Сайт: 
  • Профессия: Программист 1С
Потому что:
1. вы далеко не все реквизиты объекта заполнили.
2. пройдитесь отладчиком. Скорее всего вы сначала что-то устанавливаете, а затем типовой код, например в ПриОткрытии выполняет собственную установку.
А мне и не нужно всё заполнять. Это вообще тестовое задание. По условию, считывается и заполняется только номенклатура, количество и цена. всё остальное подтягивается из базы и справочников... Мне тут посоветовали актуализировать данные, то есть обновлять форму после заполнения по типу "Процедура УстановитьВидимостьСчетовУчета()". Как это сделать?


Теги:
 

как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

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

Ответов: 2
Просмотров: 685
Последний ответ 02 Дек 2016, 12:58
от Jalib
КД, Перенос Реквизита справочника (7.7) в ТЧ справочника 8.2.

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

Ответов: 2
Просмотров: 3124
Последний ответ 17 Сен 2014, 13:39
от Kironten
Как запретить пользователям с интерфейсом "Ввод табеля" изменение графы профессия у подобранного сотрудника в сдельном наряде и табеле учета рабочего времени

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

Ответов: 1
Просмотров: 761
Последний ответ 15 Сен 2016, 02:46
от ksander-fars
Изменение вида "выпадающего списка"

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

Ответов: 1
Просмотров: 817
Последний ответ 20 Май 2016, 13:26
от LexaK
Запрет на изменение "справочники - предприятие"

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

Ответов: 3
Просмотров: 586
Последний ответ 25 Июл 2016, 09:09
от SGIRG

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
66 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
57 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
36 Сообщений
magnifico61
22 Сообщений
BuhRust
21 Сообщений
ilnur75
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal