Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Помогите переделать код

Помогите переделать код
Я
   Lecowi
 
14.05.19 - 11:36
Не дает удалять созданный комплект, и постоянно пишет полное совпадение.

Процедура ПередЗаписью(Отказ)
    ПроверкаЗаписи=Проверка();    
    Если ПроверкаЗаписи=1 тогда
        Отказ = Истина;
        Сообщить("Нельзя сформировать комплект нельзя");
    КонецЕсли;
КонецПроцедуры

Функция Проверка()
    Выборка = Справочники.Партии.Выбрать();
    Пока Выборка.Следующий() цикл
        Флаг=0;
        Флаг1=0;
        Для каждого стр из Выборка.ЭлементыПартии цикл
            флаг1=флаг1+1;
            колстрокВТЧ=0;
            Для каждого ТекующаяСТРТЧ из ЭтотОбъект.ЭлементыПартии цикл
                колстрокВТЧ=колстрокВТЧ+1;
                Если СокрЛП(стр.Номенклатура) = СокрЛП(ТекующаяСТРТЧ.Номенклатура) тогда
                    флаг=флаг+1;
                    Если стр.Количество = ТекующаяСТРТЧ.Количество тогда
                        флаг = флаг + 1;
                    Иначе
                        флаг= флаг-1;
                    КонецЕсли;
                Иначе
                    флаг= флаг-1;
                КонецЕсли;
                Если флаг1=флаг и  флаг1=колстрокВТЧ тогда
                    Сообщить("Полное совпадение комплектов "+Выборка.Ссылка);
                    Возврат 1;
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
КонецФункции;
 
 
   1Сергей
 
1 - 14.05.19 - 11:42
Для начала дайте переменным флаг и флаг1 более осмысленные названия
   Cyberhawk
 
2 - 14.05.19 - 11:46
Сколько платят?
   zvial
 
3 - 14.05.19 - 11:46
Философский код...
Сообщить("Нельзя сформировать комплект нельзя");

А вообще, почему не сделать это запросом?
   1Сергей
 
4 - 14.05.19 - 11:58
(3) ты стелепатил что ему нужно?
   catena
 
5 - 14.05.19 - 12:04
(4)Запрет сохранения при полном совпадении с уже существующим элементом)) Очевидно же))
   spiller26
 
6 - 14.05.19 - 12:04
(0) Кто так пишет функции?
   hhhh
 
7 - 14.05.19 - 12:07
(3) Текующая это тоже слово с двойным смыслом.
   1Сергей
 
8 - 14.05.19 - 12:09
(5) там про удаление написано
   catena
 
9 - 14.05.19 - 12:11
(8)При разговоре с девушкой нужно читать между строк.
   1Сергей
 
10 - 14.05.19 - 12:13
(9) чорд. думал это парень
   1Сергей
 
11 - 14.05.19 - 12:18
(3) >>Сообщить("Нельзя сформировать комплект нельзя");

Интересно, что куда во фразу ни вставь запятую, смысл не меняется
   Lecowi
 
12 - 14.05.19 - 12:24
Будет что-нибудь адекватное?
   1Сергей
 
13 - 14.05.19 - 12:25
(12) не даёт удалять или не даёт создавать?
   Lecowi
 
14 - 14.05.19 - 12:28
не дает удалять
   hhhh
 
15 - 14.05.19 - 12:30
(12) ну может там действительно есть полное совпадение. Вы ведь проверяете весь справочник партии, там может миллионы партий. Хотя бы одна да совпадет.
   Lecowi
 
16 - 14.05.19 - 12:31
Так я и создала специально справочник, в котором будет полное совпадение
   sqr4
 
17 - 14.05.19 - 12:32
Ну наверное сначало надо фото.
А затем исключить операцию удаления из проверки?
   hhhh
 
18 - 14.05.19 - 12:35
(16) ну вот, оно и происходит. Оно и должно писать "Полное совпадение комплектов", у вас и пишет.
   1Сергей
 
19 - 14.05.19 - 12:35
На самом деле надо исключить сравнение с самим собой
   Lecowi
 
20 - 14.05.19 - 12:38
Я не знаю как сделать исключение
   1Сергей
 
21 - 14.05.19 - 12:39
Если Выборка.Ссылка = ЭтотОбъект.Ссылка Тогда
    Продолжить;
КонецЕсли;
   1Сергей
 
22 - 14.05.19 - 12:40
Если у тебя ЭтотОбъект партия, конечно
   sqr4
 
23 - 14.05.19 - 12:41
(20) начни с фото)
   Вася Теркин
 
24 - 14.05.19 - 12:42
(11) Тебе же сказали - логика женская. а ты опять. Тупой упертый мужик.
   Ёпрст
 
25 - 14.05.19 - 12:56
(0) Нужно при записи элемента справочника Партии проверить, что уже есть элемент справочника партия с таким же составом в табличной части ЭлементыПартии, так ?
   hhhh
 
26 - 14.05.19 - 12:58
(24) ТС вообще мужик. Написано - пол мужской.
   1Сергей
 
27 - 14.05.19 - 12:59
(26) Читай между строк :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.