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

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

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
Просмотров: 812
Последний ответ 02 Дек 2016, 12:58
от Jalib
КД, Перенос Реквизита справочника (7.7) в ТЧ справочника 8.2.

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
93 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
64 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
41 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal