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

Автор Тема: Изменение записей через запрос.  (Прочитано 8455 раз)

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

Оффлайн Silent_Assassin

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-18
  • Сайт: 
  • Профессия: Ученик 1С
Нужно переименовать в справочнике номенклатура реквезит наименование в каждой записи.
&НаКлиенте
Процедура ИзменитьНаименование(Команда)
Ссылка = ИзменитьНаименованиеСервер ();
Сообщить (Строка(Ссылка));

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


&НаСервере
Функция ИзменитьНаименованиеСервер()
Запрос= Новый запрос (
           "ВЫБРАТЬ
               | Номенклатура.Наименование
               |ИЗ
               | Справочник.Номенклатура КАК Номенклатура" );
   

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элемент.Наименование = Справочники.Номенклатура.Наименование.ПолучитьОбъект();
Элемент.Наименование= "Хомяк";
Элемент.Записать() 
    КонецЦикла;




КонецФункции
   
Пишет переменная не определеня, не пойму где косяк.


Оффлайн Vit1501

  • ****
  • Сообщений: 360
  • РЕПУТАЦИЯ: 60
  • КПД: 17%
  • Регистрация: 2010-06-05
  • Сайт: 
  • Профессия: Программист 1С
замени строку
Элемент.Наименование = Справочники.Номенклатура.Наименование.ПолучитьОбъект();
на
Элемент = Справочники.Номенклатура.Наименование.ПолучитьОбъект();

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Так я думаю, будет все же правильнее

&НаСервере
Функция ИзменитьНаименованиеСервер()
    Запрос= Новый запрос (
           "ВЫБРАТЬ
               |    Номенклатура.Ссылка
               |ИЗ
               |    Справочник.Номенклатура КАК Номенклатура" );
               
   
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элемент = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Элемент.Наименование= "Хомяк";
Элемент.Записать() 
    КонецЦикла;

Оффлайн Silent_Assassin

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-18
  • Сайт: 
  • Профессия: Ученик 1С
&НаКлиенте
Процедура ИзменитьНаименование(Команда)
Ссылка = ИзменитьНаименованиеСервер ();
КонецПроцедуры


&НаСервере
Функция ИзменитьНаименованиеСервер()
    Запрос= Новый запрос (
           "ВЫБРАТЬ
               |    Номенклатура.Ссылка
               |ИЗ
               |    Справочник.Номенклатура КАК Номенклатура" );
               
   
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элемент = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Элемент.Наименование= "Хомяк";
Элемент.Записать() 
КонецЦикла;

КонецФункции
Работает !!!!
Теперь вопрос как проверить уникальность наименования?

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
&НаКлиенте
Процедура ИзменитьНаименование(Команда)
Ссылка = ИзменитьНаименованиеСервер ();
КонецПроцедуры


&НаСервере
Функция ИзменитьНаименованиеСервер()
    Запрос= Новый запрос (
           "ВЫБРАТЬ
               |    Номенклатура.Ссылка
               |ИЗ
               |    Справочник.Номенклатура КАК Номенклатура" );
               
   
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элемент = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Элемент.Наименование= "Хомяк";
Элемент.Записать() 
КонецЦикла;

КонецФункции
Работает !!!!
Теперь вопрос как проверить уникальность наименования?

Вопрос должен состоять из 2-ух пунтков:
Как и для чего.

Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"
создаете выборку из Справочник.Номенклатура, можно запросом, можно объектно, и в цикле сравниваете наименование с проверяемым именем, а там если есть совпадение, или если нету, делайте что душа пожелает

Оффлайн Silent_Assassin

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-18
  • Сайт: 
  • Профессия: Ученик 1С


Вопрос должен состоять из 2-ух пунтков:
Как и для чего.

Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"
Нужно сделать кнопочку для проверки уникальности наименования. Чтобы проверять уникальность уже имеющихся элементов.
Добавлено: 25 Июн 2013, 21:05

Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"
создаете выборку из Справочник.Номенклатура, можно запросом, можно объектно, и в цикле сравниваете наименование с проверяемым именем, а там если есть совпадение, или если нету, делайте что душа пожелает
Нужно чтобы не было совпадений вообще а не только с проверяемым именем.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С


Вопрос должен состоять из 2-ух пунтков:
Как и для чего.

Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"
Нужно сделать кнопочку для проверки уникальности наименования. Чтобы проверять уникальность уже имеющихся элементов.
Добавлено: 25 Июн 2013, 21:05

Т.е.  "Как проверить уникальность наименования для того, чтобы сделать с ним АбраКадабра"
создаете выборку из Справочник.Номенклатура, можно запросом, можно объектно, и в цикле сравниваете наименование с проверяемым именем, а там если есть совпадение, или если нету, делайте что душа пожелает
Нужно чтобы не было совпадений вообще а не только с проверяемым именем.

Уникальность задается кодом, а не именем! Даже Ссылкой, т.к id, ну набери Ссылка.УникальныйИндетификатор()
А чтобы проверить, быстрее всего:
1) сделать группировку по наименованию.
2) в выч поля занести ссылку, указав, колличество разливных
3) селать отбор, если ссылка > 1

В результате будут все номенклатуры, с плохими именнами. Избавиться вот так просто не получится.

Оффлайн Silent_Assassin

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-18
  • Сайт: 
  • Профессия: Ученик 1С
Уникальность задается кодом, а не именем! Даже Ссылкой, т.к id, ну набери Ссылка.УникальныйИндетификатор()
А чтобы проверить, быстрее всего:
1) сделать группировку по наименованию.
2) в выч поля занести ссылку, указав, колличество разливных
3) селать отбор, если ссылка > 1

В результате будут все номенклатуры, с плохими именнами. Избавиться вот так просто не получится.
Немного не так выразился мне нужно уникальность только Наименования.

Вот Что пока получилось:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОбработкаКоманды();

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

&НаСервере
Процедура ОбработкаКомандыСервер(Отказ)
 
   Если ЭтоНовый() Тогда
       Запрос = Новый Запрос("ВЫБРАТЬ
                             | Номенклатура.Наименование
                             |ИЗ
                             | Справочник.Номенклатура КАК Номенклатура");

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

Блин опять проблемка пишет процедура или функция с таким именем не определена.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Уникальность задается кодом, а не именем! Даже Ссылкой, т.к id, ну набери Ссылка.УникальныйИндетификатор()
А чтобы проверить, быстрее всего:
1) сделать группировку по наименованию.
2) в выч поля занести ссылку, указав, колличество разливных
3) селать отбор, если ссылка > 1

В результате будут все номенклатуры, с плохими именнами. Избавиться вот так просто не получится.
Немного не так выразился мне нужно уникальность только Наименования.

Вот Что пока получилось:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОбработкаКоманды();

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

&НаСервере
Процедура ОбработкаКомандыСервер(Отказ)
 
   Если ЭтоНовый() Тогда
       Запрос = Новый Запрос("ВЫБРАТЬ
                             | Номенклатура.Наименование
                             |ИЗ
                             | Справочник.Номенклатура КАК Номенклатура");

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

Блин опять проблемка пишет процедура или функция с таким именем не определена.

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОбработкаКоманды();   
   
КонецПроцедуры

&НаСервере
Процедура ОбработкаКомандыСервер(Отказ)
 
   Если ЭтоНовый() Тогда
       Запрос = Новый Запрос("ВЫБРАТЬ
                             |    Номенклатура.Наименование
                             |ИЗ
                             |    Справочник.Номенклатура КАК Номенклатура");
                             
        Наименование =0;                     
       Запрос.УстановитьПараметр("Наименование",Наименование);
       Результат = Запрос.Выполнить().Выбрать;
       Пока Результат.Следующий() Тогда
           //тут будет перебираться все номенклатура, что хочем сделать, делаем, но я не знаю зачем, лучше уж группировкой в запросе )
       КонецЦикла;
   КонецЕсли;
 
КонецПроцедуры   
Мыло агент - apuhtin-serega@bk.ru А то я так до утра будем код писать )


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 9361
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

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

Ответов: 2
Просмотров: 2999
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

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

Ответов: 1
Просмотров: 985
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

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

Ответов: 0
Просмотров: 689
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
Как объединить объект в реквизите формы с типом "ДокументОбъект" и объект формы, созданной через "ПолучитьФорму()"?

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

Ответов: 3
Просмотров: 245
Последний ответ 06 Авг 2017, 21:22
от alex0402

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal