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

Автор Тема: Как получить цену на товар, если на складе его нет (но в 1с он есть)  (Прочитано 1291 раз)

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

Оффлайн mobius07

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Невозможное возможно
  • Регистрация: 2014-10-29
  • Компания: Компания "Хотэй"
  • Профессия: Ученик 1С
Здравствуйте, не можете подсказать с кодом!

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыгрузить(Кнопка)

Если ПустаяСтрока(ИмяФайлаВыгрузки) Тогда
Предупреждение("Не указано имя файла выгрузки!");
Возврат;
КонецЕсли;

Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда
Предупреждение("Не указан тип цен!");
Возврат;
КонецЕсли;

ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТипФайла(КодировкаТекста.ANSI);

ТекстЗапроса =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Ссылка,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество,
| ЦеныНоменклатурыСрезПоследних.Цена
|ПОМЕСТИТЬ ОстаткиЦены
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура,
| ЕСТЬNULL(ОстаткиЦены.Количество, 0) КАК Количество,
| ЕСТЬNULL(ОстаткиЦены.Цена, 0) КАК Цена
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиЦены КАК ОстаткиЦены
| ПО Номенклатура.Ссылка = ОстаткиЦены.Ссылка
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа
| [УСЛОВИЕ_ГРУППА]";

Если ЗначениеЗаполнено(ГруппаНоменклатуры) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"[УСЛОВИЕ_ГРУППА]","И Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)");
КонецЕсли;

ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"[УСЛОВИЕ_ГРУППА]","");

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ТипЦен",ТипЦен);
Запрос.УстановитьПараметр("ГруппаНоменклатуры",ГруппаНоменклатуры);

Данные = Запрос.Выполнить().Выгрузить();

Для Каждого ТекСтрока Из Данные Цикл

ОбработкаПрерыванияПользователя();

Текст = СокрЛП(ТекСтрока.Номенклатура.Код)+";"+СокрЛП(ТекСтрока.Номенклатура.Наименование)+";"+Формат(ТекСтрока.Цена,"ЧРД=,; ЧРГ=; ЧН=0; ЧГ=")+";"+Формат(ТекСтрока.Количество,"ЧРД=,; ЧРГ=; ЧН=0; ЧГ=");
ТекстовыйДокумент.ДобавитьСтроку(Текст);

Состояние("Выгружено "+СокрЛП(Данные.Индекс(ТекСтрока))+" из "+СокрЛП(Данные.Количество()));

КонецЦикла;

ТекстовыйДокумент.Записать(ИмяФайлаВыгрузки);

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

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

СтандартнаяОбработка = Ложь;

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
Диалог.ПолноеИмяФайла = ИмяФайлаВыгрузки;
Диалог.Расширение = "txt";
Диалог.Фильтр = "Текстовый файл (*.txt)|*.txt";
Если Диалог.Выбрать() Тогда
ИмяФайлаВыгрузки = Диалог.ПолноеИмяФайла;
КонецЕсли;

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

Процедура ПриОткрытии()

ИмяФайлаВыгрузки = ВосстановитьЗначение("ВыгрузкаНоменклатуры_ИмяФайлаВыгрузки");
ТипЦен = ВосстановитьЗначение("ВыгрузкаНоменклатуры_ТипЦен");

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

Процедура ПриЗакрытии()

СохранитьЗначение("ВыгрузкаНоменклатуры_ИмяФайлаВыгрузки",ИмяФайлаВыгрузки);
СохранитьЗначение("ВыгрузкаНоменклатуры_ТипЦен",ТипЦен);

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


Создается файл для выгрузки на сайт - наименование товара, цена, количество. Если на складе нет товара, то в файл записывается 0-количество и 0-цена, хотя цены все есть (отличные от нуля). Не подскажите как сделать чтобы даже если на складе нет товара (но в базе он конечно есть), чтобы и на него в файл записывалась цена, а не ноль как в этом коде!


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

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

Оффлайн mobius07

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Невозможное возможно
  • Регистрация: 2014-10-29
  • Компания: Компания "Хотэй"
  • Профессия: Ученик 1С
Спасибо!
Добавлено: 29 Окт 2014, 11:41

А как-нибудь можно реализовать это в этом коде?

Последний раз редактировалось: mobius07; 29 Окт 2014, 11:41. Причина: Объединение сообщений

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

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

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

Оффлайн mobius07

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Невозможное возможно
  • Регистрация: 2014-10-29
  • Компания: Компания "Хотэй"
  • Профессия: Ученик 1С
Спасибо! Просто я 1с начал неделю назад заниматься :)

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

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


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal