При добавлении блюда пишет: "номер не уникальный".
Если убрать проверку уникальности в Документ.КоличествоБлюдКалькуляции, то все добавляется нормально.
Рабочая дата стоит на текущий день, а блюдо пытаемся добавить на следующий день, но не получается выскакивает данная ошибка, при добавлении любого блюда.
Вот код процедуры.
Процедура ОбработкаПодбора(Парам, парКонтФормы)
Перем НовоеБлюдо, СтрокаБлюда, СтрокаНовогоБлюда;
Перем ДатаРасчета; // дата - из калькуляции
Если ТипЗначенияСтр(Парам) <> "Справочник" Тогда
ИначеЕсли Парам.Вид()="ВидыБлюд" Тогда
ИначеЕсли Парам.Вид()="ГруппыПитающихся" Тогда
ИначеЕсли Парам.Вид()="СборникРецептур" Тогда
ТиповоеБлюдо = Парам;
ДатаРасчета = ДатаДок;
// добавить новую строку в калькуляцию
// заполнить поля: количество, время приема пищи
НоваяСтрока();
Группа = парКонтФормы.Группа;
ВидБлюда = ТиповоеБлюдо.ВидБлюда;
Блюдо = ТиповоеБлюдо;
Масштаб = ТиповоеБлюдо.Масштаб;
//Количество = парКонтФормы.Количество;
Себестоимость = 0;
Примечание = ТиповоеБлюдо.Примечание;
Выход = ВЗ(парКонтФормы.Выход,ТиповоеБлюдо.Выход);
КоэффициентВыхода = глПересчетВыходаВГраммы(Выход)/глПересчетВыходаВГраммы(ТиповоеБлюдо.Выход);
Наценка = ТиповоеБлюдо.Наценка;
СтавкаНДС = ТиповоеБлюдо.СтавкаНДС;
Округление = ТиповоеБлюдо.Округление;
ПродажнаяЦена = ТиповоеБлюдо.ПродажнаяЦена.Получить(ДатаДок) * КоэффициентВыхода;
//Записать() будет позднее
// добавить новое блюдо, связать со строкой калькуляции
НовоеБлюдо = СоздатьОбъект("Документ.БлюдаКалькуляции");
НовоеБлюдо.Новый();
НовоеБлюдо.ДатаДок = ДатаДок;
НовоеБлюдо.НомерСтроки = НомерСтроки;
НовоеБлюдо.ДокументОснование = ТекущийДокумент();
НовоеБлюдо.Записать();
СтрокаКалькуляции = НовоеБлюдо.ТекущийДокумент();
// добавить документ количества
НовыйДокКоличества = СоздатьОбъект("Документ.КоличествоБлюдКалькуляции");
НовыйДокКоличества.Новый();
НовыйДокКоличества.ДатаДок = ДатаДок;
НовыйДокКоличества.ДокументОснование = ТекущийДокумент();
НовыйДокКоличества.Записать();
СтрокаКоличества = НовыйДокКоличества.ТекущийДокумент();
Записать(); //это для документа "Калькуляция"
//переписать продукты (разрешить ссылки на компоненты, подобрать нормы, цены)
СтрокаБлюда = СоздатьОбъект("Справочник.СтрокиСборникаРецептур");
СтрокаБлюда.ИспользоватьВладельца(ТиповоеБлюдо);
СтрокаБлюда.ВыбратьЭлементы();
Пока (СтрокаБлюда.ПолучитьЭлемент()=1) Цикл
Если СтрокаБлюда.ПометкаУдаления()=1 Тогда
Продолжить;
ИначеЕсли СтрокаБлюда.Номенклатура.ВидНоменклатуры=Перечисление.ВидыНоменклатуры.Блюдо Тогда
// "раскодировать" ссылку на блюдо
СписНом.УдалитьВсе();
ДобавитьКомпонент(НовоеБлюдо, СтрокаБлюда, ДатаРасчета, КоэффициентВыхода);
Иначе
ДобавитьПродукт(НовоеБлюдо, СтрокаБлюда, ДатаРасчета, "", КоэффициентВыхода);
КонецЕсли;
КонецЦикла;
НовоеБлюдо.Записать();
ПосчитатьИтогГруппы(Группа);
Если флАвтоСортировка=1 Тогда
СортироватьСписокБлюд();
КонецЕсли;
КонецЕсли;
СтатусВозврата(0);
КонецПроцедуры
Вот тот кусок с ошибкой
// добавить документ количества
НовыйДокКоличества = СоздатьОбъект("Документ.КоличествоБлюдКалькуляции");
НовыйДокКоличества.Новый();
НовыйДокКоличества.ДатаДок = ДатаДок;
НовыйДокКоличества.ДокументОснование = ТекущийДокумент();
НовыйДокКоличества.Записать();
СтрокаКоличества = НовыйДокКоличества.ТекущийДокумент();
Записать(); //это для документа "Калькуляция"