Имя: Пароль:
1C
1С v8
Проблема при движении документа "УстановкаЦенНоменклатуры" в УТ 11
0 Serglih
 
20.12.12
12:01
Доброго времени суток. Возникла проблема с движением документа "УстановкаЦенНоменклатуры" в конфигурации УТ ред. 11.0.9.9(типовая). А точнее, движение не проходит. Не делает движений по регистру сведений "ЦеныНоменклатуры". Долго разбирался сам, и привлекал знакомых, которые хоть какой то опыт конфигурирования 1С имеют. Но все, что смогли добиться общими усилиями, это обнаружить на каком месте выходит из обработки проведения. При формировании движения в процедуре "ИнициализироватьДанныеДокумента" делается запрос к табличной части документа, выбираются нужные данные и передаются в процедуру "ПодготовитьНаборЗаписейКРегистрацииДвижений". В этой процедуре стоит условие на то что Отказ=Ложь и таблица, подаваемая в движение не пуста, и тогда формирует движение. Вот проблема в том, что в результате запроса в процедуре "ИнициализироватьДанныеДокумента" выдается пустая таблица. Документ проведен, ссылки совпадают, по условиям запроса тоже все проходит. Но результат все равно пустой. Конфигурация типовая, вроде ошибок быть не должно. На любых других базах(той же конфигурации) все работает хорошо. Даже уже делал копию базы, снимал с поддержки и вручную переделывал запрос, уменьшал количество условия, но все равно результат пустой. Может кто то может помочь? Заранее благодарю.
1 Serglih
 
20.12.12
12:03
Вот код процедуры "ИнициализироватьДанныеДокумента", с запросом.

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

   Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
   Результат = Запрос.ВыполнитьПакет();

   ДополнительныеСвойства.ТаблицыДляДвижений.Вставить("ТаблицаЦеныНоменклатуры", Результат[0].Выгрузить());
2 Галахад
 
гуру
20.12.12
12:08
ТаблицаТовары.Ссылка.Статус чему равно?
3 Serglih
 
20.12.12
12:15
Согласован. А вообще, даже в настройках отключал согласование, все равно не проходит движение(все равно пустой результат запроса).
4 Галахад
 
гуру
20.12.12
12:18
Ну значит косяк в
ТаблицаТовары.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик
Неопределено, наверное.
5 Serglih
 
20.12.12
12:20
Переделывал копию базы: снимал с поддержки, открывал возможность редактирования и переделывал запрос без условий на характеристики. В настройках отключал использование характеристик. И все равно в результате пустая таблица
6 Галахад
 
гуру
20.12.12
12:30
Чудес не бывает. Какое-то из условий срабатывает.
7 Serglih
 
20.12.12
12:35
Да согласен я, но я уже неделю бьюсь с этим. Скорее всего какую то мелочь упускаю, но важную мелочь. Потому и решил тут написать. Может кто то мне укажет в чем проблема.
8 Галахад
 
гуру
20.12.12
12:39
"ВЫБРАТЬ
   |    ТаблицаТовары.Номенклатура          КАК Номенклатура,
   |    ТаблицаТовары.Характеристика        КАК Характеристика,
   |    ТаблицаТовары.Упаковка              КАК Упаковка,
   |    ТаблицаТовары.ВидЦены               КАК ВидЦены,
   |    ТаблицаТовары.Цена                  КАК Цена,
   |    ТаблицаТовары.ВидЦены.ВалютаЦены    КАК Валюта,
   |    ТаблицаТовары.Ссылка.Дата           КАК ПЕРИОД
   |ИЗ
   |    Документ.УстановкаЦенНоменклатуры.Товары КАК ТаблицаТовары
   |ГДЕ
   |    ТаблицаТовары.Ссылка = &Ссылка
   |");

Если такой запрос, что-нибудь возвращает, проблема в условиях.
9 Serglih
 
20.12.12
12:57
Спасибо большое. Зря я грешил на лыжи. Дело в моем так сказать не самом высоком уровне интеллекта. Буду теперь пытаться разбираться на счет двух других условий. Где и почему он может не удовлетворять им.
10 Serglih
 
20.12.12
12:58
Если кто сможет подсказать где и почему может не пройти буду благодарен.
11 Trucker
 
20.12.12
13:11
(10)Посмотри в документе установки цен, характеристики заполнены или нет?
12 Галахад
 
гуру
20.12.12
13:15
"ВЫБРАТЬ
   |    ТаблицаТовары.Номенклатура          КАК Номенклатура,
   |    ТаблицаТовары.ВидНоменклатуры.ИспользованиеХарактеристик КАК ИспользованиеХарактеристик
   |    ТаблицаТовары.Характеристика        КАК Характеристика,
   |    ТаблицаТовары.Упаковка              КАК Упаковка,
   |    ТаблицаТовары.ВидЦены               КАК ВидЦены,
   |    ТаблицаТовары.Цена                  КАК Цена,
   |    ТаблицаТовары.ВидЦены.ВалютаЦены    КАК Валюта,
   |    ТаблицаТовары.Ссылка.Дата           КАК ПЕРИОД
   |    ТаблицаТовары.Ссылка.Статус  КАК Статус
   |ИЗ
   |    Документ.УстановкаЦенНоменклатуры.Товары КАК ТаблицаТовары
   |ГДЕ
   |    ТаблицаТовары.Ссылка = &Ссылка
   |");

Посмотри чему равны ИспользованиеХарактеристик и Характеристика и Статус
13 Serglih
 
20.12.12
13:22
Со статусом проверил, все нормально работает. Значит все таки дело в характеристиках. Но дело в том, что характеристики не используются на данный момент в базе. В будущем возможно будут использоваться, поэтому просто вырезать этот кусок из запроса нельзя. Но сейчас у номенклатуры нет характеристик, соответственно все движения должны проходить без учета характеристик. Судя по запросу должно все проходить(либо не использовать характеристики, либо заполнены эти самые характеристики)
14 Галахад
 
гуру
20.12.12
13:24
И чему равно ИспользованиеХарактеристик ?
15 Serglih
 
20.12.12
13:30
Ищу как это посмотреть в отладке через "Вычислить выражение" точке остановки. Использование характеристик в настройках отключено, но уже хочу удостоверится. Потому как получается, что только по этой причине может не пройти условие. В характеристиках пустая строка, а значит, если использование характеристик все таки истина, то это и есть причина выхода с пустым результатом.
16 Serglih
 
20.12.12
13:38
ИспользованиеХарактеристик по какой то причине вообще не задано. То есть не определено.
17 Галахад
 
гуру
20.12.12
13:46
(16) Если не используешь, то утсанови у
ВидНоменклатуры.ИспользованиеХарактеристик = Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать
18 Serglih
 
20.12.12
13:51
Ну если в настройках стоит не использовать характеристики, то в номенклатуре и в документе нельзя ее использовать. А если включить использование, то и в номенклатуре и в документе показывает что характеристики не используются(потому что не задавались при создании). Почему тогда значение их не задано в итоге получается?
19 Галахад
 
гуру
20.12.12
13:53
(18) Подзреваю, руки кривые...
20 Djonny
 
20.12.12
13:55
(0)а ошибку выдает при проведении документа?
была подобная ситуация:
для вида номенклатуры было использование индивидуальных характеристик номенклатуры. а в настройках характеристики отключены были.
при проведении документа выдавалась ошибка: не указаны характеристики, хотя в тч документа эта колонка отсутствовала, что вводило пользователей в замешательство.
21 Serglih
 
20.12.12
13:58
Я уже тоже подозреваю. В оправдание могу лишь привести практически полное отсутствие опыта. Но нужно как то исправить проблему. Уже неделю бьюсь над вроде бы несложной задачей. В виде номенклатуры тоже не стоит галочка использовать характеристики.
Еще, не думаю что это влияет, но все же: база была перенесена в пустую из ТиС 7.7 с помощью стандартных средств.
22 Serglih
 
20.12.12
13:59
(20) Нет, не выдает. Проводится нормально, но не делает движений по регистрам.
23 Галахад
 
гуру
20.12.12
14:00
(21) У тебя
ВидНоменклатуры.ИспользованиеХарактеристик = Неопределено
А должно быть как в (17)
24 Serglih
 
20.12.12
14:02
(23) Где это установить? При отключенных характеристиках в настройках, везде убираются упоминания о них.
25 Djonny
 
20.12.12
14:15
у номенклатуры есть в карточке реквизит: вид номенклатуры. вот как раз у него и включаются характеристики для номенклатуры.
посмотри что у вида установлено. Должно быть значение: не используется.
26 Serglih
 
20.12.12
14:18
(25) У вида не используется. Но когда в режиме отладки смотрю, там показывает, что значение не задано(не определено).
27 Djonny
 
20.12.12
14:34
(26)попробуй перевыбрать этот вид у номенклатуры.
28 Serglih
 
20.12.12
14:37
(27) Да там один вид всего. Ладно попробую.
29 Serglih
 
20.12.12
14:56
Спасибо всем кто отвечал. Буду пробовать решить. Теперь хоть более менее ясно в чем дело.