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

Автор Тема: перенос номенклатуры из 1С Аптека в УПП  (Прочитано 8115 раз)

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

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
1С 8 УПП

Написал обработку, которая переносит номенклатуры, через com-соединение из 1С Аптека в УПП. Нужно переносить не все номенклатуры, а только те которые используются в аптеке, поэтому выгрузка идёт не из справочника "Номенклатура", а из регистра накопления "Остатки товаров компании". Проблема заключается в том, что нужно перенести поле "Ставка НДС", в УПП они хранятся в перечислениях "Ставки НДС", а в 1С Аптека - в справочнике "Ставки НДС", не могку понять как это сделать. Привожу пример кода, который уже написан, осталось решить только эту проблемму. Помогите пожалуйста.

Процедура КнопкаВыполнитьНажатие(Кнопка) 
Если НЕ Соединение() Тогда
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(ДатаКон) Тогда
Сообщить("Заполните поле конечная дата!");
Возврат;
КонецЕсли;
Если ДатаКон < ДатаНач Тогда
Сообщить("Конечная дата меньше начальной!");
Возврат;
КонецЕсли;

видНом = справочники.видыноменклатуры.НайтиПоКоду("000000001");
Родитель = Справочники.Номенклатура.НайтиПоКоду("ЦБД00004394");
ЗапросА=м_Соединение.NewObject("Запрос");
ТекстЗапроса="ВЫБРАТЬ РАЗЛИЧНЫЕ
|  ОстаткиТоваровКомпанииОбороты.Номенклатура КАК Номенклатура
|ИЗ
|  РегистрНакопления.ОстаткиТоваровКомпании.Обороты(&ДатаНач, &ДатаКон, Период, ) КАК ОстаткиТоваровКомпанииОбороты";
ЗапросА.Текст=ТекстЗапроса;
ЗапросА.УстановитьПараметр("ДатаНач", ДатаНач);
ЗапросА.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
РезультатА=ЗапросА.Выполнить();




Если РезультатА.Пустой() Тогда
Возврат;
КонецЕсли;

Запрос=Новый Запрос();
ТекстЗапроса="ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Объект
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Свойство.Наименование = &Наименование
| И ЗначенияСвойствОбъектов.Значение = &Значение
| И ЗначенияСвойствОбъектов.Объект ССЫЛКА Справочник.Номенклатура";
Запрос.Текст=ТекстЗапроса;
Запрос.УстановитьПараметр("Наименование", "ObjectUA");
Свойство_ObjectUA=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("ЦБД00000011");

ТекстЗапроса="ВЫБРАТЬ
| ЕдиницыИзмерения.Ссылка КАК ЕдиницаИзмерения
|ИЗ
| Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
|ГДЕ
| ЕдиницыИзмерения.Владелец = &Владелец";
ЗапросА_ЕИ=м_Соединение.NewObject("Запрос");
ЗапросА_ЕИ.Текст=ТекстЗапроса;


ВыборкаА=РезультатА.Выбрать();
Пока ВыборкаА.Следующий() Цикл
НоменклатураА=ВыборкаА.Номенклатура;
ObjectUA=м_Соединение.String(НоменклатураА.УникальныйИдентификатор());
Запрос.УстановитьПараметр("Значение", ObjectUA);
Если НЕ Запрос.Выполнить().Пустой() Тогда
Продолжить;
КонецЕсли;

НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НоваяНоменклатура.Наименование = НоменклатураА.Наименование;
НоваяНоменклатура.Артикул = НоменклатураА.Артикул;
НоваяНоменклатура.Родитель = Родитель;
НоваяНоменклатура.НоменклатурнаяГруппа = НоменклатурнаяГруппа;
НоваяНоменклатура.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(НоменклатураА.БазоваяЕдиницаИзмерения.Код);
НоваяНоменклатура.НаименованиеПолное= НоменклатураА.НаименованиеПолное;
НоваяНоменклатура.ВидНоменклатуры = видНом;
НоваяНоменклатура.Записать();

Запись=РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Запись.Объект=НоваяНоменклатура.Ссылка;
Запись.Свойство=Свойство_ObjectUA;
Запись.Значение=ObjectUA;
Запись.Записать();

ОснЕИ=Неопределено;
ЗапросА_ЕИ.УстановитьПараметр("Владелец", НоменклатураА);
РезультатА_ЕИ=ЗапросА_ЕИ.Выполнить();
Если НЕ РезультатА_ЕИ.Пустой() Тогда
ВыборкаА_ЕИ=РезультатА_ЕИ.Выбрать();  
Пока ВыборкаА_ЕИ.Следующий() Цикл
ЕдИзмА_ЕИ = ВыборкаА_ЕИ.ЕдиницаИзмерения;
НоваяЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НоваяЕдИзм.Владелец=НоваяНоменклатура.Ссылка;
НоваяЕдИзм.Наименование=ЕдИзмА_ЕИ.Наименование;
НоваяЕдИзм.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(ЕдИзмА_ЕИ.ЕдиницаПоКлассификатору.Код);
НоваяЕдИзм.Коэффициент=ЕдИзмА_ЕИ.Коэффициент;
НоваяЕдИзм.Вес=ЕдИзмА_ЕИ.Вес;
НоваяЕдИзм.Записать();
Если НоменклатураА.ОсновнаяЕдиницаИзмерения.Код=ЕдИзмА_ЕИ.Код Тогда
ОснЕИ=НоваяЕдИзм.Ссылка;
КонецЕсли;
КонецЦикла;
КонецЕсли;

Если ОснЕИ<>Неопределено Тогда
НоваяНоменклатура.ЕдиницаХраненияОстатков=ОснЕИ;
НоваяНоменклатура.ЕдиницаДляОтчетов=ОснЕИ;
НоваяНоменклатура.ЕдиницаИзмеренияМест=ОснЕИ;
НоваяНоменклатура.Записать();
КонецЕсли;

///////////////////////
Прервать; //ОТЛАДКА
КонецЦикла;

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



Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
судя по описанию,ставки в справочнике должны быть одеентичны по наименованию,,,,ищи по нему,,,,
либо коды забей жестко....

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
Идентичны тем, которые в УПП?

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
Честно говоря, даже не представляю как это сделать, если можно напишите код пожалуйста!

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
Ну вот как так? такой запрос написать и не знать как искать элемент по наименованию!!!

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
Дописал ещё вот что, но всё равно не получается.

	ТекстЗапроса="ВЫБРАТЬ
| СтавкиНДС.Наименование КАК СтавкаНДС
|ИЗ
| Справочник.СтавкиНДС КАК СтавкиНДС";
ЗапросА_СтавкаНДС=м_Соединение.NewObject("Запрос");
ЗапросА_СтавкаНДС.Текст=ТекстЗапроса;


РезультатА_СтавкаНДС=ЗапросА_СтавкаНДС.Выполнить();
        Если НЕ РезультатА_СтавкаНДС.Пустой() Тогда
ВыборкаА_СтавкаНДС=РезультатА_СтавкаНДС.Выбрать();
Пока ВыборкаА_СтавкаНДС.Следующий() Цикл
СтавкаНДС = ВыборкаА_СтавкаНДС.СтавкаНДС;
Если СтавкаНДС = "НДС 0%" Тогда
Сообщить("Ставка НДС = 0");
НоваяНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС0;
Иначе
Сообщить("Без НДС");
НоваяНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
КонецЕсли;
КонецЦикла;
КонецЕсли;


Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
дя...усе,правильно,,,а запрос не пустой???? com соединение разве поддерживает запросы к справочникам?

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
Да, потдерживает. До этого делал запрос к справочнику Единицы измерения

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
а сообщает ??? из кода
Если СтавкаНДС = "НДС 0%" Тогда
               Сообщить("Ставка НДС = 0");

Оффлайн bannov

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-03-16
  • Сайт: 
Сообщает, но не подставляет


Теги:
 

"фильтрация" номенклатуры

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

Ответов: 12
Просмотров: 12830
Последний ответ 11 Мар 2014, 16:09
от mashencev_anton
Номенклатуры типов "расход" и "услуга. Как использовать?

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

Ответов: 0
Просмотров: 3924
Последний ответ 29 Июн 2011, 21:11
от joyer
Как в реализации товаров и услуг во вкладке товары добавить столбец производитель (FA) в управление торговлей 11.1 1с предприятие? оно отсутствует в номенклатуре доступной при нажатии кнопки добавить как войти в настройки номенклатуры?

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

Ответов: 0
Просмотров: 806
Последний ответ 25 Янв 2019, 10:07
от сергей123
Перенос товаров из д-та "Поступление Т и У" в "Отчет о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 6969
Последний ответ 01 Июн 2011, 16:31
от Eugeneer
Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

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

Ответов: 4
Просмотров: 9783
Последний ответ 06 Дек 2014, 17:40
от дфтын

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
77 Сообщений
Дмитрий Джей Дмитрий Джей
30 Сообщений
oooo800
29 Сообщений
IL2016
29 Сообщений
LexaK
25 Сообщений
antoneus antoneus
25 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
alexandr_ll
14 Сообщений
мадам брошкина
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal