Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 19:14

Необходимо затать реквизиты справочникам "Склады"

Автор slitov, 20 фев 2015, 17:00

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

slitov

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

Запрос.УстановитьПараметр("null", null);

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

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

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


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

Запрос.УстановитьПараметр("NULL", NULL);

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

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

Для каждого Объект1 из ВыборкаДетальныеЗаписи Цикл         
Объект1=ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Объект1.ТипСклада="Розничный магазин";
Объект1.ТипЦенРозничнойТорговли="Основная цена продажи";
Объект1.записать();


КонецЦикла;

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


Обработка ничего не меняет... Может есть тут умный человек, который не пошлет лесом а поможет :nhsrm:
Готов попробовать все варианты )))
Уже начал видео уроки заново просматривать, чтоб вспомнить как правильно написать код :D

LexaK


    Объект1.ТипСклада="Розничный магазин";
    Объект1.ТипЦенРозничнойТорговли="Основная цена продажи";


скорее всего
ТипСклада - перечисление
ТипЦенРозничнойТорговли - справочник

поэтому надо писать ПРИМЕРНО так


    ...
    Объект1.ТипСклада = Перечисления.ТипыСкладов.РозничныйМагазин;
    Объект1.ТипЦенРозничнойТорговли = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду
("0003");
    ...



а что за странная конструкция?

    ...
    |ГДЕ
    |    Склады.ТипСклада = &NULL";
    ...
    Запрос.УстановитьПараметр("NULL", NULL);


во первых так не пишут, (нужно использовать " |  КакоетоПоле Есть Null " )
во вторых в справочнике вы ничего по такому условию не найдете!!!
если помогло нажмите: Спасибо!

cska-fanat-kz

Цитата: slitov от 20 фев 2015, 17:00Обработка ничего не меняет...

как она вообще не ругнулась на
Объект1=ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();

а у вас в запросе только поля "Наименование" и "ТипСклада"

запрос должен быть как минимум такой
ВЫБРАТЬ
Склады.Ссылка
ИЗ
Справочник.Склады КАК Склады

ну плюс какие нибудь отборы, но это уже по желанию...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

slitov

Цитата: LexaK от 20 фев 2015, 17:27

    Объект1.ТипСклада="Розничный магазин";
    Объект1.ТипЦенРозничнойТорговли="Основная цена продажи";


скорее всего
ТипСклада - перечисление
ТипЦенРозничнойТорговли - справочник

поэтому надо писать ПРИМЕРНО так


    ...
    Объект1.ТипСклада = Перечисления.ТипыСкладов.РозничныйМагазин;
    Объект1.ТипЦенРозничнойТорговли = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду
("0003");
    ...



а что за странная конструкция?

    ...
    |ГДЕ
    |    Склады.ТипСклада = &NULL";
    ...
    Запрос.УстановитьПараметр("NULL", NULL);


во первых так не пишут, (нужно использовать " |  КакоетоПоле Есть Null " )
во вторых в справочнике вы ничего по такому условию не найдете!!!

Ну мне нужно задать всем складам у которых нет типа "Розничный магазин" и основную плановую цену.
Добавлено: 24 фев 2015, 17:01


Цитата: LexaK от 20 фев 2015, 17:27


во первых так не пишут, (нужно использовать " |  КакоетоПоле Есть Null " )
во вторых в справочнике вы ничего по такому условию не найдете!!!
[/quote]

Вот так запрос сделал:
[code]
ВЫБРАТЬ
| Склады.Ссылка,
| Склады.Наименование,
| Склады.ТипСклада,
| Склады.ТипЦенРозничнойТорговли
|ИЗ
| Справочник.Склады КАК Склады
|ГДЕ
| Склады.Наименование <> &ЕстьNull
| И Склады.ТипСклада = &ЕстьNull

Ничего не нашел, если сделать запрос:

ВЫБРАТЬ
Склады.Ссылка,
Склады.Наименование,
Склады.ТипСклада,
Склады.ТипЦенРозничнойТорговли
ИЗ
Справочник.Склады КАК Склады
ГДЕ
Склады.Наименование <> ""
И Склады.ТипСклада = &Null


То выдает список нужных мне складов.
Добавлено: 24 фев 2015, 17:23


Запрос поменял, лыжи всеравно не едут... HELP!:(

&НаКлиенте
Процедура Команда1()
ИзменитьНаСервере();

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

&НаСервере

Процедура ИзменитьНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Склады.Ссылка,
| Склады.Наименование,
| Склады.ТипСклада,
| Склады.ТипЦенРозничнойТорговли
|ИЗ
| Справочник.Склады КАК Склады
|ГДЕ
| Склады.Наименование <> ""
| И Склады.ТипСклада = &Null";


Запрос.УстановитьПараметр("NULL", NULL);

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

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СкладИЗМ = ВыборкаДетальныеЗаписи.ПолучитьОбъект();
СкладИЗМ.ТипЦенРозничнойТорговли = "Основная плановая цена";
СкладИЗМ.ТипЦенРозничнойТорговли= "Розничный магазин";
СкладИЗМ.записать();


КонецЦикла;

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



cska-fanat-kz

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

slitov

Цитата: cska-fanat-kz от 25 фев 2015, 05:45
учите сперва матчасть по книжкам!
вы же абсолютно не понимаете, что вы пишете!

Спасибо за помощь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск