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

Автор Тема: Копирование с ценой  (Прочитано 4847 раз)

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

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Как при копировании номенклатуры (из Формасписка в справочнике) в качестве даты установки цен в новой номенклатуре взять наиболее
позднюю дату установки цен из копируемой номенклатуры.
(пример: у той
номенклатуры, что копируется, есть две цены - продажи(установлена
15.01.2011) и закупки(установлена 24.02.2011), текущая дата
11.05.2011... цена которая будет предлагаться при сохранении цен на
скопированную(новую) номенклатуру 24.02.2011(!) 

Процедура ДействияФормыКопировать(Кнопка)
Номенклатура = ЭлементыФормы.Список.ТекущаяСтрока;
НоменклатураКопия = Справочники.Номенклатура.СоздатьЭлемент();
НоменклатураКопия.Родитель = Номенклатура.Родитель;
НоменклатураКопия.Наименование = Номенклатура.Наименование;
    НоменклатураКопия.НаименованиеПолное = Номенклатура.НаименованиеПолное;
НоменклатураКопия.Услуга = Номенклатура.Услуга;
НоменклатураКопия.БазоваяЕдиницаИзмерения = Номенклатура.БазоваяЕдиницаИзмерения;
    НоменклатураКопия.СтавкаНДС = Номенклатура.СтавкаНДС;
НоменклатураКопия.НоменклатурнаяГруппа = Номенклатура.НоменклатурнаяГруппа;
НоменклатураКопия.НомерГТД = Номенклатура.НомерГТД;
НоменклатураКопия.СтранаПроисхождения = Номенклатура.СтранаПроисхождения;
НоменклатураКопия.СтатьяЗатрат = Номенклатура.СтатьяЗатрат;
НоменклатураКопия.Комментарий = Номенклатура.Комментарий;
НоменклатураКопия.ОсновнаяСпецификацияНоменклатуры = Номенклатура.ОсновнаяСпецификацияНоменклатуры;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Период", текущаядата());
Запрос.УстановитьПараметр("Ссылка", Номенклатура);
Запрос.Текст ="ВЫБРАТЬ
| ТипыЦенНоменклатуры.Ссылка КАК ТипЦен,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.Валюта
|ИЗ
| Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Номенклатура = &Ссылка) КАК ЦеныНоменклатурыСрезПоследних
| ПО (ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка)";
ЦеныНоменклатуры = Запрос.Выполнить().Выгрузить();
НоменклатураФорма = НоменклатураКопия.ПолучитьФорму();
НоменклатураФорма.ВладелецФормы = этаформа.ЭлементыФормы.Список;
НоменклатураФорма.Открыть();
НоменклатураКопия.БазоваяЕдиницаИзмерения = Номенклатура.БазоваяЕдиницаИзмерения;


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Хм, а так не подойдет?
ВЫБРАТЬ ПЕРВЫЕ 1
ТипыЦенНоменклатуры.Ссылка КАК ТипЦен,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Валюта,
ЦеныНоменклатурыСрезПоследних.Период КАК Период
ИЗ
Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Номенклатура = &Ссылка) КАК ЦеныНоменклатурыСрезПоследних
ПО (ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка)

УПОРЯДОЧИТЬ ПО
Период УБЫВ

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

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

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Наверное чтобы по каждому типу цены выбралась цена..
А как мне вывести.. т.е. вот с такого кода данных на вкладке цен не появилось(
да и попутный вопрос как сразу после копирования открыть доступ к вкладке цен? еще до сохранения номенклатуры?

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

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

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
	Запрос.Текст ="ВЫБРАТЬ
              | ЦеныНоменклатурыСрезПоследних.Регистратор.Дата Как Дата,
              | ЦеныНоменклатурыСрезПоследних.Регистратор.Номер,
              | ЦеныНоменклатурыСрезПоследних.Период,
              | ЦеныНоменклатурыСрезПоследних.Цена,
              | ЦеныНоменклатурыСрезПоследних.Валюта
              |ИЗ
              | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
              |ГДЕ
              | ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
ЦеныНоменклатуры = Запрос.Выполнить().Выгрузить();
датацены = ЦеныНоменклатуры.дата;
так не проходит(

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

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

Зачем вам вот эти поля?

|    ЦеныНоменклатурыСрезПоследних.Регистратор.Дата Как Дата,
|    ЦеныНоменклатурыСрезПоследних.Регистратор.Номер,

Дата последней цены - поле "Период"!

Вместо ГДЕ используйте параметры виртуальной таблицы СрезПоследних.

И если уж используете в запросе параметр - будьте добры его заполнить (Запрос.УстановитьПараметр("Номенклатура",<<Что то там>>))

К ВЫБРАТЬ добавьте ПЕРВЫЕ 1 - вам все цены не нужны.

Цену получайте не из ТЗ (Запрос.Выполнить().Выгрузить()), а просто из выборки.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
мне эти поля нужны будут чтобы заполнить строки цен
продажная
закупочная .. и ведь там должны быть указаны регистраторы

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

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

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Период", текущаядата());
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 1
              | ЦеныНоменклатурыСрезПоследних.Период КАК Период,
              | ЦеныНоменклатурыСрезПоследних.Цена,
              | ЦеныНоменклатурыСрезПоследних.Валюта
              |ИЗ
              | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
              |ГДЕ
              | ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";

ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
датацены = ВыборкаРезультатаЗапроса.Период;

Пока    ВыборкаРезультатаЗапроса.Следующий()Цикл
      Сообщить (датацены);
    конецЦикла;
даже не выводит


Теги:
 

(Копирование строк из ТЧ документа в ТЧ другого документа в Обычном приложении)

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

Ответов: 1
Просмотров: 1660
Последний ответ 25 Янв 2016, 19:01
от cska-fanat-kz
Копирование строки документа. Чтобы курсор не убегал в самый конец таблицы

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

Ответов: 1
Просмотров: 2930
Последний ответ 25 Фев 2014, 13:26
от Luzer1C
Копирование информации из одной колонки в другую при изменении флажка. Как сделать?

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

Ответов: 7
Просмотров: 239
Последний ответ 18 Окт 2017, 13:22
от unclebob
Копирование папки файлов (вместе со всеми подпапками) в 1С:Документооборот

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

Ответов: 4
Просмотров: 436
Последний ответ 10 Авг 2017, 07:41
от ijk987
Копирование данных из одного регистра сведений в другой

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

Ответов: 24
Просмотров: 15115
Последний ответ 28 Окт 2010, 00:09
от progmikon

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

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

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal