Имя: Пароль:
1C
1С v8
УПП как реализовать проверку были ли движения по номенклатуре?
0 Shur1cIT
 
24.05.13
09:27
Хочу запретить менять галочки "учет по сериям, характеристикам" если номенклатура присутствует в проведённых документах (по типу как в договоре запрет), но критерии отбора по номенклатуре нет похелпите какие варианты реализации? была мысля остатки смотреть на рабочею дату, но товар мог быть и раньше а потом закончиться, оборот смотреть от начала базы думаю не кошерно и долго.
1 drcrasher
 
24.05.13
09:29
а по аналогии с договором сделать - не?
2 drcrasher
 
24.05.13
09:29
ну или поиск ссылок
3 Shur1cIT
 
24.05.13
09:33
(1) критерии отбора по номенклатуре нет, договора есть там через критерии отбора реализовано
(2) а поиск ссылок програмно это как? по моему это цикл совсем по всем элементам или я не прав?
4 dk
 
24.05.13
09:45
поиск ссылок еще некошернее, чем оборот от начала базы
5 ДенисЧ
 
24.05.13
09:48
добавь критерий...
6 palpetrovich
 
24.05.13
09:53
(4) а чем плохо НайтиПоСсылкам?
7 ДенисЧ
 
24.05.13
09:54
(6) а ты запусти и посмотри на скорость...
8 palpetrovich
 
24.05.13
09:56
(7) ща
(0) кста, можно пометить на удаление и попытаться удалить ;)
9 dk
 
24.05.13
09:58
(8) дык запустится этот же механизм поиска ссылок
10 azernot
 
24.05.13
09:59
Запрос.Текст = "";

   Для Каждого РегистрНакопления Из Метаданные.РегистрыНакопления Цикл
       Для Каждого РеквизитРегистра Из РегистрНакопления.Измерения Цикл
           Если РеквизитРегистра.Тип.СодержитТип(Тип("СправочникСсылка.Номенклатура") Тогда
               Если Запрос.Текст <> "" Тогда
                   Запрос.Текст = Запрос.Текст + "
                   |ОБЪЕДИНИТЬ ВСЕ
                   |";
               КонецЕсли;
               Запрос.Текст = Запрос.Текст + "
               |ВЫБРАТЬ ПЕРВЫЕ 1
               |    РегистрНакопления."+РегистрНакопления.Имя+"."+РеквизитРегистра.Имя+" КАК Номенклатура
               |ГДЕ
               |    "+РеквизитРегистра.Имя+" = &ТекущийВладелец
               |";
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
   
   СуществуютСсылки = НЕ Запрос.Выполнить().Пустой();
11 palpetrovich
 
24.05.13
10:04
(7) та да, не сильно быстро

Процедура КнопкаВыполнитьНажатие(Кнопка)
   Нач = ТекущаяДата();
   СписокСсылок = НОВЫЙ Массив;
   СписокСсылок.Добавить(УдаляемыйТовар);
   ТабСсылок = НайтиПоСсылкам(СписокСсылок);
   Для Каждого Ссылка из ТабСсылок Цикл
       Сообщить ("" + СокрЛП(Ссылка[0]) + " " + СокрЛП(Ссылка[1]));
   КонецЦикла;
   Всего =  ТекущаяДата() - Нач;
   Сообщить("Искали " + Всего);
КонецПроцедуры

//Микроволновая печь WHIRLPOOL MT 744 РегистрСведенийКлючЗаписи.СоответствиеОбъектовДляОбмена
//Искали 20
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс