Вход | Регистрация



контроль табличной части при проведении

контроль табличной части при проведении
Я
   falselight
 
26.10.16 - 06:44
При проведении документа нужно исключать из тч строки типа
Номенклатура 1 Сумма 10
Номенклатура 1 Сумма 10
Строки же типа
Номенклатура 1 Сумма 10
Номенклатура 1 Сумма 15
Считаются нормальными. Как это лучше сделать?
 
 
   falselight
 
1 - 26.10.16 - 06:49
При проведении выдается сообщение, - "Запись с такими ключевыми полями уже существует".
При вводе
Номенклатура 1 Сумма 11
Номенклатура 1 Сумма 22

где что не так задано?
   falselight
 
2 - 26.10.16 - 06:50
Я думал что можно будет вводить
Номенклатура 1 Сумма любая

а он не дает, как это изменить?
   Mauser
 
3 - 26.10.16 - 06:58
(0) добавь в сумму первой строки рубль, а из суммы второй строки вычти
это контроль такой специальный
   Рэйв
 
4 - 26.10.16 - 07:00
(0)>>Запись с такими ключевыми полями уже существует

Это смотря в ккой РС пишет и какие у тебя там измерения
   falselight
 
5 - 26.10.16 - 07:07
(3) не понял о чем вы
(4) регистр был непериодический, устранил это сделав ему периодичность в пределах секунды.

Остается сделать контроль (0)
   Рэйв
 
6 - 26.10.16 - 07:09
(5)А что учитывает регистр?
   falselight
 
7 - 26.10.16 - 07:10
Хотя нет, все равно (1) ошибка есть.
(4) Регистр периодический, в пределах одной секунды. Подчинен регистратору. Измерения:
Сотрудник    Справочник.Сотрудники, Справочник.Профессии
Номенклатура Справочник.Номенклатура
   falselight
 
8 - 26.10.16 - 07:11
(6) Регистр учитывает данные одноименного документа.
В него заносятся данные табличной части документа + значение реквизита из шапки документа.
   falselight
 
9 - 26.10.16 - 07:12
так делаю движения:

    Движения.ПределыНачислений.Записывать = Истина;
    Для Каждого ТекСтрокаПределы Из Пределы Цикл
        Движение                 = Движения.ПределыНачислений.Добавить();
        Движение.Период         = ТекущаяДата(); 
        Движение.Сотрудник         = РаботникПрофессия;
        Движение.Номенклатура   = ТекСтрокаПределы.Номенклатура;
        Движение.СтатусДействия = ТекСтрокаПределы.СтатусДействия;
        Движение.Сумма             = ТекСтрокаПределы.Сумма;
        Движение.Показатель     = ТекСтрокаПределы.Показатель;
    КонецЦикла;
   falselight
 
10 - 26.10.16 - 07:16
То есть никаким образом не позволяется ввести запись в регистр с повторяющимися измерениями???? А если нужно ввести c одинаковыми измерениями в одном документе но с разными суммами, как это сделать?
 
 Рекламное место пустует
   Adilgeriy
 
11 - 26.10.16 - 07:21
никак исходя из твоих условий. что должен делать твой регистр?
   catena
 
12 - 26.10.16 - 07:47
(10)Суммировать и записывать одной строкой?
   falselight
 
13 - 26.10.16 - 08:12
(11,10) В него должны по всей видимости помещаться данные из документа.
В строке регистра данные табличной части документа + значение реквизита из шапки документа.
При этом, должны исключаться записи, -
Номенклатура 1 Сумма 10 
Номенклатура 1 Сумма 10 
и позволяться вводиться записи типа
Номенклатура 1 Сумма 10 
Номенклатура 1 Сумма 15

Но вижу что записи с одинаковой номенклатурой вообще нельзя ввести на уровне платформы. Так же как и более одной записи с пустым значением номенклатуры.
   falselight
 
14 - 26.10.16 - 08:13
(13) (11 ,10) -> (11, 12)
   Lexey_
 
15 - 26.10.16 - 08:17
(10) "То есть никаким образом не позволяется ввести запись в регистр с повторяющимися измерениями???" Ливингстар открывает для себя регистры сведений. Если что, в этом суть регистра сведений
   catena
 
16 - 26.10.16 - 08:29
(13)А если тебе удастся записать одинаковую номенклатуру/сотрудника, что ты потом с ними собираешься делать?
   falselight
 
17 - 26.10.16 - 09:15
(15) мне поставили задание специалисты
начал делать, задаю вопросы, мне говорят 
что то я много вопросов задаю!!!!!!!!!!!
Я привык что тз ставят специалисты и там нет воды.
Воспринимаю его буквально. По этому такие несуразности!!!!
Не знаю почему такие тз!!!!!! Где написано делать то чего
в принципе платформа не даст!
   Lexey_
 
18 - 26.10.16 - 09:33
(16) (16) сейчас выпишем ему костыли и проверим.
(13) добавь измерение регистра с типом УникальныйИдентификатор и заполняй его, тогда сможешь вводить одинаковые значения остальных измерений
(17) делай)
   catena
 
19 - 26.10.16 - 09:43
(17)Ну, мы исходного ТЗ не видим же, чтобы судить о твоих специалистах. Только твои попытки записать дубль в регистр.

А ты не будь глупым дятлом, ты сперва подумай. Чтобы делать качественно, нужно разбираться в теме в целом. В зависимости от того, как этот регистр будет ПОТОМ использоваться, будут разные решения СЕЙЧАС.
   Serg_1960
 
20 - 26.10.16 - 09:48
(17) Тебе поставили задачу, в которой нужно записать строки табличной части в регистр. Это банальное задание. Специалист не задаёт лишних вопросов специалистам - он просто реализует уникальность записей по измерениям регистра перед записью. Считай, что это бонус "по умолчанию" к заданию :)

PS: запиши ТЧ в ТЗ, сверни по измерениям регистра и выгрузи.
   falselight
 
21 - 26.10.16 - 10:20
(19) так вот понимание и приходит со временем
что тз отстой!!!!!
(20) Ок, вот в результате таких дискуссий и приходят возможные решения!
   falselight
 
22 - 26.10.16 - 10:23
(20) Мне было сказано что вот это нельзя
Номенклатура 1 Сумма 10 
Номенклатура 1 Сумма 10 
а это можно
Номенклатура 1 Сумма 10 
Номенклатура 1 Сумма 15 

получается если свернуться записи
Номенклатура 1 Сумма 10 
Номенклатура 1 Сумма 10
то это будет ошибкой ввода!!!! Нужно не давать проводить документ, если в тч есть такие записи, подобные, с одинаковой суммой.
   Рэйв
 
23 - 26.10.16 - 10:55
&НаСервере

тБуфер=Объект.ТабЧасть.Выгрузить(,"Номенклатура,Сумма");
тБуфер.Колонки.Добавить("Кол");
тБуфер.ЗаполнитьЗначения(1,"Кол");

тБуфер.Свернуть("Номенклатура,Сумма","Кол");
Для Каждого Стр Из тБуфер цикл
    Если Стр.Кол>1 Тогда
        Сообщить("Все в сад, товарищи!");
        Прервать;
    КонецЕсли;

КонецЦикла;
   falselight
 
24 - 26.10.16 - 12:33
(23) супер!!!
   piter3
 
25 - 26.10.16 - 12:34
(23) А сообщать кому &НаСервере
   falselight
 
26 - 26.10.16 - 12:34
(24+) Продуманно! И хорошо спроектированно!!!
   falselight
 
27 - 26.10.16 - 12:34
(25) ну сообщить выведется и все
   piter3
 
28 - 26.10.16 - 12:35
(27):))))
   Рэйв
 
29 - 26.10.16 - 12:36
(25)(28)пользоватлю:-). В последних версиях доступно на сервере.Так что зря смеешься
   Рэйв
 
30 - 26.10.16 - 12:38
(26)Да это практически стандартный финт ушами:-) Тоже мне проектирование
   piter3
 
31 - 26.10.16 - 12:44
(29) СообщениеПользователю ?
   Рэйв
 
32 - 26.10.16 - 12:53
   VladZ
 
33 - 26.10.16 - 12:57
(2) Давай ТЗ полностью.
 
 
   falselight
 
34 - 26.10.16 - 13:16
(33) да от куда оно, общие формулировки.
(25) ну а если для сообщить вызывать процедуру на клиенте?
   falselight
 
35 - 26.10.16 - 13:47
(23) на сервере так же Объект не доступен метод


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